一年之后的2019年10月2日,在另一個(gè)特殊的賽場(chǎng)上,中國(guó)人又破了一項(xiàng)塵封9年的世界紀(jì)錄——全球數(shù)據(jù)庫(kù)領(lǐng)域最權(quán)威的國(guó)際事務(wù)處理性能委員會(huì)(TPC)在其官網(wǎng)上宣布,阿里巴巴/螞蟻金服的分布式關(guān)系數(shù)據(jù)庫(kù)OceanBase打破數(shù)據(jù)庫(kù)基準(zhǔn)性能測(cè)試(TPC-C)的世界紀(jì)錄,其tpmC值超過(guò)6000萬(wàn),是前世界紀(jì)錄保持者Oracle數(shù)據(jù)庫(kù)的兩倍。
新的紀(jì)錄還在不斷刷新之中。今年的天貓“雙11”總成交額達(dá)2684億元,訂單峰值54.4萬(wàn)筆/秒,支付寶數(shù)據(jù)庫(kù)處理峰值達(dá)到6100萬(wàn)次/秒,再次刷新世界紀(jì)錄。這次的特別之處在于,這是在阿里巴巴核心系統(tǒng)100%上云的情況完成的創(chuàng)紀(jì)錄之舉。
俗話說(shuō),外行看熱鬧,內(nèi)行看門(mén)道。當(dāng)你為天貓“雙11”總成交額又創(chuàng)世界紀(jì)錄瘋狂打Call之時(shí),可否注意到這背后,除了阿里云平臺(tái)穩(wěn)定、線性的輸出以外,還有OceanBase的優(yōu)異表現(xiàn)?
又是一年“雙11”
OceanBase“三大創(chuàng)舉”
在2019數(shù)據(jù)技術(shù)嘉年華上,OceanBase總架構(gòu)師、螞蟻金服研究員楊傳輝(日照)向筆者透露,今年天貓“雙11”期間,OceanBase數(shù)據(jù)庫(kù)確有“三大創(chuàng)舉”:第一,今年OceanBase數(shù)據(jù)庫(kù)首次從MySQL模式切換為更適合企業(yè)級(jí)應(yīng)用的Oracle模式;第二,OceanBase數(shù)據(jù)庫(kù)單機(jī)性能優(yōu)化提升50%;第三,OceanBase數(shù)據(jù)庫(kù)完全部署在容器中,更易實(shí)現(xiàn)彈性伸縮。
從2010年6月立項(xiàng)至今,OceanBase數(shù)據(jù)庫(kù)度過(guò)了9年多的崢嶸歲月。從2011年開(kāi)始,OceanBase數(shù)據(jù)庫(kù)就開(kāi)始支持“雙11”,并服務(wù)于淘寶收藏夾,時(shí)隔一年又轉(zhuǎn)戰(zhàn)支付寶。從2014年到2017年,每年OceanBase數(shù)據(jù)庫(kù)承擔(dān)的支付寶流量逐步遞增,到2017年,支付寶交易、支付、賬務(wù)等全部核心業(yè)務(wù)100%的流量都加在了OceanBase數(shù)據(jù)庫(kù)身上。
OceanBase總架構(gòu)師、螞蟻金服研究員楊傳輝(日照)在2019數(shù)據(jù)技術(shù)嘉年華上發(fā)表演講
2017年對(duì)于OceanBase數(shù)據(jù)庫(kù)來(lái)說(shuō)是一個(gè)重要的轉(zhuǎn)折點(diǎn),在這一年,OceanBase數(shù)據(jù)庫(kù)第一次“走出”阿里巴巴和螞蟻金服,應(yīng)用于南京銀行互聯(lián)網(wǎng)核心系統(tǒng)。按照通用型商業(yè)數(shù)據(jù)庫(kù)的發(fā)展思路打造分布式數(shù)據(jù)庫(kù),OceanBase身上的擔(dān)子更重了。分布式數(shù)據(jù)庫(kù)能夠在功能和性能上與傳統(tǒng)集中式數(shù)據(jù)庫(kù)分庭抗禮嗎?分布式數(shù)據(jù)庫(kù)能夠勝任企業(yè)核心業(yè)務(wù),尤其是金融機(jī)構(gòu)的核心業(yè)務(wù)嗎?
OceanBase數(shù)據(jù)庫(kù)用TPC-C測(cè)試結(jié)果給出了明確的答案。
PK傳統(tǒng)數(shù)據(jù)庫(kù)
站在同一個(gè)水平線上
眾所周知,TPC-C測(cè)試號(hào)稱(chēng)數(shù)據(jù)庫(kù)領(lǐng)域的世界杯,是全球公認(rèn)的數(shù)據(jù)庫(kù)在線交易處理性能評(píng)價(jià)的通用指標(biāo)。TPC-C有一套嚴(yán)格的評(píng)測(cè)體系和標(biāo)準(zhǔn),它采用圖靈獎(jiǎng)得主Jim Gray主導(dǎo)提出的DebitCredit模型,由TPC組織制定TPC系列標(biāo)準(zhǔn),并監(jiān)督審核測(cè)試過(guò)程和結(jié)果。測(cè)試模擬訂單創(chuàng)建與支付,規(guī)定五種事務(wù)發(fā)生比例,所有參測(cè)的數(shù)據(jù)庫(kù)必須經(jīng)過(guò)先功能后性能的測(cè)試,要求系統(tǒng)必須保證長(zhǎng)時(shí)間穩(wěn)定運(yùn)行(8小時(shí)平穩(wěn)運(yùn)行,至少2小時(shí)性能波動(dòng)小于2%)。據(jù)楊傳輝介紹,TPC-C擁有嚴(yán)格的審計(jì)流程,經(jīng)過(guò)前期規(guī)劃、測(cè)試準(zhǔn)備、現(xiàn)場(chǎng)預(yù)審計(jì)、最終審計(jì),最后還有60天公示期。OceanBase是第一個(gè)通過(guò)TPC-C審計(jì)的分布式無(wú)共享關(guān)系數(shù)據(jù)庫(kù),審計(jì)時(shí)間超過(guò)半年,全球共3個(gè)審計(jì)員,2個(gè)審計(jì)員聯(lián)合審計(jì)通過(guò)。
特別值得一提的是,此次TPC-C測(cè)試是在阿里云標(biāo)準(zhǔn)云資源的支持下實(shí)現(xiàn)的,改變了以前高性能測(cè)試結(jié)果都依賴(lài)專(zhuān)用集中式存儲(chǔ)設(shè)備和專(zhuān)用高端服務(wù)器的實(shí)現(xiàn)方式,以完全分布式的軟件架構(gòu)創(chuàng)造了新的世界紀(jì)錄。
楊傳輝介紹說(shuō),TPC-C測(cè)試對(duì)于分布式數(shù)據(jù)庫(kù)來(lái)說(shuō)是一道難關(guān)。因?yàn)榻灰滋幚砑词聞?wù)的ACID(原子性、一致性、隔離性和持久性)是標(biāo)準(zhǔn)的根本要求,而一直以來(lái)這都是通過(guò)傳統(tǒng)的集中式系統(tǒng)實(shí)現(xiàn)的,分布式數(shù)據(jù)庫(kù)要以分布式、多機(jī)的架構(gòu)滿足事務(wù)ACID,這是一個(gè)巨大的挑戰(zhàn)。而OceanBase在測(cè)試中打破性能紀(jì)錄充分說(shuō)明,分布式數(shù)據(jù)庫(kù)在功能和性能上具備了與業(yè)內(nèi)頂尖的傳統(tǒng)單機(jī)數(shù)據(jù)庫(kù)PK的能力,雙方站在同一個(gè)水平線上。
走開(kāi)放道路
OceanBase經(jīng)過(guò)市場(chǎng)充分驗(yàn)證的
在2018年的云棲大會(huì)上,OceanBase 2.0正式發(fā)布,同時(shí)宣布了內(nèi)置的Oracle兼容功能。2019年10月,OceanBase發(fā)布Oracle兼容版本2.2,并且在TPC-C測(cè)試中打破世界紀(jì)錄。OceanBase的演進(jìn)道路、在功能和性能上的突出表現(xiàn),以及在國(guó)內(nèi)多家金融機(jī)構(gòu)中的成功應(yīng)用說(shuō)明,分布式數(shù)據(jù)庫(kù)是可以滿足銀行等金融機(jī)構(gòu)的核心業(yè)務(wù)需求的。但我們也要清醒地認(rèn)識(shí)到,金融機(jī)構(gòu)看重的不僅僅是功能和性能等技術(shù)指標(biāo),更關(guān)注的是業(yè)務(wù)的穩(wěn)定、可靠,盡量避免安全風(fēng)險(xiǎn)。從這個(gè)角度看,分布式數(shù)據(jù)庫(kù)還要經(jīng)過(guò)長(zhǎng)時(shí)間的磨練和驗(yàn)證,要針對(duì)具體的業(yè)務(wù)場(chǎng)景進(jìn)行適配、開(kāi)發(fā)和優(yōu)化等。需要重申的是,“雙11”、TPC-C測(cè)試等已經(jīng)證明,從技術(shù)指標(biāo)上看,分布式數(shù)據(jù)庫(kù)是可用的,也是經(jīng)過(guò)市場(chǎng)充分驗(yàn)證的。
目前,在金融機(jī)構(gòu)的核心業(yè)務(wù)數(shù)據(jù)庫(kù)中,還是DB2、Oracle數(shù)據(jù)庫(kù)占據(jù)主導(dǎo)地位。雖然分布式數(shù)據(jù)庫(kù)成長(zhǎng)迅速,代表著一種顛覆的力量,但從客觀上講,一段時(shí)間內(nèi)傳統(tǒng)集中式數(shù)據(jù)庫(kù)與分布式數(shù)據(jù)庫(kù)會(huì)繼續(xù)并存。但是,分布式數(shù)據(jù)庫(kù)是一條新賽道。20年前從事數(shù)據(jù)庫(kù)開(kāi)發(fā)的中國(guó)廠商舉步維艱,因?yàn)楫?dāng)時(shí)沒(méi)有大規(guī)模、可以應(yīng)用的業(yè)務(wù)場(chǎng)景,正因?yàn)闆](méi)有人用,所以數(shù)據(jù)庫(kù)產(chǎn)品的開(kāi)發(fā)和演進(jìn)陷入了惡性循環(huán),F(xiàn)在情況有了非常大的改觀,在中國(guó)既有像“雙11”這樣世界級(jí)規(guī)模的應(yīng)用,又有大規(guī)模的企業(yè)云化轉(zhuǎn)型需求,中國(guó)的數(shù)據(jù)庫(kù)廠商有了技術(shù)自研、拓展規(guī)模化業(yè)務(wù)的天生優(yōu)勢(shì)。不僅僅是那些傳統(tǒng)的軟件廠商涉足數(shù)據(jù)庫(kù)領(lǐng)域,越來(lái)越多的云服務(wù)廠商也在打造自己的數(shù)據(jù)庫(kù)。“OceanBase就是隨著阿里巴巴/螞蟻金服的業(yè)務(wù)發(fā)展起來(lái)的。阿里在云計(jì)算、平臺(tái)等方面的技術(shù)積累,以及支付寶、螞蟻金服等新的業(yè)務(wù)場(chǎng)景的開(kāi)拓,讓阿里巴巴/螞蟻金服有能力自研新型的分布式數(shù)據(jù)庫(kù)。”楊傳輝表示。
對(duì)于OceanBase是否會(huì)開(kāi)源,楊傳輝的回答非?隙ǎ“OceanBase的策略不是開(kāi)源,而是開(kāi)放。OceanBase最早的開(kāi)源版本還停留在0.4,現(xiàn)在通過(guò)TPC-C測(cè)試的版本與之前的開(kāi)源版本已經(jīng)是天壤之別。就像Oracle數(shù)據(jù)庫(kù)并不開(kāi)源,但是通過(guò)形式多樣的開(kāi)放的交流、溝通、培訓(xùn)等,大量的DBA對(duì)Oracle數(shù)據(jù)庫(kù)的熟悉、理解和掌握程度甚至超過(guò)MySQL。OceanBase所說(shuō)的開(kāi)放,與Oracle類(lèi)似,目的是讓更多的DBA能夠更深入地理解和掌握OceanBase。實(shí)際上,企業(yè)用戶(hù)需要的并不是源代碼,而是能夠解決其業(yè)務(wù)問(wèn)題的企業(yè)服務(wù)。OceanBase走開(kāi)放的道路,就是為了給企業(yè)客戶(hù)提供有保障的企業(yè)級(jí)數(shù)據(jù)庫(kù)服務(wù)。”