螞蟻金服OceanBase積累九年打榜TPC-C 還需理性看待
原創(chuàng)【51CTO.com原創(chuàng)稿件】今年國慶期間,除了看到閱兵式上國產(chǎn)自研的槍械和飛機(jī),還有一個振奮人心的消息:10月2日,國際事務(wù)處理性能委員會(TPC)官網(wǎng)披露,中國螞蟻金服自主研發(fā)的金融級分布式關(guān)系型數(shù)據(jù)庫OceanBase,在TPC-C基準(zhǔn)測試中,打破了由美國公司Oracle保持了9年之久的世界紀(jì)錄,成為首個登頂該榜單的中國數(shù)據(jù)庫產(chǎn)品,連中國工程院院士都給予了高度評價。

TPC-C基準(zhǔn)測試按性能排名前十位
在這則消息被刷爆朋友圈后,筆者內(nèi)心也是十分的激動,畢竟看到了我們國產(chǎn)自主研發(fā)的數(shù)據(jù)庫終于可以和世界頂級產(chǎn)品相媲美。不過,激動過后還要理性看待。究竟螞蟻金服的OceanBase究竟有多厲害呢?讓我們先了解下TPC-C基準(zhǔn)測試后,再來評價。
什么是TPC?
TPC( Transaction Processing Performance Council ),事務(wù)處理性能委員會,是由數(shù)10家會員公司創(chuàng)建的非盈利組織,總部設(shè)在美國。TPC的成員主要是計算機(jī)軟硬件廠家,它的功能是制定商務(wù)應(yīng)用基準(zhǔn)程序(Benchmark)的標(biāo)準(zhǔn)規(guī)范、性能和價格度量,并管理測試結(jié)果的發(fā)布。
TPC不給出基準(zhǔn)程序的代碼,而只是給出基準(zhǔn)程序的標(biāo)準(zhǔn)規(guī)范(Standard Specification)。任何廠家或其它測試者都可以根據(jù)規(guī)范,最優(yōu)地構(gòu)造出自己的系統(tǒng)(測試平臺和測試程序)。為保證測試結(jié)果的客觀性,被測試者(通常是廠家)必須提交給TPC一套完整的報告(Full Disclosure Report),包括被測系統(tǒng)的詳細(xì)配置、分類價格和包含五年維護(hù)費用在內(nèi)的總價格。該報告必須由TPC授權(quán)的審核員核實(TPC本身并不做審計),現(xiàn)在全球只有幾個審核員,全部在美國。
什么是TPC-C基準(zhǔn)測試?
TPC-C是在線事務(wù)處理(OLTP)基準(zhǔn)測試,TPC-C測試規(guī)范經(jīng)過兩年的研制,于1992年7月發(fā)布。
TPC基準(zhǔn)測試的目標(biāo)是定義一組可以在任何事務(wù)處理系統(tǒng)上運行的功能要求,而與硬件或操作系統(tǒng)無關(guān)。然后由測試發(fā)起人提交證明其已滿足所有要求的證據(jù)(以完整披露報告的形式)。這種方法允許任何使用“專有”或“開放”系統(tǒng)的供應(yīng)商實施TPC基準(zhǔn)。TPC基準(zhǔn)測試與其他基準(zhǔn)測試的不同之處還在于,TPC基準(zhǔn)測試是根據(jù)實際生產(chǎn)應(yīng)用程序和環(huán)境建模的,而不是獨立的計算機(jī)測試,后者可能無法評估關(guān)鍵性能因素,如用戶界面,通信,磁盤I/O,數(shù)據(jù)存儲,備份和恢復(fù)。
基準(zhǔn)模型
作為OLTP系統(tǒng)基準(zhǔn),TPC-C模擬了一個完整的環(huán)境,在該環(huán)境中,大量的終端操作員針對數(shù)據(jù)庫執(zhí)行事務(wù)。基準(zhǔn)以訂單輸入環(huán)境的主要活動(交易)為中心。這些交易包括輸入和交付訂單,記錄付款,檢查訂單狀態(tài)以及監(jiān)視倉庫中的庫存水平。但是,值得注意的是,TPC-C并不是要指定如何最好地實施訂單輸入系統(tǒng)。雖然基準(zhǔn)描述了批發(fā)供應(yīng)商的活動,但TPC-C不僅限于任何特定業(yè)務(wù)領(lǐng)域的活動,而是代表任何必須管理,銷售或分銷產(chǎn)品或服務(wù)的行業(yè)。
在TPC-C業(yè)務(wù)模型中,批發(fā)零件供應(yīng)商(以下簡稱為公司)在多個倉庫機(jī)器關(guān)聯(lián)的銷售區(qū)之外運營。TPC基準(zhǔn)旨在隨著公司的擴(kuò)展和新倉庫的建立而擴(kuò)展。但是,在擴(kuò)展基準(zhǔn)時必須保持某些一致的要求。
公司擁有若干個分布在不同區(qū)域的商品倉庫,每個倉庫負(fù)責(zé)為10個銷售區(qū)供貨,每個銷售區(qū)為3000個客戶提供服務(wù),每個客戶平均一個訂單有10項產(chǎn)品,每個倉庫都要維護(hù)公司銷售的100000個商品的庫存記錄。但實際上,一個倉庫可能不會滿足所有訂單中的所有產(chǎn)品,因此,TPC-C基準(zhǔn)測試要求所有訂單的近10%必須由公司的另一個倉庫提供貨物。
該系統(tǒng)需要處理的交易為以下幾種:
New-Order:客戶輸入一筆新的訂貨交易;
Payment:更新客戶賬戶余額以反映其支付狀況;
Delivery:發(fā)貨(模擬批處理交易);
Order-Status:查詢客戶最近交易的狀態(tài);
Stock-Level:查詢倉庫庫存狀況,以便能夠及時補(bǔ)貨。
對于前四種類型的交易,要求響應(yīng)時間在5秒以內(nèi);對于庫存狀況查詢交易,要求響應(yīng)時間在20秒以內(nèi)。
測試指標(biāo)
TPC-C的測試結(jié)果主要有兩個指標(biāo):
·性能(tpmC)
TPC-C基準(zhǔn)測試的性能由TPC-C吞吐率衡量,單位是tpmC。tpm是transactions per minute的簡稱;C指TPC中的C基準(zhǔn)程序。性能指標(biāo)描述了系統(tǒng)在執(zhí)行Payment、Order-status、Delivery、Stock-Level這四種交易的同時,每分鐘可以處理多少個New-Order交易。所有交易的響應(yīng)時間必須滿足TPC-C測試規(guī)范的要求。

