如今,戰(zhàn)場(chǎng)初定,風(fēng)波敉平,昔日的艱苦和忙碌都被拋在腦后。OceanBase 起錨,航向新..

"/>
ITBear旗下自媒體矩陣:

OceanBase二度登頂TPC-C:螞蟻技術(shù)人的砥礪前行

   時(shí)間:2020-05-23 10:55:41 來(lái)源:互聯(lián)網(wǎng)編輯:星輝 發(fā)表評(píng)論無(wú)障礙通道
一群人站在室內(nèi)

描述已自動(dòng)生成

2019 年 8 月,阿里巴巴自研分布式關(guān)系數(shù)據(jù)庫(kù) OceanBase 圓滿通過(guò) TPC-C 測(cè)試,超越老牌數(shù)據(jù)庫(kù)巨頭 Oracle,登頂世界第一。2020 年 5月,OceanBase再次登頂,將自己的紀(jì)錄刷新了 11 倍。這兩張漂亮的成績(jī)單來(lái)自于 OceanBase 誕生至今走過(guò)的十年艱辛之路,這背后既有前輩元老的篳路藍(lán)縷,也有無(wú)數(shù)螞蟻技術(shù)人的砥礪前行,薪火相傳。

2019 年 8 月,那條性能曲線平穩(wěn)地出現(xiàn)在了杭州螞蟻總部的大屏幕上。

第一次 TPC-C 測(cè)試圓滿結(jié)束,團(tuán)隊(duì)成員歡呼雀躍,沉浸在登頂世界第一、超越老牌數(shù)據(jù)庫(kù)巨頭 Oracle 的喜悅當(dāng)中。當(dāng)時(shí)沒(méi)有人會(huì)想到,這個(gè)剛剛嶄露頭角的自研分布式關(guān)系數(shù)據(jù)庫(kù) OceanBase,會(huì)在半年之后將自己的紀(jì)錄再度刷新 11 倍。

圖片包含 游戲機(jī), 大, 屏幕, 站

描述已自動(dòng)生成

登頂世界第一后,對(duì) OceanBase 的質(zhì)疑也接踵而來(lái):

有人說(shuō),Oracle 的數(shù)據(jù)是 9 年前測(cè)的,它的硬件提升早已今非昔比;還有人指出,2013 年 Oracle 單臺(tái)工作站跑分達(dá)到 800 萬(wàn),而它最多可將 27 臺(tái)工作站聯(lián)在一起組成集群。換句話說(shuō),Oracle 有實(shí)力跑出數(shù)千萬(wàn)甚至上億的分?jǐn)?shù)。

團(tuán)隊(duì)心里憋著一股氣。OceanBase 創(chuàng)始人陽(yáng)振坤皺起眉頭,說(shuō):“再測(cè)一次吧。”

2020 年 5 月,OceanBase 第二次參加 TPC-C 跑分測(cè)試,最終成績(jī)達(dá)到了 7.07 億 tpmC,新創(chuàng)造的紀(jì)錄是去年的 11.6 倍。相比于去年的興師動(dòng)眾,杭州、北京兩個(gè)團(tuán)隊(duì)晝夜攻堅(jiān),第二次測(cè)試就顯得輕車熟路、高歌猛進(jìn)。用 OceanBase 技術(shù)專家曹暉的話說(shuō),這是因?yàn)?ldquo;該踩的坑都已經(jīng)踩過(guò)了”。

如今的盛況,在十年前簡(jiǎn)直是一種奢望,OceanBase 這個(gè)由阿里自研的分布式數(shù)據(jù)庫(kù),剛起步時(shí)可說(shuō)是舉步維艱。2010 年,陽(yáng)振坤提出獨(dú)立開發(fā)數(shù)據(jù)庫(kù)的設(shè)想時(shí),幾乎所有人都提出了質(zhì)疑:“到底行不行?”

數(shù)據(jù)庫(kù)是企業(yè)的命脈,尤其是金融機(jī)構(gòu)的數(shù)據(jù)庫(kù),出一點(diǎn)問(wèn)題就意味著巨大的損失。誰(shuí)也不敢冒著風(fēng)險(xiǎn)使用不成熟的技術(shù)。

就在這樣無(wú)人問(wèn)津的窘境中,OceanBase 從無(wú)到有,一點(diǎn)一點(diǎn)艱難地扎根和生長(zhǎng)。從最初唯一的業(yè)務(wù)是淘寶收藏夾,到 2017 年雙十一承載包括整個(gè)支付寶賬務(wù)庫(kù)在內(nèi)的核心系統(tǒng),年輕的 OceanBase 逐漸成為阿里業(yè)務(wù)的一大支柱。2019 年,這個(gè)誕生 9 年多的數(shù)據(jù)庫(kù)首次參加了全球事務(wù)處理性能委員會(huì)組織的 OLTP 數(shù)據(jù)庫(kù)權(quán)威測(cè)試 TPC-C,以 6088 萬(wàn) tpmC 的數(shù)據(jù)傲立世界之巔。

再到 2020 年 5 月,這個(gè)紀(jì)錄又被自己打破。

“第一次感覺(jué)不可思議,第二次就在意料之中了。”談及短短 8 個(gè)月內(nèi)的兩次“高光時(shí)刻”,曹暉復(fù)述了自己從激動(dòng)到平靜的心路歷程,“第二次測(cè)試的準(zhǔn)備時(shí)間比較久,模擬的時(shí)間也足夠,不可預(yù)知性就會(huì)小很多。”

千帆過(guò)盡,只余從容。OceanBase 的兩度登頂之路,從驚險(xiǎn)刺激到閑庭信步,離不開背后這些螞蟻技術(shù)人的傾力支撐。

01 “這不是一個(gè)人能干成的事兒”

談及 OceanBase 的第一次測(cè)試,曹暉仍然心有余悸。

“預(yù)審計(jì)前的那段時(shí)間是最困難的,真的快熬不住了。”曹暉告訴我們,從 8 月 1 日第一次上 200 臺(tái)服務(wù)器集群開始,TPC-C 項(xiàng)目組幾乎有兩周的時(shí)間不眠不休。甚至在審計(jì)抵達(dá)杭州之后,OceanBase 的壓測(cè)曲線還是不滿足要求。組員白天和審計(jì)員溝通,晚上通宵排查問(wèn)題,“每個(gè)人都在超負(fù)荷運(yùn)轉(zhuǎn)”。

從調(diào)研階段的存儲(chǔ)空間摸底,到攻堅(jiān)階段的性能優(yōu)化,再到后來(lái)操作壓測(cè)集群、與審計(jì)員溝通和修改測(cè)試腳本……身為 TPC-C 項(xiàng)目的核心技術(shù)人員,曹暉肩上的擔(dān)子不比任何人輕松。壓力最大的那段時(shí)間,他直到每天早上五六點(diǎn)鐘才離開公司。

逢山開路,遇水搭橋,在首次登頂世界冠軍后,團(tuán)隊(duì)成員終于摸清了 TPC-C 嚴(yán)格測(cè)試流程中的那些坑。時(shí)隔半年,面對(duì)陽(yáng)振坤定下的“小目標(biāo)”,曹暉不怕了,他的心態(tài)很從容:“必須要做到,也能夠做到。”

壓測(cè)、修改、優(yōu)化,一切按部就班。結(jié)果出來(lái)的那一刻,他的感受更接近于“釋然”,好像心里的一塊石頭落地。

耀眼的成績(jī)背后,是一群齊心協(xié)力攻堅(jiān)的戰(zhàn)友。說(shuō)到自己所在的 OceanBase 團(tuán)隊(duì),曹暉用了“樸實(shí)”這個(gè)詞來(lái)形容。這和他給人留下的第一印象相一致:樸實(shí)、耿直、穩(wěn)重,不大會(huì)說(shuō)漂亮話,唯有在涉及技術(shù)的話題上,他才打開了話匣子滔滔不絕。

“數(shù)據(jù)庫(kù)是一個(gè)底層的軟件,如果你太浮躁,就沒(méi)辦法靜下心來(lái)做一個(gè)基礎(chǔ)軟件的內(nèi)核開發(fā)。”回顧 OceanBase 艱難的誕生史,這句話并不難理解:自研數(shù)據(jù)庫(kù)需要投入極大的人力和心力,而在短時(shí)間內(nèi)根本看不到回報(bào),相比之下,購(gòu)買第三方數(shù)據(jù)庫(kù)無(wú)疑是更省時(shí)省力的選擇。在 OceanBase 立項(xiàng)之初,阿里內(nèi)部曾經(jīng)爆發(fā)過(guò)極大的矛盾,許多員工都不理解為什么要自研數(shù)據(jù)庫(kù),在他們看來(lái),這無(wú)異于舍近求遠(yuǎn),引火燒身。

