热门问题
时间线
聊天
视角
CUBRID
来自维基百科,自由的百科全书
Remove ads
CUBRID 是一個全面開源,且完全免費的關係資料庫管理系統。CUBRID為高效執行線上交易處理(OLTP)進行了高度優化,特別是需要處理大數據量和高並發請求的複雜商務服務。通過提供獨特的最優化特性,CUBRID可以支持更多的並發請求,更少的響應時間。[2]
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開發的。
CUBRID提供了一個稱為CSQL[4]的命令行管理工具,通過此工具,用戶可以在CUBRID伺服器上上執行SQL語句。[5] 並實現架構,障礙排除,事務控制等相關的內部命令例如: 此工具通常可以在一下兩種模式之一中使用:
- CS (client/server)模式:連接到本地或遠程CUBRID服務器
- SA (stand alone)模式:主要用於管理目的
CUBRID提供包括JDBC、PHP/PHO、ODBC、ADO.NET、CCI、NODE.JS、PERL、Ruby和Python等在內的特定程式語言的API。
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性能
CUBRID HA通過無共享群集(shared-nothing clustering),自動故障轉移和手動故障回復機制,提供了負載平衡,故障容許和連續的服務可用性。CUBRID的3層體系結構允許通過兩級自動故障轉移對伺服器的高可用性提供本地支持:伺服器故障轉移和服務器故障轉移。[8]
- 備份(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
- 數值:
Remove ads
最新版本特性
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]
產品開發歷史
參考
相關連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads