功能特性
本節(jié)主要介紹 OceanBase 數(shù)據(jù)庫的核心特性。
分布式事務(wù)引擎
OceanBase 數(shù)據(jù)庫的分布式事務(wù)引擎嚴(yán)格支持事務(wù)的 ACID 屬性,并且在整個(gè)集群內(nèi)嚴(yán)格支持?jǐn)?shù)據(jù)強(qiáng)一致性,是全球唯一一家通過了標(biāo)準(zhǔn) TPC-C 測(cè)試的原生分布式關(guān)系型數(shù)據(jù)庫產(chǎn)品。
OceanBase 數(shù)據(jù)庫通過 Paxos 協(xié)議將事務(wù)日志復(fù)制到多個(gè)數(shù)據(jù)副本來保證事務(wù)的可用性和持久性。
透明可擴(kuò)展
OceanBase 數(shù)據(jù)庫獨(dú)創(chuàng)的總控服務(wù)和分區(qū)級(jí)負(fù)載均衡能力使系統(tǒng)具有極強(qiáng)的可擴(kuò)展性,可以在線進(jìn)行平滑擴(kuò)容或縮容,并且在擴(kuò)容后自動(dòng)實(shí)現(xiàn)系統(tǒng)負(fù)載均衡,對(duì)應(yīng)用透明,確保系統(tǒng)的持續(xù)運(yùn)行。
此外,OceanBase 數(shù)據(jù)庫支持超大規(guī)模集群(節(jié)點(diǎn)超過 1500 臺(tái),最大單集群數(shù)據(jù)量超過 3 PB,單表數(shù)量達(dá)到萬億行級(jí)別)動(dòng)態(tài)擴(kuò)展,在 TPC-C 場(chǎng)景中,系統(tǒng)擴(kuò)展比可以達(dá)到 1:0.9,使用戶投資的硬件成本被最大化的利用。
高可用
OceanBase 數(shù)據(jù)庫采用基于無共享(Shared-Nothing)的多副本架構(gòu),讓整個(gè)系統(tǒng)沒有任何單點(diǎn)故障,保證系統(tǒng)的持續(xù)可用。支持單機(jī)、機(jī)房、城市級(jí)別的高可用和容災(zāi),可以進(jìn)行單機(jī)房、雙機(jī)房、兩地三中心、三地五中心部署。經(jīng)過實(shí)際測(cè)試,可以做到城市級(jí)故障 RPO=0,RTO<30 秒,達(dá)到國際標(biāo)準(zhǔn)災(zāi)難恢復(fù)能力最高級(jí)別 6 級(jí)。
OceanBase 數(shù)據(jù)庫還提供了基于日志復(fù)制技術(shù)的主備庫特性,為客戶提供更加靈活的高可用和容災(zāi)能力。主集群通過向備集群發(fā)送事務(wù)日志的方式來實(shí)現(xiàn)數(shù)據(jù)同步,從而確保生產(chǎn)集群能夠在遇到數(shù)據(jù)損壞、災(zāi)難等情況下仍然可以快速恢復(fù)業(yè)務(wù)。當(dāng) OceanBase 數(shù)據(jù)庫的生產(chǎn)集群出現(xiàn)計(jì)劃內(nèi)或者計(jì)劃外的不可用情況時(shí),主備庫可以通過將某一個(gè)備集群的角色切換為主集群,從而保證系統(tǒng)的持續(xù)運(yùn)行,最大限度地降低服務(wù)的停機(jī)時(shí)間。
另外,OceanBase 也提供基于數(shù)據(jù)塊拷貝和事務(wù)日志拷貝的物理備份恢復(fù)特性作為系統(tǒng)高可用的基礎(chǔ)組件。
混合事務(wù)和分析處理(Hybrid Transaction and Analytical Process,HTAP)
OceanBase 數(shù)據(jù)庫獨(dú)創(chuàng)的分布式計(jì)算引擎,能夠讓系統(tǒng)中多個(gè)計(jì)算節(jié)點(diǎn)同時(shí)運(yùn)行 OLTP 類型的應(yīng)用和復(fù)雜的 OLAP 類型的應(yīng)用,讓數(shù)據(jù)庫利用率最大化的同時(shí)利用多個(gè)節(jié)點(diǎn)的計(jì)算能力,完成對(duì) OLTP 和 OLAP 應(yīng)用的支持。
OceanBase 數(shù)據(jù)庫真正實(shí)現(xiàn)了用一套計(jì)算引擎同時(shí)支持混合負(fù)載的能力,讓用戶通過一套系統(tǒng)解決 80% 的問題。相對(duì)于中國很多分布式數(shù)據(jù)庫采用的通過兩種不同的計(jì)算引擎,甚至兩套數(shù)據(jù)庫系統(tǒng)去分別支持 OLTP 和 OLAP 的方式具有巨大優(yōu)勢(shì)。
多租戶
OceanBase 數(shù)據(jù)庫采用了單集群多租戶設(shè)計(jì),天然支持云數(shù)據(jù)庫架構(gòu),支持公有云、私有云、混合云等多種部署形式。
OceanBase 數(shù)據(jù)庫通過租戶實(shí)現(xiàn)資源隔離,讓每個(gè)數(shù)據(jù)庫服務(wù)的實(shí)例不感知其他實(shí)例的存在,并通過權(quán)限控制確保不同租戶數(shù)據(jù)的安全性,配合 OceanBase 數(shù)據(jù)庫強(qiáng)大的可擴(kuò)展性,能夠提供安全、靈活的 DBaaS 服務(wù)。
高兼容性
OceanBase 數(shù)據(jù)庫針對(duì) Oracle、MySQL 這兩種應(yīng)用最為廣泛的數(shù)據(jù)庫生態(tài)都給予了很好的支持。
對(duì)于 MySQL 數(shù)據(jù)庫,OceanBase 數(shù)據(jù)庫支持 MySQL 5.6 版本全部語法,可以做到 MySQL 業(yè)務(wù)無縫切換。
對(duì)于 Oracle 數(shù)據(jù)庫,OceanBase 數(shù)據(jù)庫能夠支持絕大部分的 Oracle 語法和幾乎全量過程性語言功能,可以做到大部分的 Oracle 業(yè)務(wù)進(jìn)行少量修改后自動(dòng)遷移。在多家金融行業(yè)客戶和阿里巴巴內(nèi)部已有多次遷移至 OceanBase 數(shù)據(jù)庫的成功案例。
完整自主知識(shí)產(chǎn)權(quán)
OceanBase 數(shù)據(jù)庫由螞蟻集團(tuán)完全自主研發(fā),不基于 MySQL 或者 PostgreSQL 等開源數(shù)據(jù)庫,技術(shù)可靠,不會(huì)存在基于開源數(shù)據(jù)庫產(chǎn)品的技術(shù)限制問題。
高性能
OceanBase 數(shù)據(jù)庫作為準(zhǔn)內(nèi)存數(shù)據(jù)庫,通常只需要操作內(nèi)存中的數(shù)據(jù),并且采用了基于 LSM-Tree 結(jié)構(gòu)的存儲(chǔ)引擎,對(duì)于硬件更加友好,讀寫性能均遠(yuǎn)超傳統(tǒng)關(guān)系型數(shù)據(jù)庫。
安全性
OceanBase 數(shù)據(jù)庫在調(diào)研了大量企業(yè)對(duì)于數(shù)據(jù)庫軟件的安全需求,并參考了各種安全標(biāo)準(zhǔn)之后,實(shí)現(xiàn)了企業(yè)需要的絕大部分安全功能,支持完備的權(quán)限與角色體系,支持 SSL、數(shù)據(jù)透明加密、審計(jì)、Label Security、IP 白名單等功能,并通過了等保三標(biāo)準(zhǔn)測(cè)試。