本節主要介紹 OceanBase 資料庫的核心特性。
分散式交易引擎
OceanBase 資料庫的分散式交易引擎嚴格支援事務的 ACID 屬性,並且在整個叢集內嚴格支援資料強一致性,是全球唯一一家通過了標準 TPC-C 測試的原生Distributed Relational Database Service產品。
OceanBase 資料庫通過 Paxos 協議將交易記錄複製到多個資料副本來保證事務的可用性和持久性。
透明可擴充
OceanBase 資料庫獨創的總控服務和分區級負載平衡能力使系統具有極強的可擴充性,可以線上進行平滑擴容或縮容,並且在擴容後自動實現系統負載平衡,對應用透明,確保系統的持續運行。
此外,OceanBase 資料庫支援超大規模叢集(節點超過 1500 台,最大單叢集資料量超過 3 PB,單表數量達到萬億行層級)動態擴充,在 TPC-C 情境中,系統擴充比可以達到 1:0.9,使使用者投資的硬體成本被最大化的利用。
高可用
OceanBase 資料庫採用基於無共用(Shared-Nothing)的多副本架構,讓整個系統沒有任何單點故障,保證系統的持續可用。支援單機、機房、城市層級的高可用和容災,可以進行單機房、雙機房、兩地三中心、三地五中心部署。經過實際測試,可以做到城市級故障 RPO=0,RTO<8 秒,達到國際標準災難恢複能力最進階別 6 級。
OceanBase 資料庫還提供了基於日誌複製技術的主備庫特性,為客戶提供更加靈活的高可用和容災能力。主叢集通過向備叢集發送交易記錄的方式來實現資料同步,從而確保生產叢集能夠在遇到資料損毀、災難等情況下仍然可以快速恢複業務。當 OceanBase 資料庫的生產叢集出現計劃內或者計劃外的不可用情況時,主備庫可以通過將某一個備叢集的角色切換為主叢集,從而保證系統的持續運行,最大限度地降低服務的停機時間。
另外,OceanBase 也提供基於資料區塊拷貝和交易記錄拷貝的物理備份恢複特性作為系統高可用的基礎組件。
混合事務和分析處理(Hybrid Transaction and Analytical Process,HTAP)
OceanBase 資料庫獨創的分散式運算引擎,能夠讓系統中多個計算節點同時運行 OLTP 類型的應用和複雜的 OLAP 類型的應用,讓資料庫利用率最大化的同時利用多個節點的計算能力,完成對 OLTP 和 OLAP 應用的支援。
OceanBase 資料庫真正實現了用一套計算引擎同時支援混合負載的能力,讓使用者通過一套系統解決 80% 的問題。相對於中國很多分散式資料庫採用的通過兩種不同的計算引擎,甚至兩套資料庫系統去分別支援 OLTP 和 OLAP 的方式具有巨大優勢。
多租戶
OceanBase 資料庫採用了單叢集多租戶設計,天然支援雲資料庫結構描述,支援公用雲端、私人雲端、混合雲等多種部署形式。
OceanBase 資料庫通過租戶實現資源隔離,讓每個資料庫服務的執行個體不感知其他執行個體的存在,並通過許可權控制確保不同租戶資料的安全性,配合 OceanBase 資料庫強大的可擴充性,能夠提供安全、靈活的 DBaaS 服務。
高相容性
OceanBase 資料庫針對 Oracle、MySQL 這兩種應用最為廣泛的資料庫生態都給予了很好的支援。
對於 MySQL 資料庫,OceanBase 資料庫支援 MySQL 5.6 版本全部文法,可以做到 MySQL 業務無縫切換。
對於 Oracle 資料庫,OceanBase 資料庫能夠支援絕大部分的 Oracle 文法和幾乎全量過程性語言功能,可以做到大部分的 Oracle 業務進行少量修改後自動遷移。在多家金融行業客戶和阿里巴巴內部已有多次遷移至 OceanBase 資料庫的成功案例。
完整自主智慧財產權
OceanBase 資料庫由螞蟻集團完全自主研發,不基於 MySQL 或者 PostgreSQL 等開來源資料庫,技術可靠,不會存在基於開來源資料庫產品的技術限制問題。
高效能
OceanBase 資料庫作為準記憶體資料庫,通常只需要操作記憶體中的資料,並且採用了基於 LSM-Tree 結構的儲存引擎,對於硬體更加友好,讀寫效能均遠超傳統關係型資料庫。
安全性
OceanBase 資料庫在調研了大量企業對於資料庫軟體的安全需求,並參考了各種安全標準之後,實現了企業需要的絕大部分安全功能,支援完備的許可權與角色體系,支援 SSL、資料透明加密、審計、Label Security、IP 白名單等功能,並通過了等保三標準測試。