一年之后的2019年10月2日,在另一個(gè)特殊的賽場(chǎng)上,中國人又破了一項塵封9年的世界紀錄——全球數據庫領(lǐng)域最權威的國際事務(wù)處理性能委員會(huì )(TPC)在其官網(wǎng)上宣布,阿里巴巴/螞蟻金服的分布式關(guān)系數據庫OceanBase打破數據庫基準性能測試(TPC-C)的世界紀錄,其tpmC值超過(guò)6000萬(wàn),是前世界紀錄保持者Oracle數據庫的兩倍。
新的紀錄還在不斷刷新之中。今年的天貓“雙11”總成交額達2684億元,訂單峰值54.4萬(wàn)筆/秒,支付寶數據庫處理峰值達到6100萬(wàn)次/秒,再次刷新世界紀錄。這次的特別之處在于,這是在阿里巴巴核心系統100%上云的情況完成的創(chuàng )紀錄之舉。
俗話(huà)說(shuō),外行看熱鬧,內行看門(mén)道。當你為天貓“雙11”總成交額又創(chuàng )世界紀錄瘋狂打Call之時(shí),可否注意到這背后,除了阿里云平臺穩定、線(xiàn)性的輸出以外,還有OceanBase的優(yōu)異表現?
又是一年“雙11”
OceanBase“三大創(chuàng )舉”
在2019數據技術(shù)嘉年華上,OceanBase總架構師、螞蟻金服研究員楊傳輝(日照)向筆者透露,今年天貓“雙11”期間,OceanBase數據庫確有“三大創(chuàng )舉”:第一,今年OceanBase數據庫首次從MySQL模式切換為更適合企業(yè)級應用的Oracle模式;第二,OceanBase數據庫單機性能優(yōu)化提升50%;第三,OceanBase數據庫完全部署在容器中,更易實(shí)現彈性伸縮。
從2010年6月立項至今,OceanBase數據庫度過(guò)了9年多的崢嶸歲月。從2011年開(kāi)始,OceanBase數據庫就開(kāi)始支持“雙11”,并服務(wù)于淘寶收藏夾,時(shí)隔一年又轉戰支付寶。從2014年到2017年,每年OceanBase數據庫承擔的支付寶流量逐步遞增,到2017年,支付寶交易、支付、賬務(wù)等全部核心業(yè)務(wù)100%的流量都加在了OceanBase數據庫身上。

OceanBase總架構師、螞蟻金服研究員楊傳輝(日照)在2019數據技術(shù)嘉年華上發(fā)表演講
2017年對于OceanBase數據庫來(lái)說(shuō)是一個(gè)重要的轉折點(diǎn),在這一年,OceanBase數據庫第一次“走出”阿里巴巴和螞蟻金服,應用于南京銀行互聯(lián)網(wǎng)核心系統。按照通用型商業(yè)數據庫的發(fā)展思路打造分布式數據庫,OceanBase身上的擔子更重了。分布式數據庫能夠在功能和性能上與傳統集中式數據庫分庭抗禮嗎?分布式數據庫能夠勝任企業(yè)核心業(yè)務(wù),尤其是金融機構的核心業(yè)務(wù)嗎?
OceanBase數據庫用TPC-C測試結果給出了明確的答案。
PK傳統數據庫
站在同一個(gè)水平線(xiàn)上
眾所周知,TPC-C測試號稱(chēng)數據庫領(lǐng)域的世界杯,是全球公認的數據庫在線(xiàn)交易處理性能評價(jià)的通用指標。TPC-C有一套嚴格的評測體系和標準,它采用圖靈獎得主Jim Gray主導提出的DebitCredit模型,由TPC組織制定TPC系列標準,并監督審核測試過(guò)程和結果。測試模擬訂單創(chuàng )建與支付,規定五種事務(wù)發(fā)生比例,所有參測的數據庫必須經(jīng)過(guò)先功能后性能的測試,要求系統必須保證長(cháng)時(shí)間穩定運行(8小時(shí)平穩運行,至少2小時(shí)性能波動(dòng)小于2%)。據楊傳輝介紹,TPC-C擁有嚴格的審計流程,經(jīng)過(guò)前期規劃、測試準備、現場(chǎng)預審計、最終審計,最后還有60天公示期。OceanBase是第一個(gè)通過(guò)TPC-C審計的分布式無(wú)共享關(guān)系數據庫,審計時(shí)間超過(guò)半年,全球共3個(gè)審計員,2個(gè)審計員聯(lián)合審計通過(guò)。
特別值得一提的是,此次TPC-C測試是在阿里云標準云資源的支持下實(shí)現的,改變了以前高性能測試結果都依賴(lài)專(zhuān)用集中式存儲設備和專(zhuān)用高端服務(wù)器的實(shí)現方式,以完全分布式的軟件架構創(chuàng )造了新的世界紀錄。

楊傳輝介紹說(shuō),TPC-C測試對于分布式數據庫來(lái)說(shuō)是一道難關(guān)。因為交易處理即事務(wù)的ACID(原子性、一致性、隔離性和持久性)是標準的根本要求,而一直以來(lái)這都是通過(guò)傳統的集中式系統實(shí)現的,分布式數據庫要以分布式、多機的架構滿(mǎn)足事務(wù)ACID,這是一個(gè)巨大的挑戰。而OceanBase在測試中打破性能紀錄充分說(shuō)明,分布式數據庫在功能和性能上具備了與業(yè)內頂尖的傳統單機數據庫PK的能力,雙方站在同一個(gè)水平線(xiàn)上。
走開(kāi)放道路
OceanBase經(jīng)過(guò)市場(chǎng)充分驗證的
在2018年的云棲大會(huì )上,OceanBase 2.0正式發(fā)布,同時(shí)宣布了內置的Oracle兼容功能。2019年10月,OceanBase發(fā)布Oracle兼容版本2.2,并且在TPC-C測試中打破世界紀錄。OceanBase的演進(jìn)道路、在功能和性能上的突出表現,以及在國內多家金融機構中的成功應用說(shuō)明,分布式數據庫是可以滿(mǎn)足銀行等金融機構的核心業(yè)務(wù)需求的。但我們也要清醒地認識到,金融機構看重的不僅僅是功能和性能等技術(shù)指標,更關(guān)注的是業(yè)務(wù)的穩定、可靠,盡量避免安全風(fēng)險。從這個(gè)角度看,分布式數據庫還要經(jīng)過(guò)長(cháng)時(shí)間的磨練和驗證,要針對具體的業(yè)務(wù)場(chǎng)景進(jìn)行適配、開(kāi)發(fā)和優(yōu)化等。需要重申的是,“雙11”、TPC-C測試等已經(jīng)證明,從技術(shù)指標上看,分布式數據庫是可用的,也是經(jīng)過(guò)市場(chǎng)充分驗證的。
目前,在金融機構的核心業(yè)務(wù)數據庫中,還是DB2、Oracle數據庫占據主導地位。雖然分布式數據庫成長(cháng)迅速,代表著(zhù)一種顛覆的力量,但從客觀(guān)上講,一段時(shí)間內傳統集中式數據庫與分布式數據庫會(huì )繼續并存。但是,分布式數據庫是一條新賽道。20年前從事數據庫開(kāi)發(fā)的中國廠(chǎng)商舉步維艱,因為當時(shí)沒(méi)有大規模、可以應用的業(yè)務(wù)場(chǎng)景,正因為沒(méi)有人用,所以數據庫產(chǎn)品的開(kāi)發(fā)和演進(jìn)陷入了惡性循環(huán)。現在情況有了非常大的改觀(guān),在中國既有像“雙11”這樣世界級規模的應用,又有大規模的企業(yè)云化轉型需求,中國的數據庫廠(chǎng)商有了技術(shù)自研、拓展規模化業(yè)務(wù)的天生優(yōu)勢。不僅僅是那些傳統的軟件廠(chǎng)商涉足數據庫領(lǐng)域,越來(lái)越多的云服務(wù)廠(chǎng)商也在打造自己的數據庫。“OceanBase就是隨著(zhù)阿里巴巴/螞蟻金服的業(yè)務(wù)發(fā)展起來(lái)的。阿里在云計算、平臺等方面的技術(shù)積累,以及支付寶、螞蟻金服等新的業(yè)務(wù)場(chǎng)景的開(kāi)拓,讓阿里巴巴/螞蟻金服有能力自研新型的分布式數據庫。”楊傳輝表示。

對于OceanBase是否會(huì )開(kāi)源,楊傳輝的回答非常肯定:“OceanBase的策略不是開(kāi)源,而是開(kāi)放。OceanBase最早的開(kāi)源版本還停留在0.4,現在通過(guò)TPC-C測試的版本與之前的開(kāi)源版本已經(jīng)是天壤之別。就像Oracle數據庫并不開(kāi)源,但是通過(guò)形式多樣的開(kāi)放的交流、溝通、培訓等,大量的DBA對Oracle數據庫的熟悉、理解和掌握程度甚至超過(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è)級數據庫服務(wù)。”