這條路有多難走,輝煌背后有多少苦難,OceanBase 團(tuán)隊(duì)的同學(xué)們冷暖自知。

“這不是一個(gè)人能干成的事兒。”曹暉說(shuō)。

劉浩(OceanBase 技術(shù)專家)參與了兩次 TPC-C 項(xiàng)目,“在過(guò)去一年多的時(shí)間里,有幸和這么一個(gè)強(qiáng)悍的團(tuán)隊(duì)一起參與了 OceanBase 兩次登頂 TPC-C 的全過(guò)程。TPC-C 登頂不僅僅是 OceanBase 每一位同學(xué)努力后的成果,也離不開很多兄弟團(tuán)隊(duì)的支持和協(xié)助。”

這兩次 TPC-C 測(cè)試交出的漂亮成績(jī)單來(lái)自于 OceanBase 誕生至今走過(guò)的十年艱辛之路。這背后既有前輩元老的篳路藍(lán)縷,也有無(wú)數(shù)螞蟻技術(shù)人的薪火相傳。

02 “特別純粹的技術(shù)人”

“這是一個(gè) Impossible Mission(不可能的任務(wù))。”

這是 OceanBase 高級(jí)技術(shù)專家趙裕眾在剛看到 OceanBase 的性能曲線時(shí),腦海里蹦出來(lái)的第一個(gè)念頭。要在 TPC-C 測(cè)試中超過(guò)世界紀(jì)錄保持者 Oracle,彼時(shí)的 OceanBase 性能還有很大差距。

但團(tuán)隊(duì) Leader 陽(yáng)振坤很樂(lè)觀:“我們的目標(biāo)是服務(wù)全世界!”

服務(wù)全世界,做一個(gè)世界領(lǐng)先的分布式數(shù)據(jù)庫(kù),這個(gè)宏大的愿景從 2013 年趙裕眾加入團(tuán)隊(duì)時(shí)起就鼓舞著他,也一路支撐著他度過(guò)那些難熬的時(shí)光——當(dāng)然也包括初次參加 TPC-C 測(cè)試時(shí),攻堅(jiān)組成員把自己關(guān)在項(xiàng)目室里,南北兩地同步,沒(méi)日沒(méi)夜地閉關(guān)加班。

問(wèn)題大把大把地涌現(xiàn),頭發(fā)也大把大把地掉,項(xiàng)目室墻上畫的性能曲線飛速上漲,幾乎每星期都會(huì)出現(xiàn)一個(gè)陡峭的提升。TPC-C 審計(jì)員來(lái)到杭州,項(xiàng)目組只來(lái)得及請(qǐng)他吃了頓盒飯,然后又馬不停蹄地投入到性能優(yōu)化工作中去。

圖片包含 人, 建筑, 男人, 對(duì)著

描述已自動(dòng)生成

TPC-C 審計(jì)員與 OceanBase 項(xiàng)目組部分同學(xué)合影

終于,當(dāng)那條壓測(cè)曲線平穩(wěn)地出現(xiàn)在屏幕上時(shí),所有人都松了口氣。

第一次看到成績(jī)時(shí),趙裕眾難以抑制心中的激動(dòng),OceanBase 的測(cè)試數(shù)據(jù)達(dá)到了 Oracle 的兩倍,這項(xiàng)塵封 9 年的世界紀(jì)錄被阿里人打破了。相較之下,第二次 TPC-C 測(cè)試的成績(jī)雖然更驚人,他的反應(yīng)反而比較平淡,經(jīng)歷過(guò)一次 Impossible Mission,他已經(jīng)知道了自家數(shù)據(jù)庫(kù)的優(yōu)勢(shì)所在。

“架構(gòu)上來(lái)說(shuō),分布式具有更好的擴(kuò)展性。”趙裕眾告訴我們,“單機(jī)數(shù)據(jù)庫(kù)無(wú)論硬件怎么提升,性能都是有極限的,而分布式數(shù)據(jù)庫(kù)的擴(kuò)展性可以說(shuō)是無(wú)限的。”