TPC-C測試規(guī)范的要求
值得注意的是,tpmC反應(yīng)的是C/S整體系統(tǒng)的性能,它與系統(tǒng)的服務(wù)器和客戶機(jī)的性能都有關(guān)系,也就是說,同樣的服務(wù)器配置不同的客戶端將會影響tpmC值。
·性價比(Price/tpmC)
即測試系統(tǒng)價格(指在美國的報價)與流量指標(biāo)的比值。TPC-C 基準(zhǔn)測試中的價格是包括計算軟硬件價格以及三年服務(wù)價格,除了操作系統(tǒng)、數(shù)據(jù)庫、存儲、服務(wù)器等軟硬件以外,還包括針對TPC-C場景開發(fā)的應(yīng)用系統(tǒng),以及測試使用的電腦。
螞蟻金服OceanBase的過人之處
OceanBase項目于2016年立項,第一個用戶是淘寶收藏夾。2013年7月,淘寶廣告系統(tǒng)使用的Oracle數(shù)據(jù)庫下線,也是整個淘寶最后一個Oracle數(shù)據(jù)庫。2014年,螞蟻金服開展交易去O項目,即核心交易從Oracle遷移到OceanBase,在交易去O后,螞蟻金服將所有核心業(yè)務(wù)遷移到OceanBase。2015年,OceanBase成功上線網(wǎng)商銀行,成為全球首個應(yīng)用在金融核心業(yè)務(wù)系統(tǒng)的分布式關(guān)系數(shù)據(jù)庫。2016年,OceanBase替換了支付寶核心的賬務(wù)系統(tǒng)中的Oracle數(shù)據(jù)庫。2017年,支付寶首次把賬務(wù)庫在內(nèi)的所有核心數(shù)據(jù)鏈路搬到OceanBase上,并在雙十一創(chuàng)造了4200萬次/秒數(shù)據(jù)庫處理峰值的全新紀(jì)錄。

