摘要:年,替換了支付寶支付系統(tǒng)中的數(shù)據(jù)庫。年,螞蟻金服全面去。土豪金工牌帶是螞蟻金服內(nèi)部最高榮譽大獎。陳萌萌目前在螞蟻金服基礎(chǔ)數(shù)據(jù)部團隊負責相關(guān)方向的開發(fā)工作。
摘要: 兩萬字長文帶你了解關(guān)于OceanBase的一切!
2008年,王堅從微軟亞洲研究院常務(wù)副院長的位置上離職后,于當年9月加入了阿里巴巴集團擔任首席架構(gòu)師一職,負責集團技術(shù)架構(gòu)以及基礎(chǔ)技術(shù)平臺建設(shè)。加入阿里沒多久后,王堅就提出了“去IOE”的想法,即擺脫過去IT系統(tǒng)中對IBM小型機、Oracle數(shù)據(jù)庫以及EMC存儲的過度依賴。
2009年開始,阿里舉全公司之力投入到云計算的研發(fā)和使用中,這可視為取代IOE之舉。2010年,陽振坤加入了阿里,這位在1999年就成為北京大學(xué)首批長江學(xué)者、曾獲得國家科技進步一等獎、先后擔任北京大學(xué)計算機科學(xué)技術(shù)研究所副所長、聯(lián)想研究院首席研究員、微軟亞洲研究院主任研究員、百度高級科學(xué)家等職務(wù)的研究員,帶領(lǐng)團隊在阿里做出來了取代商業(yè)數(shù)據(jù)庫的OceanBase。
2013年5月,阿里集團最后一臺IBM小機在支付寶下線。2013年7月,淘寶廣告系統(tǒng)使用的Oracle數(shù)據(jù)庫下線,也是整個淘寶最后一個Oracle數(shù)據(jù)庫。2014年,OceanBase替換了支付寶交易系統(tǒng)中的Oracle數(shù)據(jù)庫。2015年,OceanBase替換了支付寶支付系統(tǒng)中的Oracle數(shù)據(jù)庫。2016年,OceanBase替換了支付寶最核心的賬務(wù)系統(tǒng)中的Oracle數(shù)據(jù)庫。2017年,螞蟻金服全面去IOE。
從2011年開始參戰(zhàn)雙十一到2016年雙十一支付寶支付峰值12萬筆/秒的世界紀錄,再到2017年雙十一支付峰值達到25.6萬筆/秒,再次刷新2016年創(chuàng)下的峰值紀錄,這背后,是一個由OceanBase研發(fā)和運維組成的幾十人的團隊。2016年的世界互聯(lián)網(wǎng)大會,OceanBase入選世界互聯(lián)網(wǎng)領(lǐng)先科技成果,其它獲獎公司還包括特斯拉、IBM、微軟、卡巴斯基等。
在6000多名螞蟻員工中,這幾十個人辨識度很高,因為只有他們的工牌帶是“土豪金”,而其他所有人的工牌帶都是清一色螞蟻藍?!巴梁澜稹惫づ茙俏浵伣鸱?nèi)部最高榮譽——CEO大獎。2016年5月,螞蟻金服董事長彭蕾親自為這幾十位技術(shù)明星戴上了“土豪金” 工牌帶,理由是這個小團隊自主研發(fā)的OceanBase數(shù)據(jù)庫,以遠低于傳統(tǒng)數(shù)據(jù)庫的成本,更高的可用性,扛住了支付寶一次又一次自我刷新的支付峰值世界紀錄,打破了IT核心技術(shù)長期被西方壟斷的格局。
從2017年開始,OceanBase跟隨整個螞蟻金服的金融科技開放,開始了向傳統(tǒng)金融賦能的實踐過程。2017年年底,OceanBase在南京銀行正式上線,OceanBase數(shù)據(jù)庫為南京銀行“鑫云+”互金開放平臺提供金融級分布式關(guān)系數(shù)據(jù)庫服務(wù)。OceanBase還出口到了印度和美國等地,為當?shù)氐闹Ц稑I(yè)務(wù)提供數(shù)據(jù)庫服務(wù)。作為螞蟻金服自研的分布式關(guān)系型數(shù)據(jù)庫,OceanBase從一開始的目標就是傳統(tǒng)商業(yè)數(shù)據(jù)庫的升級換代產(chǎn)品,并堅持走通用關(guān)系數(shù)據(jù)庫產(chǎn)品之路。
經(jīng)歷了7年坎坷、成立的頭三年一直被邊緣化、多次面臨解散的OceanBase團隊,如今雖然集體戴上了“土豪金”,可是他們都知道OceanBase這樣的中國技術(shù)奇跡,是阿里巴巴/螞蟻金服舉全集團之力所創(chuàng)造出來的成果,這個過程本身也堪稱“奇跡”。2018年2月初,OceanBase團隊的主干成員陽振坤、馮柯、陳萌萌、蔣志勇、楊傳輝等與筆者展開了深入的交流,介紹了OceanBase的來龍去脈。
OceanBase:劃時代的數(shù)據(jù)庫▲OceanBase 團隊SQL開發(fā)方向負責人 陳萌萌
為什么OceanBase能夠入選世界互聯(lián)網(wǎng)領(lǐng)先科技成果,能夠進入IBM、微軟等世界科技巨頭行列?
首先,簡要回顧一下基礎(chǔ)軟件歷史。自1975年微軟公司創(chuàng)立、1977年甲骨文公司創(chuàng)立后,逐漸出現(xiàn)了商用操作系統(tǒng)和商用關(guān)系型數(shù)據(jù)庫產(chǎn)品。再加上1995年創(chuàng)立的BEA公司及其代表的商用中間件產(chǎn)品,傳統(tǒng)基礎(chǔ)軟件的核心技術(shù):操作系統(tǒng)、中間件和數(shù)據(jù)庫,就此誕生。
除了BEA公司于2008年被甲骨文公司收購?fù)?,為什么后來全球再也沒有企業(yè)能夠超越微軟和甲骨文公司的操作系統(tǒng)與數(shù)據(jù)庫及中間件產(chǎn)品呢?
這其中的原因很多,除了最早投入、培養(yǎng)了最多的相關(guān)技術(shù)研發(fā)人才和技術(shù)積累外,更重要的原因在于作為全球化的商用軟件產(chǎn)品,無論是微軟的操作系統(tǒng)還是甲骨文的數(shù)據(jù)庫,都是伴隨著全球用戶集體使用、集體反饋、集體推動技術(shù)進步而打磨出來的。
實際上,無論是操作系統(tǒng)、數(shù)據(jù)庫還是中間件,本質(zhì)上都是軟件和硬件集成在一起的優(yōu)化技術(shù),其目的就是通過軟硬件集成調(diào)優(yōu)來達到計算效率最大化、成本最優(yōu)、用戶體驗最佳、兼容性最廣、安全與穩(wěn)定性最高等結(jié)果。以甲骨文公司的Oracle數(shù)據(jù)庫為例,其廣泛支持并行機、大型主機、小型計算機、工作站、個人電腦等多種計算設(shè)備,允許用戶在不同計算設(shè)備上使用并遷移Oracle數(shù)據(jù)庫,1994年的時候Oracle關(guān)系型數(shù)據(jù)庫支持超過100種硬件和操作系統(tǒng)環(huán)境,兼容多項國際及國家的數(shù)據(jù)庫相關(guān)標準。
令Oracle數(shù)據(jù)庫成名的,是OLTP聯(lián)機交易處理也稱為面向交易的處理過程,其基本特征是前臺接收的用戶數(shù)據(jù),可以立即傳送到計算中心進行處理并在很短的時間內(nèi)給出處理結(jié)果,針對諸如銀行、證券、民航訂票系統(tǒng)等需要實時響應(yīng)的關(guān)鍵性業(yè)務(wù)系統(tǒng)等。Oracle數(shù)據(jù)庫在全球的金融、電信、民航等各類系統(tǒng)和業(yè)務(wù)場景中得到了廣泛的應(yīng)用,在應(yīng)用過程中不斷改進技術(shù),最終出現(xiàn)了一個“強者恒強”的結(jié)果。
正因為Oracle數(shù)據(jù)庫在關(guān)鍵性的OLTP交易處理中占據(jù)了牢不可破的市場地位,這讓后來的數(shù)據(jù)庫廠商很難有機會再重復(fù)一遍Oracle數(shù)據(jù)庫曾經(jīng)走過的這樣一個反復(fù)實踐、反復(fù)打磨、反復(fù)修正的過程。原因很簡單,不會有企業(yè)愿意把自己的核心業(yè)務(wù)拿出來,給新進技術(shù)廠商當實驗田。所以在以IOE為代表的傳統(tǒng)IT環(huán)境中,除了已經(jīng)建立起市場地位的主流技術(shù)廠商外,其它的后起技術(shù)廠商包括開源技術(shù)開發(fā)商,只能在企業(yè)的邊緣業(yè)務(wù)或當?shù)卣龀值臉I(yè)務(wù)場景下,才有少量的機會。
這種情況一直持續(xù)到近十年的云計算變革。云計算實際上是由大型互聯(lián)網(wǎng)公司發(fā)起和主導(dǎo)的技術(shù)變革,在最近幾年逐漸從互聯(lián)網(wǎng)公司向傳統(tǒng)企業(yè)蔓延。云計算的初衷是大型互聯(lián)網(wǎng)公司為了降低自己的IT支出,而從IOE架構(gòu)向基于廉價PC服務(wù)器為主的IT架構(gòu)進行演變的過程。云計算最早起源于2006年亞馬遜推出的Amazon Web Service網(wǎng)絡(luò)服務(wù),簡稱AWS。而到了2008年王堅成為阿里的首席架構(gòu)師,負責集團每年的IT規(guī)劃與預(yù)算,這個時候王堅就意識到了IOE架構(gòu)對于阿里長期運營成本的影響以及對未來業(yè)務(wù)發(fā)展的制約。
在2008年的時候,阿里的數(shù)據(jù)庫就已經(jīng)是全亞洲最大的數(shù)據(jù)庫,也是Oracle最大的用戶之一,那年阿里還沒有啟動雙十一。從2009年開始的雙十一,每年產(chǎn)生和處理的數(shù)據(jù)量都在爆發(fā)式增長,如果一直采用Oracle數(shù)據(jù)庫的話,運營成本將是天價。而在另一方面,為傳統(tǒng)IT環(huán)境而設(shè)計的Oracle數(shù)據(jù)庫,并沒有考慮到互聯(lián)網(wǎng)的大規(guī)模、高并發(fā)、實時在線、大型網(wǎng)絡(luò)優(yōu)化等新興需求。2008年的時候,Oracle數(shù)據(jù)庫就已經(jīng)難以處理阿里的大規(guī)模數(shù)據(jù)量了。
本質(zhì)上理解,OceanBase與Oracle數(shù)據(jù)庫一樣都是關(guān)系型數(shù)據(jù)庫,但不同的是OceanBase是面向超大規(guī)模互聯(lián)網(wǎng)公司的分布式計算環(huán)境而重新開發(fā)的關(guān)系型數(shù)據(jù)庫,Oracle數(shù)據(jù)庫則相應(yīng)可以理解為針對傳統(tǒng)企業(yè)的計算環(huán)境而形成的“單機”數(shù)據(jù)庫。
所謂“單機”數(shù)據(jù)庫,首先指Oracle數(shù)據(jù)庫所基于的硬件環(huán)境是IBM小型機和EMC企業(yè)級存儲所構(gòu)成的高度穩(wěn)定共享存儲環(huán)境,IBM與EMC的企業(yè)級硬件本質(zhì)上就提供了高度穩(wěn)定的共享硬件環(huán)境。其次,Oracle數(shù)據(jù)庫以共享存儲為理念,所有的數(shù)據(jù)庫看到的是同一個數(shù)據(jù)磁盤、共享數(shù)據(jù)訪問,因而可以確保所有的數(shù)據(jù)都可被訪問到,而且底層硬件本身也穩(wěn)定可靠,所以是“單機”視角。
陳萌萌目前在螞蟻金服基礎(chǔ)數(shù)據(jù)部(OceanBase團隊)負責SQL相關(guān)方向的開發(fā)工作。2006年畢業(yè)于清華大學(xué)、2006年到2008年在歐洲核子研究中心(CERN)負責網(wǎng)格計算調(diào)度器的開發(fā)工作、2009年5月在美國威斯康辛大學(xué)麥迪遜分校獲得計算機碩士學(xué)位,陳萌萌先后在Oracle、華為美國研究所從事數(shù)據(jù)庫的開發(fā)和研究,他于2014年6月加入OceanBase團隊。
陳萌萌對于“單機”的視角有一個形象的比喻:就像今天使用PC服務(wù)器,要擔心如果突然某臺PC服務(wù)器掛掉了、甚至機房本身遭遇地震、火災(zāi)等極端情況,如何保障數(shù)據(jù)訪問的穩(wěn)定性。由于是完全基于PC服務(wù)器架構(gòu),OceanBase在處理數(shù)據(jù)訪問的時候,相當于把一臺原來的小型機或存儲設(shè)備從縱向“切片”成很多機器,再把數(shù)據(jù)分布到這些分散在不同的機器上,數(shù)據(jù)需要通過網(wǎng)絡(luò)才能夠被訪問到。“以前是一個磁盤,現(xiàn)在看到的是幾十個甚至幾百個分布在不同地方的磁盤,怎么做查詢優(yōu)化?這個訪問模式會非常不一樣?!?/p>
過去的傳統(tǒng)IT環(huán)境是集中在一個地點的高穩(wěn)定、高可靠、高可用高端企業(yè)級設(shè)備,現(xiàn)在的云計算環(huán)境是分散在不同地點甚至跨國家區(qū)域地理位置的廉價PC服務(wù)器機群。OceanBase與Oracle數(shù)據(jù)庫是基于同樣的數(shù)據(jù)庫原理,但底層的基礎(chǔ)計算環(huán)境發(fā)生了根本性的變化,這對于像亞馬遜、阿里巴巴/螞蟻金服和谷歌這樣的互聯(lián)網(wǎng)公司來說,有三條出路:一是與甲骨文公司合作,全面開放自己的業(yè)務(wù)和數(shù)據(jù);二是采用MySQL等開源數(shù)據(jù)庫技術(shù)進行改良;三是從頭開始重新設(shè)計一個完全自主知識產(chǎn)權(quán)的數(shù)據(jù)庫產(chǎn)品。顯然,亞馬遜、阿里巴巴/螞蟻金服、谷歌都不約而同地走上了自研的道路。
這個原因其實很簡單,如果與甲骨文公司合作,需要全面開放自己的業(yè)務(wù)和數(shù)據(jù)不說,更重要的是互聯(lián)網(wǎng)公司的快節(jié)奏、快響應(yīng)、快研發(fā)、與業(yè)務(wù)運維并肩開發(fā)等特點,已經(jīng)超越了甲骨文公司等上一代IT公司的企業(yè)文化和公司機制。而對于開源技術(shù)來說,不同的開源數(shù)據(jù)庫只適用于特定的業(yè)務(wù)場景,由不同的開源社區(qū)“各自為戰(zhàn)”式主導(dǎo)各自的技術(shù)方向,互聯(lián)網(wǎng)公司需要針對不同的業(yè)務(wù)場景拼接不同的開源數(shù)據(jù)庫到一個大系統(tǒng)中,這無疑也不利于長期發(fā)展。而走全面自研的方向,是一種最辛苦、看似最不可能卻最具長期投資價值的選擇。
馬云曾經(jīng)針對阿里自研云計算等新一代IT技術(shù)說:“網(wǎng)上很多人批評說我被王堅忽悠了,這個云計算要把5000臺計算機合在一起,是根本不可能實現(xiàn)的……騰訊、百度沒搞下去,重要的原因是他們的領(lǐng)導(dǎo)知道這個搞不下去。”相反,不懂技術(shù)的馬云,卻最堅定地支持自研云計算等新技術(shù)?!跋胍矝]想,從預(yù)算、人頭、資金,我們一路投,最后我們走了出來?!?/p>
王堅從2009年開始在阿里搞云計算,陽振坤從2010年加入阿里后開始搞OceanBase,兩條線幾乎是同時并進。陽振坤回憶,整個OceanBase其實并沒有一個產(chǎn)品經(jīng)理,根本的原因是OceanBase作為商用關(guān)系型數(shù)據(jù)庫的升級換代產(chǎn)品,在OceanBase立項伊始就參照商用關(guān)系數(shù)據(jù)庫列了一個長達千頁的產(chǎn)品功能列表,隨后的OceanBase開發(fā)過程就是根據(jù)這個列表,但卻從分布式計算的角度重新實現(xiàn)每一個功能?!爸钡?018年初,OceanBase還只是實現(xiàn)了這個列表中的部分核心功能,但足以支撐整個螞蟻金服的業(yè)務(wù)”,陽振坤表示。從2017年開始,三年之內(nèi),OceanBase要實現(xiàn)商用關(guān)系數(shù)據(jù)庫的絕大部分功能。
能夠與OceanBase類比、可以稱為分布式數(shù)據(jù)庫的產(chǎn)品,目前只有谷歌于2017年2月發(fā)布的Spanner數(shù)據(jù)庫云服務(wù)。陳萌萌認為,Spanner是谷歌從頭開始全部自研的分布式數(shù)據(jù)庫,也是針對谷歌的交易業(yè)務(wù)場景,但總體來說并沒有阿里巴巴及螞蟻金服的交易業(yè)務(wù)規(guī)模大,而AWS推出的Aurora數(shù)據(jù)庫則更接近于Oracle數(shù)據(jù)庫的共享磁盤設(shè)計?!罢嬲梅植际郊軜?gòu)解決像螞蟻金服這么大規(guī)模事務(wù)性需求的分布式數(shù)據(jù)庫,目前我們只看到OceanBase這一家”, 陳萌萌表示。
從第一行代碼起步到今天的百萬行代碼級產(chǎn)品、支撐雙十一的十萬筆級每秒支付峰值以及螞蟻金服的全面業(yè)務(wù),OceanBase可以說創(chuàng)造了一個劃時代的數(shù)據(jù)庫產(chǎn)品。OceanBase是中國第一個具有自主知識產(chǎn)權(quán)的分布式關(guān)系數(shù)據(jù)庫,也是全球首個應(yīng)用在金融核心業(yè)務(wù)的分布式關(guān)系數(shù)據(jù)庫。業(yè)內(nèi)人士認為,OceanBase的出現(xiàn),在高端金融領(lǐng)域打破了傳統(tǒng)商業(yè)數(shù)據(jù)庫的壟斷,為金融科技的國產(chǎn)化進程邁出了重要一步。
OceanBase:劃時代的中國技術(shù)▲OceanBase 團隊架構(gòu)師 馮柯
現(xiàn)任螞蟻金服基礎(chǔ)數(shù)據(jù)部(OceanBase團隊)架構(gòu)師的馮柯,于2014年加入螞蟻金服,目前的技術(shù)領(lǐng)域為分布式關(guān)系數(shù)據(jù)庫、數(shù)據(jù)存儲、性能診斷和優(yōu)化。馮柯在入職螞蟻金服前,曾在國內(nèi)數(shù)據(jù)庫廠商天津神舟通用數(shù)據(jù)技術(shù)有限公司(以下簡稱:神舟通用)任CTO,是浙江大學(xué)計算機應(yīng)用專業(yè)博士,具有15年的數(shù)據(jù)庫研發(fā)和產(chǎn)業(yè)化經(jīng)驗。
作為國內(nèi)最早一批從事國產(chǎn)數(shù)據(jù)庫開發(fā)者之一,馮柯表示國內(nèi)早期從事國產(chǎn)數(shù)據(jù)庫開發(fā)的人們,基本都成為先驅(qū)了。以前做國產(chǎn)數(shù)據(jù)庫,更多體現(xiàn)的是國家科研的意志,而不是企業(yè)的市場化行為。更為重要的是,自主研發(fā)數(shù)據(jù)庫需要的是行業(yè)背景和企業(yè)實踐。“數(shù)據(jù)庫產(chǎn)品是用出來的,不只是被研制出來的?!瘪T柯強調(diào)。專注于國產(chǎn)數(shù)據(jù)庫的國內(nèi)的數(shù)據(jù)庫專業(yè)公司,到后來往往發(fā)展的不好,就是因為沒有行業(yè)屬性、沒有真正能夠找到成熟應(yīng)用的市場。
“我當時加入螞蟻金服的時候,覺得螞蟻金服自主研發(fā)OceanBase這件事其實很另類,覺得非常不可思議。而且阿里巴巴原來是開源文化,為什么會完全從頭開始做一個數(shù)據(jù)庫,這直到今天還是一個非常奇妙和神奇的事情。”馮柯回憶說,很多人都會問為什么不從MySQL開源數(shù)據(jù)庫入手,“不管是自主研發(fā),還是基于開源產(chǎn)品來做,從技術(shù)上面來看,沒有絕對的對和錯,很多時候是理想主義使然?!?/p>
正如馬云所說,阿里巴巴/螞蟻金服對于云計算和通用數(shù)據(jù)庫等自研技術(shù)的投入,正是理想主義的結(jié)果。在2017年9月的阿里巴巴18周年年會上,馬云說:“讓阿里巴巴堅持18年的是因為我們有理想主義,堅持理想主義使阿里巴巴走到了今天?!薄敖^大部分人是因為看見而相信,很少部分人是因為相信而看見,”這是馬云在阿里巴巴18周年年會上引用的話,“過去的18年,阿里是因為相信才有今天。”
蔣志勇現(xiàn)在是螞蟻金服基礎(chǔ)數(shù)據(jù)部(OceanBase團隊)SQL組負責人,致力于高可用、高性能、高可擴展性并兼具成本優(yōu)勢的分布式關(guān)系數(shù)據(jù)庫系統(tǒng)。蔣志勇于2014年加入螞蟻金服,之前在神舟通用負責數(shù)據(jù)庫開發(fā)長達十年之久。蔣志勇在浙江大學(xué)完成了計算機專業(yè)的本科和研究生學(xué)業(yè)后,即加入了中國航天科技集團下面的一家研究所,從事國產(chǎn)自研數(shù)據(jù)庫開發(fā),當時主要為了科研服務(wù)的數(shù)據(jù)庫及存儲系統(tǒng)。蔣志勇在研究生期間就已經(jīng)參與到該科研項目中,后來就加入了航天科技集團組建的專注于國產(chǎn)數(shù)據(jù)庫開發(fā)的神舟通用公司。
作為國內(nèi)早期從事國產(chǎn)數(shù)據(jù)庫開發(fā)工作的專業(yè)人員,蔣志勇認為螞蟻金服開發(fā)自研數(shù)據(jù)庫與其它專業(yè)數(shù)據(jù)庫公司開發(fā)自研數(shù)據(jù)庫的最大區(qū)別在于螞蟻金服自有業(yè)務(wù)場景。“螞蟻金服不是一家數(shù)據(jù)庫公司,而是一家金融科技公司。OceanBase在螞蟻金服內(nèi)部發(fā)展的一個基本前提,是能夠為業(yè)務(wù)不斷創(chuàng)造價值,這是跟傳統(tǒng)數(shù)據(jù)庫公司的最大差別?!?/p>
“之前的困境是開發(fā)了很多技術(shù),但是很難找到一個真實的大規(guī)模場景去使用這些技術(shù)。但在螞蟻金服這邊就不一樣,我們做的技術(shù)都是業(yè)務(wù)部門迫切需要的、確實能解決業(yè)務(wù)痛點問題的技術(shù),加上螞蟻金服的業(yè)務(wù)發(fā)展非常快,也逼著技術(shù)部門把產(chǎn)品做的更好,這是一個正向循環(huán):不斷促進技術(shù)開發(fā),同時又能對開發(fā)成果提供真實業(yè)務(wù)場景下的及時反饋?!?蔣志勇介紹說。
作為整個OceanBase的始作俑者,陽振坤的感受最深。“做自研數(shù)據(jù)庫,這真的是一把手工程,只有真的獲得企業(yè)最高層的決策支持才能做成。對于業(yè)務(wù)部門來說,哪個數(shù)據(jù)庫最穩(wěn)定、最好用,就會選用哪個數(shù)據(jù)庫,因為業(yè)務(wù)部門的首要目標是發(fā)展業(yè)務(wù)?!睘榱藝L試自研數(shù)據(jù)庫技術(shù),螞蟻金服的業(yè)務(wù)部門需要付出的代價是:修改業(yè)務(wù)系統(tǒng),同時支持兩種數(shù)據(jù)庫,兩邊要能夠隨時切換,以便保證在自研數(shù)據(jù)庫出問題的情況下,還能夠切換回原有的Oracle數(shù)據(jù)庫?!八砸婚_始業(yè)務(wù)團隊在這件事情上其實并沒有積極的理由?!?/p>
為什么說OceanBase是阿里巴巴/螞蟻金服舉全集團之力所創(chuàng)造的成果呢?陽振坤一直是從事分布式技術(shù)的專家,2006年他從微軟到百度,從事分布式系統(tǒng)研發(fā)。對于百度數(shù)以萬億計的網(wǎng)頁來說,意味著與日俱增的天量數(shù)據(jù),云計算系統(tǒng)有非常好的發(fā)展機會。陽振坤在百度做了兩年多的自研分布式系統(tǒng),但由于百度不愿意再投入更多資源而最終采用了一套現(xiàn)成的開源系統(tǒng),陽振坤的團隊也被解散了。
來到阿里之后,陽振坤與其它阿里技術(shù)人員一樣,需要找到一個合適的業(yè)務(wù)場景,跟一個業(yè)務(wù)團隊并負責技術(shù),為自己的技術(shù)方向謀一條“生路”,同時隨著業(yè)務(wù)的發(fā)展而壯大自己的技術(shù)。淘寶的技術(shù)“大牛”,大都是通過這條路徑成長起來的。在加入淘寶之前,陽振坤其實并不懂數(shù)據(jù)庫,他的本科與碩士都是數(shù)學(xué)專業(yè),到了博士才轉(zhuǎn)到了計算機專業(yè),因此陽振坤的長項在于基礎(chǔ)計算科學(xué)。
當陽振坤加入淘寶后,最開始選擇自己技術(shù)方向的時候,恰好趕上了一個千載難逢的“天時”與“地利”。“天時”就是當時互聯(lián)網(wǎng)對數(shù)據(jù)庫的需求激增。以前金融企業(yè)等用的Oracle數(shù)據(jù)庫,都是事先設(shè)計好業(yè)務(wù)場景,比如固定用于銀行柜臺和ATM機器、服務(wù)于固定的人群,數(shù)據(jù)庫的并發(fā)量也很小,原來數(shù)據(jù)庫有幾十到幾百個人、最多幾千人的并發(fā)量就不得了,到了阿里巴巴雙十一以及支付寶業(yè)務(wù)的時候,一下就激增到幾十萬、上百萬人甚至是上千萬人的并發(fā)訪問,結(jié)果就是要原來的IOE投資要放大幾百倍甚至幾千倍,“誰都買不起了”。
而“地利”就是阿里巴巴/螞蟻金服自有龐大的業(yè)務(wù)和數(shù)據(jù)庫?!爱敃r來阿里的時候,‘單機’在阿里系統(tǒng)內(nèi)部就已經(jīng)走到盡頭了。IOE等‘單機’的性能再好,也有個盡頭;‘單機’的盡頭,就是分布式系統(tǒng)的開始?!?陽振坤及其團隊恰好是做分布式系統(tǒng)出身的,而阿里巴巴/螞蟻金服內(nèi)部有數(shù)以萬計的數(shù)據(jù)庫。雖然數(shù)據(jù)庫作為IT系統(tǒng)的底層,一旦出現(xiàn)故障就會嚴重影響整個業(yè)務(wù)系統(tǒng),特別是支付等關(guān)鍵業(yè)務(wù)系統(tǒng)。但阿里內(nèi)部總有一些業(yè)務(wù),因為數(shù)據(jù)量和自身業(yè)務(wù)需求等因素,可以先試用自研技術(shù),從而打磨自研技術(shù)。
淘寶收藏夾就是這樣一個業(yè)務(wù),有大規(guī)模的數(shù)據(jù)量,其業(yè)務(wù)需求傳統(tǒng)數(shù)據(jù)庫又難以滿足。2011年的時候,淘寶用戶已達數(shù)千萬級,就算每人收藏十條即達幾億條的數(shù)量級。另外,淘寶收藏夾業(yè)務(wù)還有一個特點,就是數(shù)據(jù)庫訪問邏輯不太復(fù)雜,可以讓OceanBase團隊在短時間內(nèi)開發(fā)出代碼并投產(chǎn)使用。如果選擇非常復(fù)雜業(yè)務(wù)作為目標,那么可能需要耗費技術(shù)團隊幾年的時間才能開發(fā)出一個可用的版本,而業(yè)務(wù)卻不可能等這么長的時間。
這個項目取名OceanBase,相對于Database而言,寓意要做一個海洋一樣的海量數(shù)據(jù)庫系統(tǒng)。完成了淘寶收藏夾的挑戰(zhàn)后,很快就難以在淘寶內(nèi)部找到類似的業(yè)務(wù)場景,可以讓OceanBase技術(shù)團隊繼續(xù)生存下去。淘寶的核心業(yè)務(wù)已經(jīng)應(yīng)用了MySQL開源數(shù)據(jù)庫并且比較穩(wěn)定,MySQL已經(jīng)能滿足淘寶的大部分業(yè)務(wù)需求。到了2012年的時候,OceanBase團隊面臨要解散的危機。這個時候,王堅聯(lián)系了當時的螞蟻金服CEO彭蕾,把OceanBase團隊推薦到了支付寶。而螞蟻金服的CTO程立,又極大地支持了OceanBase的發(fā)展。2014年雙十一,程立出面,把交易流量的1%切給OceanBase,但實際的結(jié)果卻是切了10%,因為當時的Oracle數(shù)據(jù)庫系統(tǒng)確實支撐不了洶涌而來的巨大流量。
后來的結(jié)果是OceanBase成功支撐了2014年雙十一10%的交易流量。但就在2014年6月份,當OceanBase已經(jīng)從技術(shù)上準備好,需要切到交易業(yè)務(wù)時,因為業(yè)務(wù)系統(tǒng)改造的工作量大,導(dǎo)致OceanBase兩個月都無法上線。“到了8月份,我急了,就給魯肅(程立)和Lucy(彭蕾)寫郵件,這個事情后來就推動了?!?/p>
除了王堅、彭蕾、程立等阿里巴巴/螞蟻金服等“一把手”對于OceanBase的大力支持外,當時負責阿里巴巴整個后臺系統(tǒng)的劉振飛從第一天起就一直是OceanBase的堅定支持者。劉振飛于2006年加入阿里,曾任淘寶技術(shù)保障部總監(jiān),后來升至阿里巴巴副總裁負責技術(shù)保障部、是阿里巴巴合伙人之一,現(xiàn)任阿里集團首席風險官兼任高德總裁。正是劉振飛的支持,才讓淘寶收藏夾用上了OceanBase?!爱敃r振飛負責整個阿里巴巴的后臺系統(tǒng),包括數(shù)據(jù)庫,沒有他的鼎力支持,OceanBase無法在任何業(yè)務(wù)上線?!标栒窭せ貞?。
“甲骨文公司有十幾萬人,從事數(shù)據(jù)庫核心研發(fā)的就有2千多人,而OceanBase一開始只有幾個人,到后來也才20多個人,憑什么讓別人相信我們能做出比Oracle數(shù)據(jù)庫更好的技術(shù)與產(chǎn)品?這個確實聽起來就不靠譜。”陽振坤說,這就是雞生蛋、蛋生雞的問題,好的產(chǎn)品必須要有好的口碑才會有人用,但好的口碑和好的產(chǎn)品卻要在使用中才能打磨出來。數(shù)據(jù)庫是做出來、更是用出來的,中國有那么多企業(yè)、高校和科研機構(gòu)做數(shù)據(jù)庫,真正能夠在生產(chǎn)環(huán)境中大批量使用的少之又少。
今天回頭來看,OceanBase是阿里巴巴/螞蟻金服舉全集團之力而開發(fā)出來的自有知識產(chǎn)權(quán)數(shù)據(jù)庫,如果沒有阿里巴巴/螞蟻金服內(nèi)部眾多“一把手”高管的鼎力支持,OceanBase團隊也許早就解散了。
本文作者:安和林
完整文章敬請期待后續(xù)介紹
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/17691.html
摘要:年,替換了支付寶支付系統(tǒng)中的數(shù)據(jù)庫。年,螞蟻金服全面去。土豪金工牌帶是螞蟻金服內(nèi)部最高榮譽大獎。陳萌萌目前在螞蟻金服基礎(chǔ)數(shù)據(jù)部團隊負責相關(guān)方向的開發(fā)工作。 摘要: 兩萬字長文帶你了解關(guān)于OceanBase的一切! showImg(https://segmentfault.com/img/bV6WYx?w=900&h=500); 2008年,王堅從微軟亞洲研究院常務(wù)副院長的位置上離職后,...
摘要:技術(shù)成就劃時代的分布式數(shù)據(jù)庫通過核心業(yè)務(wù)的不斷上線,螞蟻金服幫助渡過了自研基礎(chǔ)軟件產(chǎn)品最艱難的應(yīng)用關(guān)。年天貓雙十一,支付寶創(chuàng)造了萬筆每秒支付峰值的業(yè)界新紀錄,這對于數(shù)據(jù)庫來說,意味著每秒需要同時運行萬條。 技術(shù)成就:劃時代的分布式數(shù)據(jù)庫 通過核心業(yè)務(wù)的不斷上線,螞蟻金服幫助OceanBase渡過了自研基礎(chǔ)軟件產(chǎn)品最艱難的應(yīng)用關(guān)。OceanBase不只是被研發(fā)出來的,更是被用出來的,是在...
閱讀 1636·2021-11-24 09:39
閱讀 3778·2021-11-24 09:39
閱讀 2000·2021-11-16 11:54
閱讀 1556·2021-09-30 09:47
閱讀 1837·2021-09-26 10:16
閱讀 2418·2021-09-22 15:33
閱讀 1557·2021-09-14 18:01
閱讀 2602·2021-09-07 09:59