CUBRID 是一个全面开源,且完全免费的关系数据库管理系统。CUBRID为高效执行线上交易处理(OLTP)进行了高度优化,特别是需要处理大数据量和高并发请求的复杂商务服务。通过提供独特的最优化特性,CUBRID可以支持更多的并发请求,更少的响应时间。[2]

CUBRID
开发者CUBRID Corp.
当前版本
  • 11.2.7(2023年9月13日)[1]
编辑维基数据链接
源代码库 编辑维基数据链接
编程语言C, C++, Java
操作系统Linux, Windows
语言英文, 韩文
类型关系数据库
许可协议服务器引擎遵循Apache License, APIs和GUI tools遵循BSD license
网站www.cubrid.org

CUBRID名称的起源

CUBRID这个名称,实际上是两个单词的组合:"Cube"(立方体)和"Bride"(桥梁)。对CUBRID而言,"Bride"代表"data bridge"(数据桥),而"Cube"代表储存数据的盒子,寓意为放在其中的数据提供安全。因此,CUBRID代表可以为机密信息提供安全保障。

产品许可信息(License Policy)

CUBRID针对DBMS引擎和应用程序编程接口(API),使用了不同类型的许可。DBMS引擎使用Apache授权条款(Apache License),允许用户发布,修改和获取源码。应用程序编程接口(API)使用伯克利软件分发(BSD)许可协议,商业用户可以自由开发和分发基于CUBRID的应用程序,而不必被迫开源自己的衍生产品。CUBRID之所以采用两种不同类型的许可,是为了减少带给独立软件开发商(ISV开发和发布各种基于CUBRID应用的限制。

CUBRID license policy的许可政策,同其他数据库系统不同。如果要发布或销售基于MySQL的应用,需要开放应用源码或购买商业许可。而CUBRID由于针对引擎和API使用了不同的许可政策,从而降低了对传统开源数据库管理系统的使用限制,有效的为商业公司减轻了开支。[3]

支持平台(Supported platform)

CUBRID可用于Microsoft Windows和Linux(两者为大多数发行版本)以及32位和64位体系结构。

接口(Interface)

CUBRID的服务器和官方程序库是使用C/C++开发的,而GUI数据库管理工具CUBRID Manager,以及其他的CUBRID管理工具,则是使用Java开发的。

命令列(Command Line)

CUBRID提供了一个称为CSQL[4]的命令行管理工具,通过此工具,用户可以在CUBRID服务器上上执行SQL语句。[5] 并实现架构,障碍排除,事务控制等相关的内部命令例如: 此工具通常可以在一下两种模式之一中使用:

  • CS (client/server)模式:连接到本地或远程CUBRID服务器
  • SA (stand alone)模式:主要用于管理目的

编程接口(Programming Interface)

CUBRID提供包括JDBC、PHP/PHO、ODBC、ADO.NET、CCI、NODE.JS、PERL、Ruby和Python等在内的特定编程语言的API。

图形用户接口(Graphical User Interface)

CUBRID开发了以下Graphical User Interface

  • CUBRID Manager[6]:是在BSD license下开发的一款适用于Microsoft Windows和Linux的用于查询浏览器和数据库管理的工具
  • CUBRID Admin:是在BSD license下开发的一款适用于Microsoft Windows的数据库管理的工具
  • SQLGate:是CHEQUER Corp研发的适用于Microsoft Windows的查询浏览器工具
  • CUBRID Migration Toolkit: [7]是一款允许用户把数据库从Oracle, MS-SQL, MySQL和旧版CUBRID移动到最新版本CUBRID服务器的工具

CUBRID性能

高可用性(High Availability)

CUBRID HA通过无共享群集(shared-nothing clustering),自动故障转移和手动故障回复机制,提供了负载平衡,故障容许和连续的服务可用性。CUBRID的3层体系结构允许通过两级自动故障转移对服务器的高可用性提供本地支持:服务器故障转移和服务器故障转移。[8]

扩展性和维护性(Scalability and Maintainability)

  • 备份(Backup): CUBRID支持在线,离线和增量备份;
  • API负载均衡(API-level load balancing);
  • 查询计划缓存(Query plan caching);
  • Indexes: CUBRID支持单列和多列B+树索引,用户可以利用CUBRID创建以下类型的索引:
    • 索引和反向索引;
    • 唯一索引和反向唯一索引;
    • 基于功能的索引;
    • 筛选索引;
  • 资料表格分割(Table Partitioning);
  • SQL Support:CUBRID实现了ANSI SQL:1999标准的较大子集,并扩展了更高版本的SQL标准和自定义功能
  • 多种数据类型支援(Various Data Types supported):
    • 数值:
      • integer numerics: SMALLINT (16 bit), INTEGER (32 bit), BIGINT (64 bit)
      • floating point numerics: FLOAT (32 bit), DOUBLE (64 bit)
      • arbitrary precision numerics: NUMERIC
      • monetary values: MONETARY (double precision floating point)
    • String值:
      • fixed-length character and bit strings: CHAR, BIT
      • variable-length character and bit strings: CHAR VARYING, BIT VARYING
    • 日期和时间值:
      • date values: DATE
      • time values: TIME
      • date and time values: DATETIME, TIMESTAMP (internally stored as a Unix timestamp)
    • 整合值: SET, MULTISET, LIST
      • 列举(defined Enumerated type|enumerations): ENUM
    • 大对象(large objects): BLOB, CLOB
    • JS 对象简谱(JavaScript Object Notation): JSON

最新版本特性

CUBRID的最新版本,是2019年12月发布的CUBRID 10.2。与CUBRID 10.1版本相比,CUBRID 10.2添加了一个在线并行加载器(online parallel loader),将海量数据加载性能提高了10倍。此外,CUBRID 10.2为了提高给其索引功能,还添加了JSON数据类型和在线并行索引(online parallel index)。一般资料表运算式(Common Table Expressions, CTE)也在CUBRID 10.2版本中得到扩展。 为了提高稳定性, CUBRID 10.2还添加了Double Write Buffer,以防止部分页面写到磁盘上以及主要代码的重构和错误修复。[9]

产品开发历史

版本 发布日期 Beta 发布日期 性能增加
11.0 01, 2021 安全:TDE(Transparent Data Encryption)及其他 [10]
10.2 12, 2019 新数据类型添加:JSON(JavaScript Object Notation)及其他 [11]
10.1 07, 2017 添加有用的SQL扩展:CTE(一般资料表运算式)及其他。[12]
10.0 02, 2016 提供基于MVCC协议的快照隔离(snapshot isolations)。包括许多SQL扩展和功能/运算符
9.3 05, 2014 新的SQL功能,支持模式锁定,支持各种SHOW语法,性能改进。
9.2 09, 2013 SQL分析,新SQL支持等多项改进
9.1 03, 2013 新的SQL函数和索引提示,性能改进和优化。
9.0 10, 2012 国际化支持,函数索引,过滤器索引,索引跳过扫描,MERGE语句,窗口函数。
8.4.3 20,11,2012 数据库分片,API级负载平衡,内置Web管理器,监测支持
8.4.1 24,02, 2012 01,02, 2012 重要的性能优化,SQL扩展,REGEXP运算符
8.4.0 01,07, 2011 12,05, 2011 High Availability性能提高, CUBRID C API的改进,显著的性能优化,涵盖了索引 [13][14]
3.1 31,12, 2010 12,11, 2010 BLOB and CLOB支持, High Availability监测支援, 驱动(JDBC, ODBC and CUBRID C API)提高 [15]
3.0 04,10,2010 19,07, 2010 SQL扩展,High Availability性能提高 [16][17]
2.2 30,04, 2010 CUBRID 2008 R2.2 Stable版发布。High Availability, CUBRID C API以及其他性能提高[18]
02, 2010 CUBRID Cluster Alpha版发布。
2.1 11, 2009 CUBRID 2008 R2.1 Stable版发布。
10, 2009 CUBRID 项目主页在Sourceforge.net产生,其官方的开源社区网站www.cubrid.org上线。
09, 2009 CUBRID Cluster 项目启动。
2.0 08, 2009 CUBRID 2008 R2.0 Stable版发布。
1.4 03, 2009 CUBRID 2008 R1.4 Stable版发布。
1.3 02, 2009 CUBRID 2008 R1.3 Stable版发布。
1.2 01, 2009 CUBRID 2008 R1.2 Stable版发布。
1.1 11, 2008 CUBRID成为开源项目. CUBRID 2008 R1.1 Stable版发布
1.0 10, 2008 第一个内部发布版 CUBRID 2008 R1.0 Stable版发布
2006 CUBRID DBMS项目开发启动

参考

  1. ^ CUBRID 11.2 Patch 7. 
  2. ^ 关于CUBRID. CUBRID.org. [2020-05-27]. (原始内容存档于2020-05-12). 
  3. ^ 认识CUBRID: One of Korea’s Top Open Source Projects. Open Source Buzz. 2010-06-21 [2010-10-05]. (原始内容存档于2010-06-26). 
  4. ^ CSQL - SQL命令行解释器. CUBRID.org. 2010-07-06 [2019-09-24]. 原始内容存档于2010-09-16. 
  5. ^ How to use CSQL utilities. [8 February 2013]. 原始内容存档于2013-02-14. 
  6. ^ CUBRID Manager. [8 February 2013]. 原始内容存档于2013-01-16. 
  7. ^ CUBRID Migration Toolkit. [8 February 2013]. 原始内容存档于2013-02-10. 
  8. ^ CUBRIDHA. [2020-05-27]. 
  9. ^ CUBRID10.2关键特性. CUBRID.org. [2020-05-26]. (原始内容存档于2020-05-12). 
  10. ^ CUBRID 11.0 has been released. 27 January 2021 [2021-02-02]. (原始内容存档于2023-11-30). 
  11. ^ CUBRID 10.2 has been released. [2020-05-21]. (原始内容存档于2020-05-21). 
  12. ^ CUBRID 10.1 is released. [2020-05-21]. (原始内容存档于2021-01-27). 
  13. ^ CUBRID 8.4.0 has arrived w/ x2 faster database engine!. [2011-05-17]. 原始内容存档于2011-05-20. 
  14. ^ CUBRID 8.4.0 GA is now available for download. [2011-07-14]. 原始内容存档于2011-08-25. 
  15. ^ CUBRID 3.1 Stable is now available!. [2011-01-03]. 原始内容存档于2011-01-07. 
  16. ^ CUBRID 3.0 Stable has arrived!. [2010-10-05]. 原始内容存档于2010-10-08. 
  17. ^ New CUBRID 2008 R3.0 Beta has been released. [2010-07-21]. 原始内容存档于2011-08-27. 
  18. ^ New Version Release - CUBRID 2008 R2.2. [2010-05-07]. 原始内容存档于2011-07-25. 

相关链接