...

幫助阿裡省了(le)幾百個(gè)億,它開啟了(le)分(fēn)布式數據庫男長新(xīn)紀元

2022-01-19

對中國的電商(shāng)公司來(lái)說(shu場要ō),1 萬億元 GMV 意味着什(shén)麼?

回到十年前,這(zhè)個(gè)答(dá)案是:意味着他們要給 IO資兒E(IBM、Oracle、EMC)三家美國公線飛司 200 億元采購(gòu)費,而且是每年都要給。這高頻(zhè)筆錢(qián)甚至會超過他們自身(shēn)當年章影所能(néng)賺取的利潤。

如(rú)果這(zhè)件事(shì)真的發生(shēng),中國後來(lái微些)諸多巨無霸一(yī)樣的互聯網公司都會成為(wèi)區那美國公司的打工人(rén)。

但(dàn)是十年過去,現(xiàn)實并非如(樂也rú)此,這(zhè)一(yī)切都要從一(yī)位叫陽振坤的科學家說計玩(shuō)起。

很多年前,他曾追随老師王選院士打造激光照排。

現(xiàn)在他又創造了(le)世界上(shàng)第一(yī)個(g去男è)真正意義上(shàng)的分(fēn)布式數據庫場煙 OceanBase。

幫助阿裡省了(le)幾百個(gè)億,它開啟了(le)分(fēn)布式數據庫新(xīn)紀元

OceanBase 創始人(rén)首席科學家:陽振坤(花名:正祥)

一(yī)、一(yī)波三折的内部創業

事(shì)實上(shàng),OceanBase 從在阿裡立項之日起,就(j來南iù)面臨着夭折的危機。

陽振坤對雷峰網說(shuō)起這(zhè)事(shì),隻是腼腆化行地笑(xiào)着,操着稍帶湖北口音(yīn)的老家話(huà),弟離言語不緊不慢(màn)。

但(dàn)是,他很清楚這(zhè)件事(shì)的重要性:“如(rú)為聽果當時(shí),我們沒有做 OceanBase,後來(lái)的其他公司要女鐵做數據庫就(jiù)隻剩一(yī)條路(lù),就(謝的jiù)是‘穿馬甲’——把開源的東西(xī熱車)拿過來(lái),改成自己的‘馬甲’,然後場暗去做。”

在阿裡之前的戰略會上(shàng),“去紅學 IOE”這(zhè)個(gè)戰略方向曾經得到們體阿裡首席技術官王堅博士的堅持,前文 200 億元去房的說(shuō)法就(jiù)是他算(s區快uàn)出來(lái)的。

幫助阿裡省了(le)幾百個(gè)億,它開啟了(le)分(fēn)布式數據庫新(xīn)紀元

阿裡巴巴集團技術委員(yuán)會主席王堅(花名:博士)

阿裡前 CEO 衛哲為(wèi)雷峰網回憶飛火過當日場(chǎng)景。

王堅為(wèi)增加說(shuō)服力,甚至拉上(shàng)了綠醫(le)已經退休的 CTO 吳炯,讓他從技術的角度談了(le)得匠亞馬遜和谷歌(gē)的情況,作(zuò)為(wèi)整體(tǐ)鋪墊;然鐵月後自己再從财務(wù)的精算(suàn),把 1 萬億元 GMV 折算(s林街uàn)成數據量,再折算(suàn)成需要的 IBM 南靜小型機數量、Oracle 數據庫量、EMC 存儲數量,最後換算(s議筆uàn)成具體(tǐ)價格相加。

王堅算(suàn)完之後,阿裡執委會的所有人(rén)報明都服氣了(le),算(suàn)是從高管電遠層面解決了(le)這(zhè)個(gè)問題。(當日現(電黑xiàn)場(chǎng)討(tǎo)論非常精彩,細答白節請看《沸騰十五年》修訂版。)

但(dàn)是,光說(shuō)服上(shàng)從睡面的人(rén)是不夠的,下(xià)面的執行者都是 O得你racle、EMC 工程師,“去 IOE”其實就(jiù)是砸他們的飯碗明上,他們怎麼會支持呢(ne)。

在陽振坤開啟 OceanBase 項目之時(sh視店í),他聽(tīng)到的負面的、否定的聲音(靜城yīn),遠(yuǎn)多于支持的聲音(yīn)。

作(zuò)為(wèi)創新(xīn)者,逆風短友(fēng)而行是必須要承擔的代價,如(rú說習)果不能(néng)到達彼岸,就(jiù)會妹微摔在地上(shàng),聽(tīng)到鋪天蓋地的讪笑(x頻高iào)。

兩年,這(zhè)是阿裡給陽振坤的期限,也(yě)是阿裡高管們能(néng)為行答(wèi)他頂住壓力的時(shí)間(jiān)。兩年内做出成績,公司全力支持日朋;做不出成績,就(jiù)隻能(néng)卷鋪笑風蓋走人(rén)。

背着這(zhè)樣的壓力,陽振坤帶着 Oce校爸anBase 團隊出發了(le)。

陽振坤想做的體(tǐ)系是原生(shēng)分(f見坐ēn)布式數據庫。如(rú)果成功,OceanBase 将有機會幫助企業構建費窗新(xīn)一(yī)代的核心系統。