也正是得益于自身的分布式架構(gòu),OceanBase 能把所有與高可靠性和數(shù)據(jù)一致性相關(guān)的問(wèn)題在數(shù)據(jù)庫(kù)內(nèi)核層面解決,這使得 OceanBase 真正具備了高度集成、整體交付、對(duì)業(yè)務(wù)少侵入甚至無(wú)侵入的商業(yè)數(shù)據(jù)庫(kù)特征。通過(guò)原生的分布式設(shè)計(jì)以及 PAXOS 協(xié)議等,OceanBase 實(shí)現(xiàn)了強(qiáng)一致、高可用、高性能,以及天然的高度可擴(kuò)展性——這體現(xiàn)在第二次 TPC-C 測(cè)試中,所需的人力和優(yōu)化工作相比去年有了顯著的減少。

OceanBase 團(tuán)隊(duì)在這場(chǎng)世界級(jí)的爭(zhēng)奪戰(zhàn)中立下了汗馬功勞。趙裕眾感慨:“這是一群特別純粹的技術(shù)人。”

在數(shù)據(jù)庫(kù)這條賽道上,這群純粹的家伙始終在追求夢(mèng)想,追求卓越。陽(yáng)振坤口中“做一個(gè)世界領(lǐng)先的數(shù)據(jù)庫(kù)”,也正是每一個(gè) OceanBase 團(tuán)隊(duì)成員心懷的信念。

03 “只有阿里這樣的公司才能做到”

我們問(wèn)成肖君(OceanBase 資深測(cè)試開發(fā)專家),在 OceanBase 參與的兩次 TPC-C 測(cè)試中,哪個(gè)時(shí)刻讓他最有成就感。這名加入 OceanBase 團(tuán)隊(duì)八年的老兵不假思索地說(shuō),是第一次在 TPC-C 官網(wǎng)上看到測(cè)試結(jié)果時(shí),他急不可耐地把消息轉(zhuǎn)發(fā)到了自己的校友群。

群里艷羨的聲音此起彼伏,也不乏遺憾的慨嘆:“我們?cè)趯W(xué)校里是做不出這樣的成果的,只有阿里這樣的公司才能做到!”

成肖君告訴我們,登上 TPC-C 的排行榜是每一個(gè)數(shù)據(jù)庫(kù)從業(yè)者的夢(mèng)想。作為全球最具公信力的聯(lián)機(jī)交易處理(OLTP)數(shù)據(jù)庫(kù)測(cè)試標(biāo)準(zhǔn),TPC-C 測(cè)試是一款商業(yè)數(shù)據(jù)庫(kù)向業(yè)界證明實(shí)力最直接的硬指標(biāo)。在此之前,TPC-C 的榜單長(zhǎng)期被 Oracle、IBM 等外國(guó)廠商壟斷,從未出現(xiàn)過(guò)中國(guó)自研品牌的身影。

“學(xué)校里有些老師,一輩子的夢(mèng)想就是排進(jìn)這個(gè)榜單。”成肖君說(shuō)。

而夢(mèng)想實(shí)現(xiàn)的道路勢(shì)必艱辛。TPC-C 測(cè)試需要模擬真實(shí)的交易環(huán)境,測(cè)試工具必須嚴(yán)格按照 TPC 委員會(huì)發(fā)布的標(biāo)準(zhǔn)搭建,光是技術(shù)文檔就長(zhǎng)達(dá) 100 多頁(yè),再加上 Oracle 占領(lǐng)榜單巔峰已有 9 年之久,要達(dá)成夢(mèng)想談何容易。

測(cè)試成績(jī)?cè)诠倬W(wǎng)公開之前,OceanBase 團(tuán)隊(duì)眼中“看到的全是問(wèn)題”,直到審計(jì)員抵達(dá)杭州的前一周,成肖君還在忙于突破測(cè)試開發(fā)方面的重重阻礙。火燒眉毛的他給陽(yáng)振坤打電話:“審計(jì)員的行程能不能推遲一下?再給我一兩個(gè)星期吧!”

度過(guò)沮喪和焦慮,度過(guò)實(shí)現(xiàn)夢(mèng)想的驚喜,成肖君的心態(tài)也跟 OceanBase 團(tuán)隊(duì)的許多人一樣趨向平靜??吹?7.07 億次 tpmC 的最新成績(jī),他笑言:已經(jīng)沒(méi)有當(dāng)初那種震撼感了。

“以前在 OLTP(聯(lián)機(jī)事務(wù)處理)這個(gè)領(lǐng)域,國(guó)內(nèi)從來(lái)沒(méi)有數(shù)據(jù)庫(kù)上榜,那時(shí)候(我們奪冠)是一個(gè)開創(chuàng)性的工作。”成肖君坦言,“而從去年的測(cè)試報(bào)告里,懂的人其實(shí)已經(jīng)能夠看出 OceanBase 的優(yōu)勢(shì)了。”言下之意,分布式架構(gòu)成就了 OceanBase,第二次 TPC-C 測(cè)試無(wú)非讓這個(gè)優(yōu)勢(shì)展現(xiàn)得更加清晰。

