一、团队产品介绍
1、CowNewSQL
由于种种原因,各个数据库系统的SQL语句语法以及支持的函数都不尽相同,这造成了如下两个问题:(1)系统在多个不同
数据库之间移植变得非常困难,特别是需要维护多个数据库版本的时候;(2)开发人员必须对各种数据库的语法差异非常了解,这加大了开发难度。
目前解决这种差异的最常用的
技术就是SQL语句翻译,使用SQL翻译器可以将SQL语句翻译为在不同的数据库中支持的特定平台的SQL语句。CowNewSQL就是这样一款产品。
CowNewSQL简化了跨数据库产品的开发,比如取当前日期在MSSQL中是"SELECT GETDATE()",在
MYSQL中是"SELECT NOW()",在
Oracle中是"SELECT SYSDATE FROM DUAL",使用CowNewSQL以后您只要使用"SELECT NOW()",那么CowNewSQL就会为您自动将其翻译为对应数据库平台支持的SQL语句;取数据库前10条记录,在MSSQL中是"Select top 10 from T_1"、在MYSQL中是"SELECT LIMIT 0, 10 "、在Oracle中是"SELECT FROM DUAL WHERE ROWNUM <= 10",使用CowNewSQL以后您只要使用"Select top 10 from T_1",那么CowNewSQL就会为您自动将其翻译为对应数据库平台支持的SQL语句。
CowNewSQL支持如下几种类型的SQL语句: CreateTable/AlterTable/DropTable/CreateIndex/DropIndex/Select/Insert/Delete/Update/ShowTable/ShowTables;支持子查询、Join、Union等高级的SQL特性;支持日期(包括取当前日期、从日期中提取任意部分、计算日期差异、日期前后推算等)、数学(包括取绝对值、取PI值、四舍五入、对数计算、随机数等)、字符串(包括取子字符串、取字符串长度、字符串截断、大小写转换等)、基本数据处理(包括数字字符串互转、日期转字符串、非空判断等)等函数。
CowNewSQL支持MYSQL、MSSQLServer、Oracle、DB2四种主流数据库系统;能够以JDBC驱动的方式使用,这样无需修改系统代码就可以直接使用CowNewSQL;支持JDK1.4以及以上版本。
CowNewSQL后续工作计划:CowNewSQL将提供.Net、C/C++等语言的移植版本(开发dll、so共享库,然后提供
其他语言的包装);支持存储过程的翻译;支持方言到方言的翻译(比如MySQL到Oracle的翻译);将CowNewSQL的SQL分析引擎提取成单独的产品,进而提供基于它的SQL优化、SQL分析等工具;加大CowNewSQL的推广应用力度,打造典型应用案例,有必要的话可以用产品定制化的方式促进CowNewSQL的发展。