在 OceanBase 之前,以 Oracl章弟e 為(wèi)主導的巨頭們使用的都是“集中式數據庫”。如吃黃(rú)果将數據庫的處理(lǐ)能(néng)窗看力和容量類比為(wèi)“馬拉車”,集中式數據庫的解決方案是把“馬”做大,讓單森畫機實力更加強勁,帶動數據的存儲和處理(lǐ)。

但(dàn)集中式數據庫也(yě)存在問題。一(y制票ī)方面,誕生(shēng)于數十年前的集中式數據庫太老,很難應對指數級增長還笑的容量需求。當“馬”的增長很難跟上(shàng)“車”的速度,那麼系統購少的崩潰就(jiù)隻是時(shí)間(jiān報錯)問題。企業仍然可以通過加大金(jīn)錢(qián呢兒)投入,來(lái)增加數據庫的能(néng)力,但(dàn)成本卻也(y為麗ě)将大大提升。

另一(yī)方面,集中式的數據庫應對風(fēng)險的防控能(néng)力司東很差。如(rú)果集中式數據庫中的一(yī)制你台機器(qì)出現(xiàn)故障,那麼整個(gè)系統都好不可能(néng)面臨崩潰的風(fēng)險,牽一(新機yī)發而動全身(shēn)。

既然獨木難支,為(wèi)何不“衆人(rén)拾柴”?本就機男(jiù)對分(fēn)布式頗有研究,陽振坤想到,西員可以動用許多“小馬”,一(yī)起來(lái)科厭拉動這(zhè)輛“大車”。

這(zhè)就(jiù)是原生(shēng)分(fēn)布式數據庫 刀到OceanBase 靈感的來(lái)源,而在 2010 年,快下世界上(shàng)都沒有人(rén)提出過這(zhè章時)種思路(lù)。陽振坤振臂一(yī)呼,可以說(shu關短ō)是“前無古人(rén)”。

相比傳統的集中式數據庫,分(fēn)布式數據庫可擴展性吃如更強。面對飛速增長的需求,OceanBase 不依賴單機朋費,可以做到簡單、便宜的擴容。同時(shí),原先的小型機一(小南yī)台也(yě)要幾十上(shàng)百萬,在請靜 OceanBase 分(fēn)布式的構想中,便宜的單機也(yě)可以拿來(理開lái)做服務(wù)器(qì),從幾十萬到幾山作萬,OceanBase 比 Oracle 便宜了(le)不止一(yī說音)點半點。

分(fēn)布式數據庫容災性也(yě)更強。到電由于 OceanBase“不把雞蛋放(fàng)在一(yī)老校個(gè)籃子(zǐ)裡”,當體(tǐ)系中某個(gè)單機出現(xià通兵n)問題時(shí),數據庫仍然能(néng)夠穩定運行。“三地五黃雨中心,同城三機房(fáng)”,螞蟻的體(tǐ)系如房金(rú)此設計,隻要大多數設備不同時(shí)宕機,系統的運行就(jiù)行書不會受到影響。

HTAP(混合事(shì)務(wù)分(fēn)析處理(lǐ人姐)),這(zhè)是 OceanBase 的不物又一(yī)大利器(qì)。

數據庫的功能(néng)大緻可以分(fēn)為(wèi)校子兩類——OLTP 和 OLAP。

OLTP 指“在線事(shì)務(wù)和交見玩易處理(lǐ)”,也(yě)就(jiù)是“記賬”。買家的每一(yī微路)筆支出、商(shāng)家的每一(yī)單銷售,在平台村現上(shàng)産生(shēng)的每一(yī)條數身相據都要分(fēn)門别類記載清楚。

OLAP 指“在線分(fēn)析處理(lǐ)”,也(yě)就(jiù)車道是“數據分(fēn)析”。分(fēn)析用戶偏好服們(hǎo)(hǎo)、分(fēn)析運營數據等能(néng)短什力都位列其中。

數據庫的用戶既有“記賬”的需求,又有“分(fēn)析”的需求,高男但(dàn)這(zhè)兩種需求卻通常需要以兩個(gè)不同的數據庫系但體統來(lái)分(fēn)别滿足,市(shì)場(chǎng)上(sh海開àng)少有可靠的、一(yī)站(zhàn)式的解鄉美決方案。操作(zuò)兩種系統,成本和難兒藍度自然更高。

如(rú)同左腦和右腦,“記賬”和“分(f你文ēn)析”是兩種不同的數據處理(lǐ)方式。謝煙“記賬”需要實時(shí)與系統交互,數據要“逐生師行”存儲;而分(fēn)析則需要縱向對比書林,數據要“逐列”存儲。 

OceanBase 做的,就(jiù)是把“左腦”和“右腦”合并了木村(le)起來(lái),形成了(le)一(yī)站(zhàn)式的解讀技決方案。方便,而且便宜。說(shuō)起來(lái)簡單,将“行存”和“列存公高”做到一(yī)起并非易事(shì),而分(fēn)布式的架看請構設計又為(wèi) HTAP 模式提供了(le)技術上(sh還車àng)的可行之處。

體(tǐ)系設計雖好(hǎo)(hǎo),但(d錯照àn)實話(huà)說(shuō),2 年真的不太夠用。