一群人站在一起

描述已自動(dòng)生成

很多年前的一張 OceanBase 團(tuán)隊(duì)成員合影

談及團(tuán)隊(duì),他脫口而出的第一個(gè)詞是“另類”:

“OceanBase 這個(gè)團(tuán)隊(duì)挺‘另類’的,整體的技術(shù)氛圍非常好。”成肖君言談間既有戲謔,也有珍視,“現(xiàn)在要找到這樣一個(gè)能夠長(zhǎng)期沉下來(lái)、專心做事情,并且把它做精、做深、做長(zhǎng)遠(yuǎn)的團(tuán)隊(duì),是非常難的。”

04 遠(yuǎn)航

未來(lái),OceanBase 還將走向何方?

“以前是跑一百米,現(xiàn)在是跑完一百米的基礎(chǔ)上,再跑一萬(wàn)米。”OceanBase 資深技術(shù)專家莊明強(qiáng)這么比喻。

兩次漂亮的 TPC-C 測(cè)試,不僅給團(tuán)隊(duì)成員吃下了定心丸,也鋪平了 OceanBase 向外部發(fā)展的道路。成肖君給現(xiàn)在的 OceanBase 打 70 分:“目前已經(jīng)及格了,下一步我們還要提升易用性,讓企業(yè)用更便宜的價(jià)格更容易地使用到它,服務(wù)到更多的外部客戶。”

走向外部,航向遠(yuǎn)海,讓更多企業(yè)享受到技術(shù)的便利。在啃下 TPC-C 測(cè)試這塊硬骨頭之后,團(tuán)隊(duì)要做的事情還有很多。

我們問(wèn)曹暉,加入 OceanBase 團(tuán)隊(duì)為他帶來(lái)了哪些變化?曹暉回答:主要是做事的態(tài)度變了。“我們團(tuán)隊(duì)的氛圍是腳踏實(shí)地,做事的態(tài)度很嚴(yán)謹(jǐn),從來(lái)不會(huì)想著走捷徑,而是真正地、徹底地、從根本上解決問(wèn)題。我以前往往會(huì)投機(jī)取巧,想一些更 trick(技巧性)的方法去繞過(guò)測(cè)試標(biāo)準(zhǔn),只是為了測(cè)試而測(cè)試。”

像這樣“應(yīng)試型”的優(yōu)化方式也曾擺在 OceanBase 團(tuán)隊(duì)眼前,但早在第一次參加 TPC-C 測(cè)試時(shí),曹暉在冥冥中就有一種預(yù)感:“如果我們真的做了這些事,就絕對(duì)過(guò)不了測(cè)試。”

這個(gè)樸實(shí)、純粹又“另類”的團(tuán)隊(duì),不懂繞路,不玩 trick,只懂得全身心撲上去解決問(wèn)題。難關(guān)太多,就鎖在項(xiàng)目室里晝夜調(diào)試、攻堅(jiān)克難;人員規(guī)模不夠,就拉上螞蟻的多個(gè)兄弟團(tuán)隊(duì)一起加班。今年 2 月,TPC-C 項(xiàng)目組獲得了螞蟻集團(tuán)年度大獎(jiǎng) Super Ma,頒獎(jiǎng)詞盛贊他們創(chuàng)造了“中國(guó)科技的驕傲”。幾位披荊斬棘的主將站在一起,他們?cè)谧钇D難的時(shí)刻并肩戰(zhàn)斗,終于在萬(wàn)眾歡呼聲中捧起金杯。

如今,戰(zhàn)場(chǎng)初定,風(fēng)波敉平,昔日的艱苦和忙碌都被拋在腦后。OceanBase 起錨,航向新的海域。

舉報(bào) 0 收藏 0 打賞 0評(píng)論 0
 
 
更多>同類資訊
全站最新
熱門內(nèi)容
網(wǎng)站首頁(yè)  |  關(guān)于我們  |  聯(lián)系方式  |  版權(quán)聲明  |  網(wǎng)站留言  |  RSS訂閱  |  違規(guī)舉報(bào)  |  開放轉(zhuǎn)載  |  滾動(dòng)資訊  |  English Version