独家专访:SequoiaDB 3.0 版本正式发布!协议级完整兼容MySQL!
SequoiaDB 3.0 版本正式發(fā)布!協(xié)議級(jí)完整兼容MySQL!
標(biāo)簽:SequoiaDB 3.0,MySQL,OLTP
SequoiaDB巨杉數(shù)據(jù)庫(kù) 3.0,在產(chǎn)品GA發(fā)布后,經(jīng)過近半年在金融級(jí)場(chǎng)景的測(cè)試、上線和穩(wěn)定運(yùn)行之后,于近期正式發(fā)布。
1.????SequoiaDB 3.0?產(chǎn)品定位
SequoiaDB巨杉數(shù)據(jù)庫(kù)是一款金融級(jí)分布式數(shù)據(jù)庫(kù),包括了分布式NewSQL、分布式文件系統(tǒng)與對(duì)象存儲(chǔ)、與高性能NoSQL三種存儲(chǔ)模式,分別對(duì)應(yīng)分布式在線交易、非結(jié)構(gòu)化數(shù)據(jù)和內(nèi)容管理、以及海量數(shù)據(jù)管理和高性能訪問場(chǎng)景。
根據(jù)Gartner的數(shù)據(jù)庫(kù)報(bào)告,Multi-model多模是未來(lái)10年,下一代分布式數(shù)據(jù)庫(kù)發(fā)展的最主要方向。從1.0的高性能分布式 NoSQL數(shù)據(jù)庫(kù),到2.0加入的分布式對(duì)象存儲(chǔ),再到3.0完整協(xié)議級(jí)兼容MySQL,SequoiaDB經(jīng)過6年的不斷迭代創(chuàng)新,全面支持企業(yè)級(jí)結(jié)構(gòu)化、半結(jié)構(gòu)化以及非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)。
SequoiaDB 3.0 產(chǎn)品維度
2.????MySQL?完整協(xié)議級(jí)兼容
SequoiaDB 3.0實(shí)現(xiàn)了100%的MySQL協(xié)議級(jí)兼容:
·全面兼容:全面支持MySQL協(xié)議與語(yǔ)法,用戶可以直接使用MySQL客戶端或任何管理、開發(fā)與監(jiān)控工具對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作;
·MySQL語(yǔ)法:由于使用了MySQL原生的解析器,SequoiaDB 3.0 能夠?qū)崿F(xiàn)100%的MySQL語(yǔ)法兼容,支持語(yǔ)法包括基礎(chǔ)CRUD操作,多表關(guān)聯(lián),跨節(jié)點(diǎn)事務(wù)操作,創(chuàng)建視圖,存儲(chǔ)過程,索引和訪問計(jì)劃等。
·無(wú)縫切換:?對(duì)于任何已有應(yīng)用程序,SequoiaDB 3.0提供全面的MySQL兼容,幾乎無(wú)需應(yīng)用程序代碼調(diào)整,即可無(wú)縫切換;
·分布式彈性擴(kuò)展:通過SequoiaDB存儲(chǔ)引擎原生分布式架構(gòu),數(shù)據(jù)庫(kù)在兼容MySQL同時(shí),無(wú)需“分庫(kù)分表”,分布式存儲(chǔ)引擎直接提供彈性容量擴(kuò)展能力,可以上百倍提升應(yīng)用程序的存儲(chǔ)空間與訪問性能;
·?表多維分區(qū):通過存儲(chǔ)-SQL分離架構(gòu),用戶訪問MySQL也可以實(shí)現(xiàn)表的多維分區(qū),提升應(yīng)用的靈活性。
SequoiaDB 3.0 MySQL 兼容架構(gòu)
?
SequoiaDB 3.0采用了“存儲(chǔ)-SQL 分離”的架構(gòu),類似架構(gòu)也出現(xiàn)在AWS的Aurora數(shù)據(jù)庫(kù)等眾多新一代分布式數(shù)據(jù)庫(kù)上。
SequoiaDB 3.0使用了MySQL數(shù)據(jù)庫(kù)原生的SQL解析器,天然支持MySQL協(xié)議并可以做到100%語(yǔ)法兼容。在該架構(gòu)中,MySQL協(xié)議解析層作為SQL解析和分發(fā)的角色,直接面對(duì)應(yīng)用程序,每一個(gè)MySQL服務(wù)的接入節(jié)點(diǎn)都是一個(gè)獨(dú)立支持讀寫操作的MySQL進(jìn)程。而數(shù)據(jù)存儲(chǔ)和管理層,則完全由巨杉數(shù)據(jù)庫(kù)的分布式數(shù)據(jù)庫(kù)引擎實(shí)現(xiàn)。簡(jiǎn)單來(lái)說(shuō),SequoiaDB 3.0作為MySQL的InnoDB替換引擎,在天然支持MySQL的全部語(yǔ)法和功能的同時(shí),提供了數(shù)據(jù)庫(kù)存儲(chǔ)層彈性擴(kuò)張的能力。
3.????金融級(jí)分布式OLTP
SequoiaDB 3.0 的MySQL兼容主要體現(xiàn)在SQL語(yǔ)法層面,而針對(duì)分布式OLTP業(yè)務(wù)的其他眾多數(shù)據(jù)管理機(jī)制,均在SequoiaDB的分布式數(shù)據(jù)庫(kù)引擎實(shí)現(xiàn)。
SequoiaDB 3.0 針對(duì)分布式OLTP業(yè)務(wù),在分布式存儲(chǔ)引擎方面帶來(lái)了一些重要的提升:
1)ACID:
ACID是交易型數(shù)據(jù)庫(kù)的基礎(chǔ),SequoiaDB 3.0已經(jīng)全面支持ACID,100%支持原子性、一致性、隔離性與持久性;
2)跨表跨節(jié)點(diǎn)事務(wù):
在分布式數(shù)據(jù)庫(kù)中,多節(jié)點(diǎn)間的原子性操作需要特殊的方式實(shí)現(xiàn),SequoiaDB 3.0使用二段提交的方式支持跨表跨節(jié)點(diǎn)事務(wù)能力;
3)隔離性:
支持read-committed隔離級(jí)別;
4)鎖機(jī)制:
SequoiaDB內(nèi)核對(duì)記錄鎖的管理進(jìn)行了優(yōu)化,完全避免了在大量并發(fā)交易時(shí)的鎖擁堵問題;?????
5)CBO(Cost-Based Optimization)基于開銷的優(yōu)化:
實(shí)現(xiàn)對(duì)集合內(nèi)的數(shù)據(jù)以及索引進(jìn)行統(tǒng)計(jì)抽樣,建立多維度、多層級(jí)的數(shù)據(jù)模型;并對(duì)外部查詢語(yǔ)句進(jìn)行“重寫”、“規(guī)則優(yōu)化”、“參數(shù)化”以及“謂詞降解”優(yōu)化,提升訪問性能,這也是目前企業(yè)級(jí)數(shù)據(jù)庫(kù)主流的優(yōu)化器優(yōu)化方式;
6)表壓縮:
針對(duì)表級(jí)別的數(shù)據(jù)壓縮,提供兩種壓縮方式,壓縮比例最高超過60%,極大提升性能和吞吐量;
7)安全性:
分布式架構(gòu)支持高可用與異地災(zāi)備機(jī)制,在提供一主多備存放的同時(shí)還支持讀寫分離模式。SequoiaDB 3.0原生支持兩地三中心等異地容災(zāi)策略,保證交易數(shù)據(jù)安全可靠。
4.????對(duì)象存儲(chǔ)與文件系統(tǒng)
SequoiaDB 3.0在對(duì)象存儲(chǔ)API的基礎(chǔ)之上提供了標(biāo)準(zhǔn)Posix文件系統(tǒng)接口,能夠原生接入任何支持Posix協(xié)議標(biāo)準(zhǔn)的操作系統(tǒng),用戶對(duì)應(yīng)用程序無(wú)需任何改造即可從NAS遷移至SequoiaDB。
在使用Posix文件系統(tǒng)的基礎(chǔ)上,SequoiaDB 3.0完全避免了傳統(tǒng)文件系統(tǒng)在存儲(chǔ)大量文件時(shí)所產(chǎn)生的性能瓶頸。同時(shí),得益于SequoiaDB的分布式架構(gòu),其對(duì)象存儲(chǔ)與文件系統(tǒng)特性在對(duì)應(yīng)用程序零改造的前提下,成百上千倍地提供了存儲(chǔ)的擴(kuò)展性以及并發(fā)吞吐能力。
在該版本中,還引入了‘偏移鎖’機(jī)制,當(dāng)并發(fā)操作同一個(gè)文件時(shí),每一個(gè)并發(fā)只鎖定其偏移內(nèi)的內(nèi)容,這樣即可以保證并發(fā)情況下文件內(nèi)容的正確性,極大程度提升了外部訪問的并發(fā)度。
5.????全文檢索
SequoiaDB 3.0支持全文檢索能力。用戶可以通過創(chuàng)建針對(duì)指定字段的全文檢索索引,對(duì)字符串中的內(nèi)容進(jìn)行實(shí)時(shí)模糊匹配,達(dá)到像使用普通查詢一樣方面地使用全文檢索功能。
在索引類型中,增加了新的‘全文索引’類型,用戶只需要在對(duì)集合創(chuàng)建索引時(shí)指定為‘全文索引’類型即可以輕松地創(chuàng)建。在全文索引創(chuàng)建后,索引定義的內(nèi)容會(huì)自動(dòng)同步至全文索引引擎,之后新的數(shù)據(jù)變化也會(huì)快速同步至全文索引引擎中。
SequoiaDB 3.0支持異步全文索引,在高吞吐量的數(shù)據(jù)導(dǎo)入時(shí)不會(huì)對(duì)導(dǎo)入性能造成任何影響。
6.????容災(zāi)與安全
SequoiaDB原生支持?jǐn)?shù)據(jù)庫(kù)內(nèi)核級(jí)別的高可用以及跨數(shù)據(jù)中心災(zāi)備能力,不需要使用第三方工具即可使用多副本對(duì)數(shù)據(jù)進(jìn)行保護(hù),完全滿足金融級(jí)要求:
·數(shù)據(jù)中心內(nèi)高可用安全:RPO、RTO為0,迅速響應(yīng)無(wú)縫切換;
·異地容災(zāi):異地容災(zāi)和備份,保證數(shù)據(jù)安全,中心間距離超過1000km以上。滿足“兩地三中心”的監(jiān)管需求;
·同城雙活:同城雙中心的數(shù)據(jù)實(shí)時(shí)同步,保證數(shù)據(jù)一致;雙中心數(shù)據(jù)可以實(shí)現(xiàn)同時(shí)讀寫,大大提升讀寫效率;中心切換RPO 為0 ,RTO 小于 1分鐘;
·更便捷的災(zāi)備管理:系統(tǒng)集群中統(tǒng)一管理災(zāi)備中心,簡(jiǎn)化了維護(hù)成本,也幫助使用者更快上手。
7.????性能
SequoiaDB 3.0 在性能方面也有持續(xù)提升。通過Sysbench標(biāo)準(zhǔn)測(cè)試,SequoiaDB 3.0 性能表現(xiàn)優(yōu)秀。測(cè)試主要考察三種場(chǎng)景,插入、查詢以及交易事務(wù)幾項(xiàng)基礎(chǔ)數(shù)據(jù)庫(kù)操作指標(biāo),以下為相關(guān)的測(cè)試方法以及結(jié)果:
1)Insert:單條數(shù)據(jù)插入
啟動(dòng)3個(gè)96并發(fā)運(yùn)行Insert的Sysbench進(jìn)程30分鐘,SequoiaDB測(cè)試結(jié)果:平均響應(yīng)時(shí)間為5.28ms, TPS為54,513.58筆/s,成功率為100%。
2)Select:索引查詢,精確匹配中一條記錄
啟動(dòng)3個(gè)96并發(fā)運(yùn)行Select的Sysbench進(jìn)程30分鐘,SequoiaDB測(cè)試結(jié)果:平均響應(yīng)時(shí)間為1.42ms, TPS為202,886筆/s,成功率為100%。
3)OLTP事務(wù)操作:
一個(gè)OLTP事務(wù)包括10個(gè)精確索引匹配查詢,1個(gè)索引范圍查詢,1個(gè)索引范圍查詢匯總,一個(gè)索引范圍查詢排序,一個(gè)索引范圍查詢?nèi)ブ?#xff0c;一個(gè)精確匹配更新索引字段,一個(gè)精確匹配更新非索引字段,一個(gè)精確匹配刪除,一個(gè)單條記錄插入(主鍵為刪除記錄字段的值)。
啟動(dòng)3個(gè)96并發(fā)運(yùn)行OLTP的Sysbench進(jìn)程30分鐘。
SequoiaDB測(cè)試結(jié)果:平均響應(yīng)時(shí)間為68.74ms,TPS為4,198.29筆/s,成功率為100%。
小結(jié)
SequoiaDB 3.0 目前已經(jīng)在金融行業(yè)的企業(yè)用戶準(zhǔn)核心業(yè)務(wù)和眾多的實(shí)時(shí)在線交易場(chǎng)景投入使用。經(jīng)過金融級(jí)核心業(yè)務(wù)的考驗(yàn),SequoiaDB 3.0 將會(huì)在未來(lái)拓展至更多行業(yè)應(yīng)用場(chǎng)景,成為比肩國(guó)際巨頭的中國(guó)分布式數(shù)據(jù)庫(kù)產(chǎn)品。
SequoiaDB 3.0 體驗(yàn)
總結(jié)
以上是生活随笔為你收集整理的独家专访:SequoiaDB 3.0 版本正式发布!协议级完整兼容MySQL!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 区块链3.0:侧链与跨链行业趋势报告|O
- 下一篇: 2018香港纷智金融科技峰会 金色财经现