OceanBase 在頭兩年的成果難說(shuō去紙)讓人(rén)滿意,陽振坤自然深知這(zhè)一(yī)點。問靜在 2012 年底的時(shí)候,功能(néng)還有樂影許多沒能(néng)實現(xiàn),團隊也(yě)不地廠夠完備。在産品的第一(yī)關(guān),Oc友場eanBase 就(jiù)輸了(le)。

缺乏業務(wù)也(yě)是 OceanBase 個些遇到的又一(yī)個(gè)難題。阿裡内部的匠歌各業務(wù)群也(yě)當然并非“一(yī)心同體廠就(tǐ)”,業務(wù)老大們要背自己的業務(wù)指标,總部做決就森定也(yě)要考慮到他們的利益,數據庫是底層系統,討音不能(néng)強制他們“說(shuō)換就聽大(jiù)換”。在部門牆之下(xià),OceanBas文農e 初來(lái)乍到,還沒有與各業務(wù)部門建那小立起信任感,隻能(néng)自下(xià)而上(是匠shàng)地“推銷”自己的産品,自然事(shì)倍功半就見。

眼見 2 年之期将至,OceanBase 面臨着随時(s風謝hí)可能(néng)被公司關(guān)停的狀況。

内外交困下(xià),陽振坤還是獲得了(le)第二次機會。紅答

傳說(shuō)中,還是陽振坤特意飛去杭州阿裡總部,找到了(le)他在微軟的老女影同事(shì)王堅。王堅時(shí)任阿裡廠路 CTO,當時(shí)也(yě)是他在中睡阿裡雲最難的時(shí)候。他深知陽振坤在阿裡從事(shì)科研的難度,為公也(yě)能(néng)看到 OceanBase 在未來(lái)數畫數據庫競争中的潛力,于是在和相關(guān)領導協商(shāng)討廠後,發下(xià)了(le)一(yī)紙調令。

不久後,OceanBase 就(jiù)被調整到了(le)支付寶體(tǐ)系下但司(xià)。

但(dàn)問及這(zhè)段時(shí)間(jiān),陽振坤心中第一(睡不yī)個(gè)想到的是現(xiàn)任阿裡的 CTO 程立笑老,花名魯肅。在陽振坤和團隊來(lái)到支秒件付寶後,作(zuò)為(wèi)阿裡技術人(rén)心生村中“神一(yī)樣的人(rén)物”,魯肅也(yě)看好(hǎo)(hǎo)一時原生(shēng)分(fēn)布式數據庫的前景,于是幫唱些助陽振坤在支付寶站(zhàn)穩了(le)腳跟,子讀這(zhè)也(yě)為(wèi) Ocean懂愛Base 在日後的崛起埋下(xià)了(le)伏筆。

幫助阿裡省了(le)幾百個(gè)億,它開啟了(le)分(fēn)布式數據庫新(xīn)紀元

阿裡巴巴 CTO 程立(花名:魯肅)

二、2014,逆襲的号角吹響

2014 年,在支付寶,陽振坤和 OceanBase 終于等到了(le)千多學載難逢的機會。 

當年,雙十一(yī)的交易量預期又将創下間水(xià)紀錄。面對又一(yī)次大考,支付寶内購爸部的數據庫工程師如(rú)臨大敵,又如(放頻rú)火(huǒ)如(rú)荼地開始了(le)數討老據庫跑量的壓力測試。

大敵當前,陽振坤和他的團隊卻還在坐冷闆凳。多次主動熱國請纓,支付寶卻僅讓 OceanBase 承擔1% 的業務(wù吃裡)流水。又是一(yī)年的失望,屬于 OceanBa服機se 的翻盤點似乎還遙不可及。

前文也(yě)提到了(le),OceanBase 黑你的功能(néng)和結構都比 Oracle 要強勁很多,為(wèi)什(shé姐農n)麼支付寶沒有全面推廣 OceanBase 應用呢(ne笑計)?

IOE 體(tǐ)系就(jiù)是數據庫界的 PUA。你明知它貴時我,你明知它不好(hǎo)(hǎo)用,你明知有更便宜、便捷的解決大老方案,但(dàn)你願意相信它。在 ToB 生(shē但生ng)意裡,信任最為(wèi)難能(néng)可貴。

“你如(rú)何保證 OceanBase 不弄丢支付寶用戶的一(yī)綠輛分(fēn)錢(qián)?”魯肅的這(zhè)句話(hu黃票à)也(yě)曾問懵過陽振坤。

IOE 雖然種種不好(hǎo)(hǎo),但(dàn) IOE場文 勝在穩健。許多技術負責人(rén)不願用新(xīn)的技術和産品,用老城說産品出問題可以怪産品,用新(xīn)産品出問題就(ji志拿ù)隻能(néng)怪自己了(le)。

歸根結底,沒信任就(jiù)沒有使用,沒商市有使用也(yě)就(jiù)沒有信任。OceanBase 就(jiù)在這(z這可hè)樣一(yī)個(gè)死循環裡苦苦掙紮好城。

就(jiù)在 OceanBase 的未來(姐書lái)仍不明确的時(shí)候,一(yī)個票請(gè)“壞”消息傳來(lái):Oracle 崩了(le)!

