国产数据库 OceanBase 二次刷榜 TPC-C,7 亿 tpmC!
作者 | 馬超
責(zé)編 | 伍杏玲
出品 | CSDN(ID:CSDNnews)
5月20日,世界上權(quán)威數(shù)據(jù)庫評測機(jī)構(gòu)——國際事務(wù)處理性能委員會(huì)(TPC),發(fā)布最新評測榜單,螞蟻金服自研的分布式關(guān)系數(shù)據(jù)庫OceanBase,以7.07億的tpmC的評測成績再次奪冠,并將自己之前創(chuàng)造的記錄提升了近11倍。
2019年10月,OceanBase打破甲骨文長達(dá)9年的“壟斷”,登頂TPC榜首時(shí),業(yè)界有不少的評論稱,阿里的第一名成績不會(huì)保持太久的,甲骨文、IBM等老牌數(shù)據(jù)庫廠商很快就會(huì)刷新OceanBase創(chuàng)造的記錄。OceanBase這次直接用提升11倍的成績,對那些唱衰言論給出最好回應(yīng)。
除了tmpC,TPC-C的評測還有一個(gè)重要指標(biāo),就是用系統(tǒng)的總價(jià)格除以tmpC得分,得到性能價(jià)格比的指標(biāo)(Price/tpmC)。
在這一項(xiàng)指標(biāo)中,OceanBase是3.98cny/tmpc,在折算后比甲骨文的Orcale數(shù)據(jù)庫低了近50%。其中最為關(guān)鍵的一點(diǎn)是,Orcale在TPC-C使用頂配的專用設(shè)備,計(jì)算集群動(dòng)用了108 顆 T3 SPARC 處理器,1728 個(gè)物理核心和 13824 個(gè)執(zhí)行線程,同時(shí)使用了97 臺(tái) COMSTAR 專用存儲(chǔ)設(shè)備,這些存儲(chǔ)設(shè)備都經(jīng)過專門的優(yōu)化,使用Intel 服務(wù)器作為存儲(chǔ)機(jī)頭。
Oceanbase是布署在1557 臺(tái)增強(qiáng)型阿里云ECS i2d服務(wù)器上的,并未使用專門存儲(chǔ)。數(shù)據(jù)庫的性能是很依賴服務(wù)器的計(jì)算與I/O能力,在這方面阿里云ECS i2d不但配備了Intel Xeon(Skylake) Platinum 8163 處理器、NVMe SSD本地磁盤,同時(shí)其網(wǎng)絡(luò)性能也達(dá)到了25G的帶寬和400萬PPS的轉(zhuǎn)發(fā)能力,這使得i2d適用于各種如OLTP、NoSQL與數(shù)據(jù)倉庫等數(shù)據(jù)庫應(yīng)用場景。可以說阿里奪冠,不僅體現(xiàn)了阿里在數(shù)據(jù)庫研發(fā)方面的實(shí)力,也展示了阿里云基礎(chǔ)設(shè)施ECS的高性能與穩(wěn)定性。
筆者在200 行代碼解讀國產(chǎn)數(shù)據(jù)庫阿里 OceanBase 的速度源頭!中曾經(jīng)介紹過,OceanBase是基于Paxos分布式協(xié)議構(gòu)架的數(shù)據(jù)庫,其中如布隆過濾器等設(shè)計(jì)都對于其性能優(yōu)化的問題,這里就不加贅述了。除了性能外,Oceanbase最大的亮點(diǎn)在于其HTAP的混合屬性,這讓Oceanbase解決了業(yè)界很多的痛點(diǎn)。
HTAP是2014年由Garnter提出的:混合事務(wù)/分析處理(HTAP)是一種新興的應(yīng)用體系結(jié)構(gòu),兼容兩種業(yè)務(wù)場景。混合負(fù)載(HTAP Hybrid Transactional/Analytical Processing)是在保留原有在線交易功能的同時(shí),強(qiáng)調(diào)了數(shù)據(jù)庫原生計(jì)算分析的能力。支持混合負(fù)載的數(shù)據(jù)庫能夠避免在傳統(tǒng)架構(gòu)中,在線與離線數(shù)據(jù)庫之間大量的數(shù)據(jù)交互,同時(shí)也能夠針對最新的業(yè)務(wù)數(shù)據(jù)進(jìn)行實(shí)時(shí)統(tǒng)計(jì)分析。簡單的講TP可以看作是戰(zhàn)斗機(jī)的敏捷迅速屬性,AP則相當(dāng)于載彈量大、威力強(qiáng)的轟炸機(jī)。OceanBase就是這種混合式戰(zhàn)機(jī)的典范。
1. 緣起HTAP
HTAP的出現(xiàn)主要原因是當(dāng)今大時(shí)代時(shí)代的數(shù)據(jù)和以前相比出現(xiàn)了明顯的變化。根據(jù)筆者在銀行業(yè)的觀察,目前數(shù)據(jù)的生產(chǎn)者有以下幾種類型:
第一類是應(yīng)用產(chǎn)生數(shù)據(jù)。最早的數(shù)據(jù)生產(chǎn)機(jī)制是應(yīng)用系統(tǒng)的副產(chǎn)品,也就是應(yīng)用產(chǎn)生數(shù)據(jù)。為了滿足業(yè)務(wù),需要構(gòu)建業(yè)務(wù)IT系統(tǒng),隨著IT業(yè)務(wù)系統(tǒng)不斷在運(yùn)行,大量應(yīng)用數(shù)據(jù)就產(chǎn)生了。
這些數(shù)據(jù)經(jīng)過ETL加工進(jìn)入數(shù)據(jù)倉庫進(jìn)行再處理,供業(yè)務(wù)應(yīng)用。這些數(shù)據(jù)都是單一的關(guān)系型數(shù)據(jù),數(shù)據(jù)量級是GB的。這些數(shù)據(jù)利用早期傳統(tǒng)的關(guān)系型數(shù)據(jù)庫和數(shù)據(jù)倉庫都可以處理完成。
第二類是行為產(chǎn)生數(shù)據(jù)。隨著互聯(lián)網(wǎng)和電商的快速發(fā)展,大量人的操作行為和使用行為產(chǎn)生的數(shù)據(jù),像谷歌、臉書等大數(shù)據(jù)互聯(lián)公司,都記錄人的形成產(chǎn)生的數(shù)據(jù)。上網(wǎng)瀏覽、購買、評論、刷微博、玩抖音等行為都可以產(chǎn)生大量數(shù)據(jù)。這些數(shù)據(jù)不再是單一的結(jié)構(gòu)化數(shù)據(jù),出現(xiàn)了大量文檔、音頻和視頻數(shù)據(jù),數(shù)據(jù)量級是TB級的。
第三類是機(jī)器產(chǎn)生數(shù)據(jù)。進(jìn)入萬物互聯(lián)的時(shí)代,大量機(jī)器傳感器和IoT設(shè)備都會(huì)產(chǎn)生大量數(shù)據(jù)。這些設(shè)備 7*24小時(shí)產(chǎn)生數(shù)據(jù),數(shù)據(jù)格式也是多種多樣,有的是日志數(shù)據(jù),有的是時(shí)序數(shù)據(jù),有的是網(wǎng)格數(shù)據(jù)等等,數(shù)據(jù)量級是PB的。
由于處理的數(shù)據(jù)的規(guī)格、速度和多樣性發(fā)生了根本變化,它不僅僅是要支撐到萬億記錄數(shù)據(jù)庫表的處理,還要支撐分析場景。而傳統(tǒng)的TP數(shù)據(jù)庫支撐交易業(yè)務(wù),再吐出數(shù)據(jù)將給AP分析報(bào)表的用法,無法看到實(shí)時(shí)的戰(zhàn)報(bào)結(jié)果,無法滿足時(shí)間要求,這種變化,是傳統(tǒng)的關(guān)系數(shù)據(jù)庫,數(shù)據(jù)倉庫以及大數(shù)據(jù)的Nosql數(shù)據(jù)庫都是無法支撐的。因此以O(shè)ceanbase為代表HTAP數(shù)據(jù)庫開始興起了。
2. 大數(shù)據(jù)時(shí)代的秘籍——唯快不破
傳統(tǒng)的數(shù)據(jù)消費(fèi)者是一般是決策層的領(lǐng)導(dǎo)。當(dāng)業(yè)務(wù)系統(tǒng)產(chǎn)生數(shù)據(jù),經(jīng)過ETL加工處理進(jìn)入數(shù)據(jù)倉庫,經(jīng)過數(shù)據(jù)主題設(shè)計(jì)和統(tǒng)計(jì)匯總,形成KPI儀表盤,提供給領(lǐng)導(dǎo)決策者服務(wù),領(lǐng)導(dǎo)根據(jù)數(shù)據(jù)分析結(jié)果進(jìn)行宏觀決策服務(wù)。因此管理層不只需要對上一日的數(shù)據(jù)進(jìn)行追蹤即可。傳統(tǒng)的純AP或者TP數(shù)據(jù)庫在這種背景下需適應(yīng)節(jié)奏的。
隨著移動(dòng)互聯(lián)網(wǎng)時(shí)代到來,大量個(gè)性化服務(wù)需求產(chǎn)生,數(shù)據(jù)分析結(jié)果不再是推送給公司管理層,而是要提供給一線營銷人員,供他們直接使用。
例如,OceanBase支持阿里媽媽的廣告報(bào)表查詢,這使得數(shù)據(jù)實(shí)時(shí)性大幅度提升。再如,現(xiàn)在銀行的一個(gè)移動(dòng)啟瓶器系統(tǒng)就需要向理財(cái)經(jīng)理實(shí)時(shí)提供大客戶的結(jié)息、凈值等一系列個(gè)性化指標(biāo),用戶有六萬多人,需要支持至少五百個(gè)在線并發(fā)/秒。這些場景都要求基于實(shí)時(shí)數(shù)據(jù)的分析,傳統(tǒng)TP與AP分享的數(shù)據(jù)庫已經(jīng)無法滿足要求了。
3. OceanBase讓數(shù)據(jù)產(chǎn)生價(jià)值
隨著數(shù)據(jù)體量不斷增大,傳統(tǒng)的單機(jī)IOE計(jì)算框架向分布式計(jì)算框架轉(zhuǎn)變,又一次實(shí)現(xiàn)移動(dòng)數(shù)據(jù)和移動(dòng)程序之間的轉(zhuǎn)移。
在傳統(tǒng)IOE計(jì)算框架下,數(shù)據(jù)在不同業(yè)務(wù)系統(tǒng)之間移動(dòng);進(jìn)入分布式計(jì)算框架下,數(shù)據(jù)存在HDFS文件系統(tǒng)上,根據(jù)不同業(yè)務(wù)需求編寫MR程序,進(jìn)行數(shù)據(jù)處理。當(dāng)數(shù)據(jù)庫的計(jì)算框架從單機(jī)計(jì)算框架轉(zhuǎn)向分布式計(jì)算框架,整個(gè)IT業(yè)務(wù)應(yīng)用系統(tǒng)的架構(gòu)也發(fā)生根本的變化。
數(shù)據(jù)在傳統(tǒng)業(yè)務(wù)系統(tǒng)中從核心業(yè)務(wù)系統(tǒng)(TP),向數(shù)據(jù)倉庫系統(tǒng)(AP),再向模型分析系統(tǒng)(SAS)進(jìn)行遷移。
在新一代大數(shù)據(jù)應(yīng)用系統(tǒng)中,數(shù)據(jù)可以不進(jìn)行遷移,在大數(shù)據(jù)體系架構(gòu)下,同時(shí)實(shí)現(xiàn)TP(實(shí)時(shí)交易),AP(數(shù)據(jù)分析)和ML(機(jī)器學(xué)習(xí))等應(yīng)用處理,極大提高數(shù)據(jù)利用率和工作效率。在大數(shù)據(jù)體系架構(gòu)下,想要提升數(shù)據(jù)的價(jià)值,就必須減少無謂移動(dòng)。這就要有一個(gè)全新的數(shù)據(jù)庫架構(gòu)體系進(jìn)行支撐,可以說只有使用HTAP數(shù)據(jù)庫架構(gòu)體系,才能滿足實(shí)時(shí)數(shù)據(jù)分析結(jié)果的需求,而OceanBase也是在這樣的背景下孕育而生的。
為了支撐上述三大趨勢變化,數(shù)據(jù)庫除了應(yīng)對操作型業(yè)務(wù),還會(huì)在業(yè)務(wù)實(shí)時(shí)數(shù)據(jù)監(jiān)控,數(shù)據(jù)報(bào)告和決策輔助方面有許多數(shù)據(jù)實(shí)時(shí)應(yīng)用的場景。傳統(tǒng)架構(gòu)中OLTP和OLAP兩類業(yè)務(wù)是完全分離的。兩者的隔離導(dǎo)致整個(gè)系統(tǒng)在數(shù)據(jù)一致性,數(shù)據(jù)平臺(tái)管理上帶來了巨大的阻礙。
此前, RDBMS和大數(shù)據(jù)(Hadoop)分別成為數(shù)據(jù)處理的兩個(gè)方面,一旦一種架構(gòu)選擇了一種場景,就不得不放棄另一種場景。因此,以O(shè)ceanBase為代表的HTAP混合數(shù)據(jù)庫,終將成為數(shù)據(jù)庫發(fā)展的一個(gè)新要求,必將成為數(shù)據(jù)庫發(fā)展的主流。
最后,筆者相信OceanBase本次再度刷榜TPC將大幅提升國人對于國產(chǎn)基礎(chǔ)軟件的信心。
有道無術(shù),術(shù)可成;有術(shù)無道,止于術(shù)
歡迎大家關(guān)注Java之道公眾號
好文章,我在看??
總結(jié)
以上是生活随笔為你收集整理的国产数据库 OceanBase 二次刷榜 TPC-C,7 亿 tpmC!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用script命令自动录屏用户操作
- 下一篇: coder计算器