SequoiaDB 3.0 正式發佈,分佈式OLTP場景實現MySQL協議級兼容

SequoiaDB巨杉數據庫 3.0,在產品GA發佈後,通過近半年在金融級場景的測試、上線和穩定運行以後,於近期正式發佈。數據庫

 

1. SequoiaDB 3.0 產品定位安全

SequoiaDB巨杉數據庫是一款金融級分佈式數據庫,包括了分佈式NewSQL、分佈式文件系統與對象存儲、與高性能NoSQL三種存儲模式,分別對應分佈式在線交易、非結構化數據和內容管理、以及海量數據管理和高性能訪問場景。架構

 

根據Gartner的數據庫報告,Multi-model多模是將來10年,下一代分佈式數據庫發展的最主要方向。從1.0的高性能分佈式 NoSQL數據庫,到2.0加入的分佈式對象存儲,再到3.0完整協議級兼容MySQL,SequoiaDB通過6年的不斷迭代創新,全面支持企業級結構化、半結構化以及非結構化數據存儲。併發

SequoiaDB 3.0 產品維度異步

 

2. MySQL 完整協議級兼容分佈式

SequoiaDB 3.0實現了100%的MySQL協議級兼容:工具

· 全面兼容:全面支持MySQL協議與語法,用戶能夠直接使用MySQL客戶端或任何管理、開發與監控工具對數據庫進行操做;性能

· MySQL語法:因爲使用了MySQL原生的解析器,SequoiaDB 3.0 可以實現100%的MySQL語法兼容,支持語法包括基礎CRUD操做,多表關聯,跨節點事務操做,建立視圖,存儲過程,索引和訪問計劃等。測試

· 無縫切換: 對於任何已有應用程序,SequoiaDB 3.0提供全面的MySQL兼容,幾乎無需應用程序代碼調整,便可無縫切換;優化

· 分佈式彈性擴展:經過SequoiaDB存儲引擎原生分佈式架構,數據庫在兼容MySQL同時,無需「分庫分表」,分佈式存儲引擎直接提供彈性容量擴展能力,能夠上百倍提高應用程序的存儲空間與訪問性能;

· 表多維分區:經過存儲-SQL分離架構,用戶訪問MySQL也能夠實現表的多維分區,提高應用的靈活性。

SequoiaDB 3.0 MySQL 兼容架構

 

SequoiaDB 3.0採用了「存儲-SQL 分離」的架構,相似架構也出如今AWS的Aurora數據庫等衆多新一代分佈式數據庫上。

 

SequoiaDB 3.0使用了MySQL數據庫原生的SQL解析器,自然支持MySQL協議並能夠作到100%語法兼容。在該架構中,MySQL協議解析層做爲SQL解析和分發的角色,直接面對應用程序,每個MySQL服務的接入節點都是一個獨立支持讀寫操做的MySQL進程。而數據存儲和管理層,則徹底由巨杉數據庫的分佈式數據庫引擎實現。簡單來講,SequoiaDB 3.0做爲MySQL的InnoDB替換引擎,在自然支持MySQL的所有語法和功能的同時,提供了數據庫存儲層彈性擴張的能力。

 

3. 金融級分佈式OLTP

SequoiaDB 3.0 的MySQL兼容主要體如今SQL語法層面,而針對分佈式OLTP業務的其餘衆多數據管理機制,均在SequoiaDB的分佈式數據庫引擎實現。

 

SequoiaDB 3.0 針對分佈式OLTP業務,在分佈式存儲引擎方面帶來了一些重要的提高:

1) ACID:

ACID是交易型數據庫的基礎,SequoiaDB 3.0已經全面支持ACID,100%支持原子性、一致性、隔離性與持久性;

2) 跨表跨節點事務:

在分佈式數據庫中,多節點間的原子性操做須要特殊的方式實現,SequoiaDB 3.0使用二段提交的方式支持跨表跨節點事務能力;

3) 隔離性:

支持read-committed隔離級別;

4) 鎖機制:

SequoiaDB內核對記錄鎖的管理進行了優化,徹底避免了在大量併發交易時的鎖擁堵問題;

5) CBO(Cost-Based Optimization)基於開銷的優化:

實現對集合內的數據以及索引進行統計抽樣,創建多維度、多層級的數據模型;並對外部查詢語句進行「重寫」、「規則優化」、「參數化」以及「謂詞降解」優化,提高訪問性能,這也是目前企業級數據庫主流的優化器優化方式;

6) 表壓縮:

針對表級別的數據壓縮,提供兩種壓縮方式,壓縮比例最高超過60%,極大提高性能和吞吐量;

7) 安全性:

分佈式架構支持高可用與異地災備機制,在提供一主多備存放的同時還支持讀寫分離模式。SequoiaDB 3.0原生支持兩地三中心等異地容災策略,保證交易數據安全可靠。

 

4. 對象存儲與文件系統

SequoiaDB 3.0在對象存儲API的基礎之上提供了標準Posix文件系統接口,可以原生接入任何支持Posix協議標準的操做系統,用戶對應用程序無需任何改造便可從NAS遷移至SequoiaDB。

 

在使用Posix文件系統的基礎上,SequoiaDB 3.0徹底避免了傳統文件系統在存儲大量文件時所產生的性能瓶頸。同時,得益於SequoiaDB的分佈式架構,其對象存儲與文件系統特性在對應用程序零改造的前提下,成百上千倍地提供了存儲的擴展性以及併發吞吐能力。

 

在該版本中,還引入了‘偏移鎖’機制,當併發操做同一個文件時,每個併發只鎖定其偏移內的內容,這樣便可以保證併發狀況下文件內容的正確性,極大程度提高了外部訪問的併發度。·

 

5. 全文檢索

SequoiaDB 3.0支持全文檢索能力。用戶能夠經過建立針對指定字段的全文檢索索引,對字符串中的內容進行實時模糊匹配,達到像使用普通查詢同樣方面地使用全文檢索功能。

 

在索引類型中,增長了新的‘全文索引’類型,用戶只須要在對集合建立索引時指定爲‘全文索引’類型便可以輕鬆地建立。在全文索引建立後,索引定義的內容會自動同步至全文索引引擎,以後新的數據變化也會快速同步至全文索引引擎中。

 

SequoiaDB 3.0支持異步全文索引,在高吞吐量的數據導入時不會對導入性能形成任何影響。

 

6. 容災與安全

SequoiaDB原生支持數據庫內核級別的高可用以及跨數據中心災備能力,不須要使用第三方工具便可使用多副本對數據進行保護,徹底知足金融級要求:

· 數據中心內高可用安全:RPO、RTO爲0,迅速響應無縫切換;

· 異地容災:異地容災和備份,保證數據安全,中心間距離超過1000km以上。知足「兩地三中心」的監管需求;

· 同城雙活:同城雙中心的數據實時同步,保證數據一致;雙中心數據能夠實現同時讀寫,大大提高讀寫效率;中心切換RPO 爲0 ,RTO 小於 1分鐘;

· 更便捷的災備管理:系統集羣中統一管理災備中心,簡化了維護成本,也幫助使用者更快上手。

 

7. 性能

SequoiaDB 3.0 在性能方面也有持續提高。經過Sysbench標準測試,SequoiaDB 3.0 性能表現優秀。測試主要考察三種場景,插入、查詢以及交易事務幾項基礎數據庫操做指標,如下爲相關的測試方法以及結果:

 

1)Insert:單條數據插入

啓動3個96併發運行Insert的Sysbench進程30分鐘,SequoiaDB測試結果:平均響應時間爲5.28ms, TPS爲54,513.58筆/s,成功率爲100%。

 

2)Select:索引查詢,精確匹配中一條記錄

啓動3個96併發運行Select的Sysbench進程30分鐘,SequoiaDB測試結果:平均響應時間爲1.42ms, TPS爲202,886筆/s,成功率爲100%。

 

3)OLTP事務操做:

一個OLTP事務包括10個精確索引匹配查詢,1個索引範圍查詢,1個索引範圍查詢彙總,一個索引範圍查詢排序,一個索引範圍查詢去重,一個精確匹配更新索引字段,一個精確匹配更新非索引字段,一個精確匹配刪除,一個單條記錄插入(主鍵爲刪除記錄字段的值)。

啓動3個96併發運行OLTP的Sysbench進程30分鐘。

SequoiaDB測試結果:平均響應時間爲68.74ms,TPS爲4,198.29筆/s,成功率爲100%。

 

小結

SequoiaDB 3.0 目前已經在金融行業的企業用戶準核心業務和衆多的實時在線交易場景投入使用。通過金融級核心業務的考驗,SequoiaDB 3.0 將會在將來拓展至更多行業應用場景,成爲比肩國際巨頭的中國分佈式數據庫產品。

 

SequoiaDB簡介:

巨杉數據庫是國內首家入選Gartner數據庫報告的廠商。

巨杉數據庫主要產品,SequoiaDB是一款金融級分佈式數據庫,產品技術維度包括分佈式NewSQL,分佈式對象存儲和高性能NoSQL,業務場景覆蓋分佈式核心在線交易,分佈式內容管理以及海量數據高性能存儲管理等主要場景。

目前已經在金融、政府、電信多個行業獲得了普遍應用,並在超過30家大中型銀行的核心生產系統應用。

相關文章
相關標籤/搜索