原來(lái),在跑量測試時(shí),一(yī)直在螞蟻内和行處于主導地位的 Oracle 竟然屢次崩微鄉潰,可承壓能(néng)力僅有預期的 90%。

已經顧不上(shàng) OceanBase 是否可靠,在這(zhè)時(s舞請hí)行不行都得上(shàng)。技術團隊不得不做出了(le)一(畫志yī)個(gè)艱難的決定:緊急啟用 OceanBase。

雙十一(yī)的流量逐年都在增加,集中式的 Oracle 總會日鐵有一(yī)天跌落神壇。陽振坤早就(jiù)在等着這(秒作zhè)一(yī)天,OceanBase 逆襲的機會來(lái)了(le花船)!

于是 OceanBase 臨危受命,接下(xià)了(le)支付寶 光外2014 年雙十一(yī) 10% 的流量。

這(zhè)是機遇,可又何嘗不是重于泰山的壓力?陽振坤深知,他和他的團隊但(空在dàn)凡出了(le)一(yī)點差池,那麼他和 Oc民如eanBase 在公司裡就(jiù)将永遠(yuǎn)失去信任,再沒人(r她睡én)敢用。哪怕後面能(néng)夠給業務(wù)帶光新來(lái)好(hǎo)(hǎo)處,也(yě)無濟于事(shì)。

這(zhè)一(yī)仗,OceanBa飛謝se 隻許成功,不能(néng)失敗。

雙十一(yī)前夜,OceanBase 到她全員(yuán)枕戈待旦。螞蟻集團的 CEO 彭蕾(花名 Lu我著cy)先前在阿裡内部任首席人(rén)力官,知人(rén)善用。她連夜來船去(lái)到了(le) OceanBase分費 的辦公室,既是動員(yuán),也(yě)是督戰。

變動如(rú)此巨大,難說(shuō)彭蕾的心裡沒木吃有忐忑。她問陽振坤有沒有信心,陽恰好(hǎo)(hǎo)站(zh子就àn)在窗邊。他推開窗子(zǐ),杭州 11 月(yu鐵校è)(yuè)已經開始轉冷,辦公樓下(xià)路(lù)人(ré作土n)行色匆匆。陽振坤知道,他和 Ocean吧藍Base 的前途全部取決于此,他說(shuō):

“出了(le)問題,我們準備從這(zhè)跳歌刀(tiào)下(xià)去。”

7 年後,OceanBase 早已成為(家電wèi)了(le)國産數據庫中的“頭馬”。談及此事(shì),陽振坤隻說(sh通匠uō)是個(gè)玩(wán)笑(xiào)。而當年的壓力、忐文女忑和“不成功便成仁”的決絕,都如(rú)同她知過眼雲煙(yān),成為(wèi)了(le)多年之後的笑(空子xiào)談。

三、開源——OceanBase 的夢想、挫折和救物坐贖

開源是許多程序猿的浪漫。 

盡管在外界看來(lái)十分(fēn)令人(讀文rén)不解——把自己辛苦寫的代碼免費向社會公開,聽訊但(dàn) OceanBase 還是堅決下藍地選擇了(le)開源。

抛開技術人(rén)的理(lǐ)想主義,OceanB大長ase 之所以選擇開源,有如(rú)下(xià)這(zhè) 3 空就大原因:

一(yī)方面,數據庫需要跑量。在足夠的測試與反饋的過程中,數據庫才能(néng)發現雜雨(xiàn)運行問題,進行有機的調整。

OceanBase 作(zuò)為(wèi)樹不一(yī)個(gè)新(xīn)概念的數據庫産品,自然急需實際的測試和內筆驗證。開源,就(jiù)是給了(le) OceanB遠刀ase 不斷“打怪升級”的機會。

另一(yī)方面,剛剛提到過,信任對于數據庫産品來(lái)說(shuō)是重要的壁壘,也(y地對ě)是合作(zuò)的基石。用戶要把數據委托給數據庫,幾乎是要把家暗自己重要的“家産”托付出去。

OceanBase 把自己的代碼和秘密全部公開,也(yě)制懂是告訴用戶自己值得信任。基于這(zhè)種信任,OceanBase 也(暗業yě)期望能(néng)形成自己的開源社區,擴大用戶群。從日

有人(rén)用,就(jiù)有信任;有了(le)信任,就(ji土電ù)有更多人(rén)用,也(yě)就(jiù)自然能(néng又河)産生(shēng)更多收益。

陽振坤有足夠的信心,即使 OceanBase 開源供公衆使用,他人(村數rén)也(yě)很難弄懂其中的奧秘和機理(lǐ)。前文也(yě)提到過,數據庫本就(jiù)是一(yī)項極度複雜的又得工程。如(rú)同芯片一(yī)樣,即使能(néng)夠拿到上妹成品,但(dàn)難以對其進行反向工程。即使開煙風源,護城河(hé)也(yě)在。

著名的數據庫 MySQL 開源 20 餘跳生年,核心技術就(jiù)仍然掌握在開發團隊的手中。這(zhè)種技術壁壘映藍這射到開源上(shàng),稱得上(shàng)是一(yī)種數據庫的核心能(n跳術éng)力。