TPC-C基準(zhǔn)測試-螞蟻金服和Oracle使用的軟硬件環(huán)境信息對比圖
對比螞蟻金服OceanBase與9年前Oracle的基準(zhǔn)測試結(jié)果可以看出,螞蟻金服花費了當(dāng)年甲骨文測試總成本的近1.5倍,達(dá)到了后者當(dāng)年測試結(jié)果性能的兩倍。
對于此次螞蟻金服OceanBase的成功打榜,有質(zhì)疑榜單中的時效性。在TPC-C的測試結(jié)果排名頁面有句話,所有灰色背景的測試結(jié)果,由于軟硬件升級的原因而過期,測試結(jié)果有效期為3年。也就是說,此時在性能排名前50里,只有螞蟻金服是有效的,其他公司因為太久沒有參與測試,以前的測試結(jié)果全部過期。
雖然,九年時間里,軟硬件技術(shù)快速發(fā)展,但是,國產(chǎn)自研數(shù)據(jù)庫能夠成功打榜數(shù)據(jù)庫OLTP測試領(lǐng)域的權(quán)威標(biāo)準(zhǔn)TPC-C,也證明了我國的技術(shù)實力也在逐漸趕超。
值得注意的是,螞蟻金服OceanBase通過TPC-C基準(zhǔn)測試,是基于阿里云的ECS云服務(wù)器,總共使用了 204 臺 ECS i2 云服務(wù)器,成本取決于測試時間,因此螞蟻金服OceanBase這次TPC-C基準(zhǔn)測試的硬件成本占到總成本近18%,而Oracle的硬件成本則占總成本的76%。螞蟻金服OceanBase的價格則因為軟件定價則相對較高。
如何理性看待
TPC-C基準(zhǔn)測試雖然可以反映出系統(tǒng)性能的優(yōu)良,但是企業(yè)為了測試打榜而搭建的軟硬件系統(tǒng),肯定是經(jīng)過充分優(yōu)化過的。這里的系統(tǒng)包括主機(jī)、外設(shè)(如硬盤或RAID)、主機(jī)端操作系統(tǒng)、數(shù)據(jù)庫軟件、客戶端計算機(jī)及其操作系統(tǒng)、數(shù)據(jù)庫軟件和網(wǎng)絡(luò)連接等等。因此,性能數(shù)據(jù)說明的是系統(tǒng)的整體性能,而不能是單一產(chǎn)品的。用戶在選擇時,還需要根據(jù)自己企業(yè)的業(yè)務(wù)特點、實際的系統(tǒng)、考量標(biāo)準(zhǔn)等多重因素來進(jìn)行選擇,不應(yīng)盲目的根據(jù)榜單中的tpmC值一概而論。
此外,大多數(shù)基準(zhǔn)程序都是在美國制訂的,而中國企業(yè)與美國的運作方式不一樣,因此,中國企業(yè)的應(yīng)用是否符合TPC-C基準(zhǔn)測試中的批發(fā)商業(yè)務(wù)模型?事務(wù)請求是否與標(biāo)準(zhǔn)中的比例近似?所以,在某些情況下,tpmC值僅僅就是參考值。
【51CTO原創(chuàng)稿件,合作站點轉(zhuǎn)載請注明原文作者和出處為51CTO.com】