于是在 2011 年,當時(shí)還屬于淘寶體(tǐ路麗)系的 OceanBase 第一(yī)次開源,而這(zhè)次開源費鐘的經曆難稱圓滿。

這(zhè)次開源對于 OceanBase 來(lái)說(sh行裡uō),頗有“趕鴨子(zǐ)上(shàng火是)架”的意味。OceanBase 在 2014 年前還是以費少單點寫入的模式為(wèi)主,兩年後才正式完成是區了(le) 1.0 版本。

而 2011 年為(wèi)了(le)迎合淘寶系統全面開源的潮流,也(yě)是玩銀技術人(rén)的一(yī)腔熱情,OceanBase 匆匆宣布空吧開源,而實際公開的隻是一(yī)個(gè)“半成品”。這(公木zhè)個(gè)版本當時(shí)還以單點寫入為(wèi)主,還樹朋完全不是團隊理(lǐ)想中的樣子(zǐ)。

而通過這(zhè)次開源,另外一(yī)個(gè)問題也(y要一ě)随之映射出來(lái):OceanBase 的定位究竟是新黃什(shén)麼?究竟要做螞蟻業務(wù)的一(yī)身理個(gè)支持部門,還是一(yī)個(gè)通用化(huà)的工具?

做支持,OceanBase 需要更多面向公司内部技水的需求。一(yī)些(xiē)“量身(shēn)定制”的需求,甚至可能(né低著ng)超出常規數據庫的功能(néng)範圍。如(大劇rú)果被這(zhè)種需求牽着走,則很可能(néng)造成工期上(shà弟弟ng)的損耗,也(yě)容易把自己的路(l錢吃ù)走窄。

陽振坤和團隊想做的,一(yī)直都是一(yī)個(gè)通用化(huà)美師的工具。但(dàn)認知上(shàng)的鴻溝,讓首次開源的 Oc務金eanBase 無法獲得業務(wù)團隊足夠短是的支持,開發團隊則要把主要精力投入到産品 1.0 版本的開發中,很都筆難分(fēn)出人(rén)手去維護開源版本的持續更新(xīn)章遠。 

難說(shuō)誰對誰錯,隻是立場(chǎng)不道唱同。

無人(rén)可用,首次開源的 Ocea開紅nBase 終于不再更新(xīn),而這(zhè)購畫次嘗試也(yě)終于不了(le)了(le)之。

而在這(zhè)之後,潛心投入開發的 OceanBase 團隊終于見舊照到了(le)回報(bào)。

在支付寶内部,OceanBase 逐漸全部接管了(le) Ora月低cle 先前的“生(shēng)意”。為(wèi)了(le)讓“去 Or自農acle”的進程更加“絲滑”,OceanBase 力求讓這暗中(zhè)個(gè)過程可以“不改代碼”。

2015 年 3 月(yuè)(yuè) 1美身5 日,陽振坤在他的微博上(shàng)自豪地宣布:“城白從上(shàng)周五開始,淘寶/天貓/聚劃算(suàn)在支付寶上(s工男hàng)的交易,100% 都在 OceanBase 上(shàng)了嗎爸(le)。你可能(néng)沒有什(shén)麼感覺。”

一(yī)年後,OceanBase 也(yě)終于全部接管賬務(wù)大近數據庫。在一(yī)次采訪中,陽振坤表示:“這(zhè)……是标志着,O湖妹ceanBase 真正地在金(jīn)融系日小統裡面站(zhàn)住了(le)腳。”

取得了(le)如(rú)此斐然成績,在阿裡内部也(yě)是拿獎拿到手軟,但(d我地àn)陽振坤和團隊的志向卻不願意在此止步。又過了(le)一(yī)年,我在憑借着支付寶成功案例的光鮮背書,OceanBase 首次對外商(shāng)哥刀用,第一(yī)個(gè)客戶就(jiù)是南(nán)京銀行。

阿裡的高層們也(yě)終于看到了(le) 吃員OceanBase 原生(shēng)分(fēn)布窗多式數據庫的優勢,看到了(le)既能(néng)做交易、也(yě)能(購船néng)做分(fēn)析的 HTAP 模式為學颠覆行業的可能(néng)。他們正式同意 OceanBase 作外員(zuò)為(wèi)一(yī)個(gè)單獨的公司獨立運營,這(zhè)也師舊(yě)是 OceanBase 發展一(yī)個(gè)重要的分(fē你不n)水嶺。

2020 年 6 月(yuè)(yuè) 1 日,北京奧星貝斯科技有限公司正我熱式成立。螞蟻集團前金(jīn)融科技産品技術著鄉總監楊冰任 CEO,陽振坤任首席科學家,與他一(yī)起進入 黃麗OceanBase 創業至今的楊傳輝(花靜在名:日照)任 CTO。

不久,“出走”剛剛 12 個(gè)月(yuè)(yuè)的 Ocean飛討Base 再一(yī)次選擇了(le)開源。在進行了(le)數月(yuè)道服(yuè)工作(zuò)文檔和代碼的梳理(lǐ)後內知,2021 年 6 月(yuè)(yuè),OceanBase 再次向全就可網開源。

幫助阿裡省了(le)幾百個(gè)億,它開啟了(le)分(fēn)布式數據庫新(xīn)紀元

2021 年 6 月(yuè)(yuè) 1 日 O畫鐵ceanBase 正式開源

不同于遮遮掩掩式的“公關(guān)式開源”,Ocean場問Base 這(zhè)次放(fàng)了動船(le)狠招:他們一(yī)次公開了(le)自己全部内核。他們把心沉下(xià)來(lái),隻想如(rú)何用開源的方式去滿足們線客戶需求。遵循指示,一(yī)個(gè)初學者可冷問以在 30 分(fēn)鐘内将 OceanBase 的數據庫嗎們完成裝配。

OceanBase 做的是用戶價值,這(zh章和è)是他們開源的重要理(lǐ)念。

從最早先屈指可數的幾個(gè)客戶,到今天 400 多家全行業的客件樹戶;大到支付寶、網商(shāng)銀行,小到占總比 66% 的小型企業,從下科螞蟻獨立出來(lái)的奧星貝斯仍然在幫助全社會的各行各業票慢。

“讓天下(xià)沒有難做的生(shēng)意”依然流淌在他們每個(gè)人(通吧rén)的基因裡。

結語:

盡管已經年近花甲,陽振坤仍然沒有半點停滞的意思。在技術驅動放兵創新(xīn)的路(lù)上(shàng),Ocean遠用Base 的目标是做“無限擴展、永遠(yuǎn)在月我線”,意在創造一(yī)個(gè)不被擴展和故障所限制的數購玩據庫系統,而這(zhè)項成果則可能(né員錢ng)永遠(yuǎn)地颠覆數據庫,乃至互聯網行靜路業。

做技術的人(rén)大多是簡單的。陽振坤和 OceanBase 十餘年鐵村走來(lái),風(fēng)風(fēng)雨劇司雨,終于至今。有時(shí)他總能(néng)想起自樹吧己的老師,兩院院士王選,當代中國的“畢昇”,颠覆了(le)中國印刷業的科學家。務她

33 年前,陽振坤成為(wèi)了(le)王選的弟司人子(zǐ)。

那年,陽振坤 22 歲,青春寫意;王選 52 歲,也(y一話ě)正是當打之年。而今天,王選早已溘然長逝,陽振坤也(yě)把自己關上三十餘年的青春獻給了(le)科研。

當年,我憧憬你;今天,我仍在以你為(wèi)燈塔前行。 

陽振坤知道,和自己的恩師一(yī)樣,自己的這(zhè)是商一(yī)生(shēng)都将要獻給中國的科研事(s有做hì)業,但(dàn)他從沒有半分(fēn)悔意,也(黑讀yě)沒有半分(fēn)退意。

2022 年 1 月(yuè)(yuè),在由 CSDN 主辦、Ocea冷姐nBase 承辦的 DC 2021 分(fēn)布式知關數據庫開發者大會後,雷峰網采訪了(le)陽振坤,并與他進行了(le)一體又(yī)番深談。以下(xià)是我們整理雪明(lǐ)的訪談實錄: 

數據庫技術的發展曆程

雷峰網:我們知道技術在曆史中,發展都存在着不同的階城到段。數據庫也(yě)應該不例外,可以根據技術的突破劃分什畫(fēn)為(wèi)幾個(gè)階段,您可以為(wèi)我們回顧一(y公新ī)下(xià)嗎(ma)?

陽振坤:在最開始,它其實是跟賬有關(guān)系。最早的數據庫叫層次數據庫,功能(né地報ng)比較簡單。而也(yě)是因為(wèi)其功能(néng)比較單一(y裡區ī),大家有接觸大概幾年以後,就(jiù)發明了(le)一(yī)種網狀的裡頻數據庫。最大的代表其實就(jiù)是 IBM 的這(zhè)一(yī)服姐套系統。

到了(le) 60 年代末或者 70 年代的時(shí)候,關(guān)系模員內型橫空出世。曾經兩個(gè)這(zhè)個西唱(gè)圖靈獎的獲得者專門有一(yī)次是 ACM(國畫外際計算(suàn)機學會)開大會,兩派的人(錯熱rén)争執不下(xià):一(yī)派的人(rén)說(shuō)這(內站zhè)個(gè)未來(lái)一(yī)定海低是關(guān)系模型,因為(wèi)關(gu雜對ān)系模型有更強的表述能(néng)力。另一(yī)派說(shuō)人銀關(guān)系模型不實用。結構上(shàn老月g)的複雜性,會導緻性能(néng)會很差用舊。

此後關(guān)于這(zhè)個(gè)問題一(鐵作yī)直沒有定論。所以,關(guān)系模型從 197通物0 年發表,一(yī)直到整個(gè) 70 年代,其實都沒有過産品路務。

到 70 年代末 80 年代初,關(guān)系花工型數據庫才開始産品化(huà)。此後這(z內和hè)個(gè)模式就(jiù)一(yī)直被沿用,直到差不多互聯網之前。集哥票中式,本質上(shàng)是個(gè)單機的系統。一(yī)個(g到近è)很關(guān)鍵原因還是因為(wèi)它太複雜。

雷峰網:為(wèi)了(le)解決這(zhè)個(gè)計事難題,科學家做出了(le)哪些(xiē)努力?

陽振坤:對數據庫來(lái)說(shuō),它有一(yī)個(gè)特殊之處:人(他藍rén)們很難用一(yī)個(gè)自然的語言,來(lái)操作弟開(zuò)數據庫。所以後來(lái),就(j房員iù)有人(rén)開發出了(le)一(yī)種數據庫專用的語言,叫 到做SQL(結構化(huà)查詢語言)。

這(zhè)個(gè) SQL 不是告訴數據庫幹什(shén)麼的,這(zh木科è)個(gè)太難描述了(le);它告訴數劇這據庫說(shuō)我要什(shén)麼,你怎麼幹是你的事(shì懂一)。

Oracle 算(suàn)是最早的那批數據庫,就(jiù)是 O唱樹racle 、DB2,SQL Server,還有像對後面是 PG花不SQL 跟 MySQL。在之後的 20 多年的藍的時(shí)間(jiān)裡,都沒有如(rú)此體(tǐ)量的數據庫面錯什世。數據庫到今天都是個(gè)非常大的挑戰,也(y開在ě)導緻這(zhè)麼多年格局大緻不變,一(yī)個(gè)新(xīn)的數票書據庫的研發特别困難。

而互聯網時(shí)代,有許多很新(xīn)的、完全不一(yī)樣的需求也愛路(yě)随之而來(lái)。那我們 OceanBase 今天才有這理紅(zhè)機會。

分(fēn)庫分(fēn)表不是分(fēn)布式數據庫

雷峰網:OceanBase 将自己定義為(w著體èi)“原生(shēng)”分(fēn)布式數據庫,工紅這(zhè)個(gè)“原生(shēng窗機)”要怎麼理(lǐ)解?

陽振坤:我會講一(yī)個(gè)很明确的觀點:分(fēn)庫分東錯(fēn)表不是分(fēn)布式數據庫。我們認自線為(wèi)一(yī)個(gè)原生(shēng)分(f路物ēn)布式數據庫,它是一(yī)個(gè)單一(yī)的數據庫,看起來(lái愛湖)像使用單台機器(qì)的集中式數據庫,能(néng)夠在一(y她城ī)套數據庫裡面又做交易又做分(fēn)析。分(f體銀ēn)庫分(fēn)表的話(huà),它其實還是說光從(shuō)在多個(gè)單機數據庫上(shàng)面加了(le美著)一(yī)個(gè)中間(jiān)件。

但(dàn)是這(zhè)種方案它其實沒有辦法保證這(zhè)腦一多台數據庫之間(jiān)的一(yī)緻性。舉個(gè)例子(z文黃ǐ),第一(yī)個(gè)數據庫是我,第二個(gè)生年數據庫是你。我給你轉賬,有可能(néng)出現(xiàn)我給你轉出去了(l這城e),但(dàn)你沒有收到的情況。分(fēn)庫分(fēn)表式的數慢內據庫有可能(néng)有這(zhè)種情況,但信對(dàn)我們的原生(shēng)分(fēn)布數據庫是議數沒有這(zhè)種情況的。OceanBase 保證強一(yī)緻的做讀,是一(yī)個(gè)單一(yī)的數據庫,既能(né湖風ng)處理(lǐ)交易,又能(néng)處理(lǐ)分(公這fēn)析。

雷峰網:OceanBase 在支付寶體(tǐ)系下(xià)已經度過了(le)許多街錢個(gè)寒暑,應用 OceanBase 的前後,支付寶産生(shē土刀ng)了(le)哪些(xiē)變化(huà)?

陽振坤:其實從 2014 年之後,公司就(jiù)也(yě)看到了(le是厭)我們的業務(wù)價值,主要還是支付寶的數據庫體(t地術ǐ)量太大了(le)。就(jiù)算(suàn)你的硬件能樂歌(néng)做到盡量穩定,它最終也(yě)會出問題。少數幾台不要喝費緊;你有幾百台,幾千台的時(shí)候它一從線(yī)定會出問題。同時(shí)集中式數據庫維護和維修的代價很大,工作(z呢跳uò)人(rén)員(yuán)要到最早的網關(慢到guān)去把信息撈出來(lái),來(lái)做對照。

那用了(le) OceanBase 之後,我們部署了(le)三如雪個(gè)副本。即使壞掉一(yī)台機器(qì),剩下(xià)的機在也器(qì)保證還有正确的數據,就(jiù)能喝地(néng)夠自動的恢複。以前隻要主庫壞了(le)東厭,他們都得去做人(rén)工對賬。不管幾點壞的,工作(zuò吧美)人(rén)員(yuán)都要在幾分(fēn)鐘之内起來(lá草又i),否則系統裡,用戶看的數據就(jiù)全不對現舊了(le)。但(dàn) OceanBase 司草可以做到系統自動,這(zhè)台機器(qì)壞了城票(le),還有其他機器(qì)能(néng)工作(zuò),我白我們系統就(jiù)可以繼續運轉。所以這(zhè)一(yī)個(g票山è)對業務(wù)來(lái)講,給到很大的幫助。

這(zhè)樣的體(tǐ)系對工作(zuò)人(rén)員(yuán好鄉)的舒适度就(jiù)提升很多,以前隻要出問題微視,不管幾點都要來(lái)應急。現(xiàn)在的雙十一(志湖yī),工作(zuò)人(rén)員(yuán)已經有時(場吃shí)間(jiān)坐下(xià)來(lái)喝(hē習師)一(yī)杯茶了(le)。這(zhè)就(jiù)是我看到最大的變化(樹又huà)。

走出中國,做世界的數據庫

雷峰網:在當下(xià),數據庫中國化(huà)的呼聲越來(lá遠相i)越高,咱們中國在整個(gè)國際的技術水平上(shàn業黃g)來(lái)講,處于一(yī)個(gè)什(shén)麼樣那但的位置?

陽振坤:如(rú)果說(shuō)分(fēn)布式數據庫,我們應該是整個(gè的務)國際上(shàng)都是走在領先地位的。這(zhè)個(gè)也(y區風ě)跟我們本身(shēn)是“一(yī)窮二白”有關(guān)系。我們低黑原來(lái)沒有集中式數據庫的多少基礎,發展起來(lái)與拍都其跟别人(rén)在原來(lái)的賽道他慢去競争,又有新(xīn)的需求,我們還不如(rú訊如)走到新(xīn)賽道上(shàng)。

反而是像美國現(xiàn)在它更多的精力是在集中式上(shàn醫湖g)面。我們對美國也(yě)算(suàn)是一(yī說匠)種“彎道超車”,或說(shuō)是“跨見音代競争”。主要的原因在于說(shuō)我們經常講一(yī)個(g錯路è)概念叫應用驅動技術創新(xīn)。和中國比人(rén)多、比市(sh地慢ì)場(chǎng)規模,美國人(rén)比得妹吧過嗎(ma)?對不對?它是這(zhè)麼去驅動出來(lái)的請美。 

雷峰網:那以後将數據庫 OceanBase 向國外輸出肯定也(yě)是有可能(nén河報g)的。 

陽振坤:我覺得是必須的,我們幹嘛把自己隻圈在這(zhè快腦)一(yī)個(gè)市(shì)場(chǎng)裡呢(員文ne)?無論是在成本還是在能(néng)力上(shàng),我們系統能(nén聽制g)做的一(yī)些(xiē)事(shì)情是現(xiàn)在村音的數據庫系統它做不到的。

但(dàn)是,我們自身(shēn)産品的發花習展也(yě)有個(gè)過程。國内現(xiàn)在有這(zhè)麼大的市紙就(shì)場(chǎng),我們現(xiàn)在主要還在面向國内市(shì)場內議(chǎng),吃透國内市(shì)場(物離chǎng),同時(shí)完善 OceanBase。

雖然什(shén)麼時(shí)候出海,我們水會還沒有具體(tǐ)可公布的規劃。但(dàn)我相信,前景還是很光明的。冷書 

如(rú)何看待元宇宙和 Web3.0 的未來(lái)?

雷峰網:對于元宇宙、WEB3.0 這(zhè)樣的新(xīn)興概念學木,您怎麼看?

陽振坤:我一(yī)大部分(fēn)的時(shí)間(jiān),還是放(fàng我業)在我們本身(shēn)的産品和技術上(shàng)。實話(huà)說(shu章年ō),對元宇宙和 Web3.0 我真的不商路懂。

但(dàn)要我說(shuō)的話(huà)機書,其實數據庫它本身(shēn)就(jiù)是個(g紅著è)基礎設施,你可以把它用在元宇宙上(shàng),用在真實的我對宇宙空間(jiān)上(shàng),用在生一見(shēng)産,用在娛樂(yuè),用在遊戲,随便用在哪兒(為白ér)上(shàng)。

但(dàn)元宇宙的大趨勢對我們可能(néng)是個(gè)利好(h可姐ǎo)(hǎo)。因為(wèi)我們是這(zh這司è)方面的能(néng)力是比較強的,就(jiù)像說(shu站章ō)從雙十一(yī)一(yī)路(lù)走過來(吧志lái)對吧(ba)?能(néng)夠給系統提用不供這(zhè)麼大的處理(lǐ)能(néng)力的數據庫,我們應該是公男第一(yī)個(gè)。

其實你不管元宇宙還是其他的一(yī)些(xiē)趨勢,數據總是以在往“大”做醫的方向走,并發也(yě)在往“大”的方向走器從。元宇宙可能(néng)是說(shuō)其中的一(yī)個(gè)驅動力稍微見數大一(yī)點的一(yī)個(gè)場(chǎng)景,習匠他往分(fēn)布式走這(zhè)個(gè)趨勢我們覺得肯定是毫無疑問的。白那

談到 Web3.0,整個(gè)數據庫從互聯網出來(lái)開始,數據森和庫就(jiù)是整個(gè)互聯網的基礎,因為(wèi厭分)你在網上(shàng)做任何事(shì)外線情的後台都需要有存儲和處理(lǐ)的功能(néng)。所以長林不管是 web1.0、2.0 或者 3.0湖訊 它的基礎之一(yī)其實就(jiù)是,基礎的基礎就(道雨jiù)是數據化(huà)。

其實也(yě)就(jiù)印證了(le)一裡離(yī)句話(huà),分(fēn)布式數據庫就(jiù)是現土順應時(shí)代潮流的。 


來(lái)源:雷鋒網