国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

厲害了,螞蟻金服!創(chuàng)造了中國自己的數(shù)據(jù)庫OceanBase(下)

shiina / 3319人閱讀

摘要:技術(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ā)出來的,更是被用出來的,是在生產(chǎn)系統(tǒng)中被磨練出來的。螞蟻金服作為互聯(lián)網(wǎng)金融的標桿企業(yè),也通過OceanBase的應(yīng)用,于2017年真正實現(xiàn)了所有核心業(yè)務(wù)100%去商業(yè)數(shù)據(jù)庫,這對整個金融體系來說都是具有里程碑意義的事件。

今天的OceanBase已經(jīng)支持了阿里巴巴/螞蟻金服數(shù)百個關(guān)鍵業(yè)務(wù)的執(zhí)行,其中有很多業(yè)務(wù)已經(jīng)穩(wěn)定的運行了多年。2017年天貓雙十一,支付寶創(chuàng)造了25.6萬筆每秒支付峰值的業(yè)界新紀錄,這對于數(shù)據(jù)庫來說,意味著每秒需要同時運行4200萬條SQL。

市場對關(guān)系型數(shù)據(jù)庫的性能和穩(wěn)定性要求苛刻,真正的關(guān)系型數(shù)據(jù)庫都是磨礪出來的——OceanBase用了7年多的時間才取代Oracle成為了支付寶的賬務(wù)等數(shù)據(jù)庫。從2010年5月調(diào)研、6月25日立項開始,OceanBase的目標就是成為新一代的商用關(guān)系型數(shù)據(jù)庫產(chǎn)品,差異化競爭點在于底層的分布式技術(shù)。全球三大數(shù)據(jù)庫廠商已存在幾十年,每家公司都擁有數(shù)以萬計的員工,而OceanBase之外做分布式數(shù)據(jù)庫的全球唯一一個成功案例是谷歌。

OceanBase等后來者反映了以互聯(lián)網(wǎng)為代表的新興社會生產(chǎn)力對關(guān)系數(shù)據(jù)庫的新需求:互聯(lián)網(wǎng)訪問的用戶數(shù)量無法確定,可能在幾天甚至幾小時內(nèi)增長數(shù)倍,傳統(tǒng)數(shù)據(jù)庫的垂直擴展方式根本無法應(yīng)對。而全球前三大數(shù)據(jù)庫甲骨文、IBM、微軟都采用集中式系統(tǒng)的重要原因在于主機系統(tǒng)的穩(wěn)定性,一臺主機動輒數(shù)百萬美元,存儲空間不夠就只能再買一臺,而且新主機系統(tǒng)上線還要數(shù)天時間。

楊傳輝現(xiàn)任螞蟻金服基礎(chǔ)數(shù)據(jù)部(OceanBase團隊)研究員,目前負責(zé)數(shù)據(jù)庫事務(wù)開發(fā)工作,著有《大規(guī)模分布式存儲系統(tǒng):原理解析與架構(gòu)實戰(zhàn)》一書,他從武漢大學(xué)畢業(yè)后加入百度從事大規(guī)模分布式存儲系統(tǒng)開發(fā),后隨著陽振坤轉(zhuǎn)戰(zhàn)阿里系從事OceanBase系統(tǒng)開發(fā),是OceanBase 0.5和1.0版本的總體設(shè)計師。

楊傳輝總結(jié)OceanBase的六大特點:第一高可用、第二強一致、第三易用性、第四高性能、第五可擴展、第六低成本。

OceanBase作為分布式關(guān)系型數(shù)據(jù)庫,最大的特色在于分布式架構(gòu),而分布式架構(gòu)的一個基本特征是能夠基于普通的PC服務(wù)器,構(gòu)建一個滿足金融級更高的可靠性以及數(shù)據(jù)一致性要求的業(yè)務(wù)核心。而PC服務(wù)器硬件的不可靠,可以通過架構(gòu)設(shè)計和軟件的可靠性來彌補,螞蟻金服的多年實踐已經(jīng)非常清楚地向業(yè)界證明了這一點。

OceanBase又被稱為原生的分布式關(guān)系型數(shù)據(jù)庫,即OceanBase是真正把所有與高可用及數(shù)據(jù)一致性相關(guān)的問題在數(shù)據(jù)庫內(nèi)核層面就解決掉了,這和現(xiàn)在很多互聯(lián)網(wǎng)公司采用的中間層+單機數(shù)據(jù)庫的分層設(shè)計方式有很大的差別。從技術(shù)復(fù)雜度上看,選擇走原生分布式數(shù)據(jù)庫這條路,無疑是非常艱難和痛苦的,這意味著在這樣的一個復(fù)雜的分布式內(nèi)核上,哪怕是實現(xiàn)一個簡單的功能,也需要付出比單機數(shù)據(jù)庫大得多的代價,但正是這樣的選擇,使得OceanBase真正具備了商業(yè)數(shù)據(jù)庫最重要的特征:高度集成、整體交付,對業(yè)務(wù)無侵入;同時也真正解決了分層設(shè)計中無法同時實現(xiàn)的水平擴展及跨庫查詢等缺陷。

OceanBase的一個基礎(chǔ)設(shè)計思想是把每一份數(shù)據(jù)存放在三臺不同的機器上,那么一臺PC服務(wù)器出故障的概率為千分之一的話,兩臺同時壞的概率可能就是百萬分之一,三臺同時壞的概率則是十億分之一。這樣做的成本雖然下來了,但如何保證三臺機器上數(shù)據(jù)的強一致性,這對于金融業(yè)務(wù)來說至關(guān)重要。

OceanBase高可靠的核心是基于PAXOS協(xié)議。PAXOS協(xié)議原來為分布式理論上的算法,OceanBase在分布式數(shù)據(jù)庫中實現(xiàn)了這一協(xié)議。PAXOS協(xié)議本質(zhì)是少數(shù)服從多數(shù)的協(xié)議,具體實現(xiàn):在n個(n>=3)個數(shù)據(jù)庫中,其中一個為主庫,其余為備庫,每一筆事務(wù)不是同步到所有備庫,而是同步到超過半數(shù)的庫(包括主庫自身),比如3個庫中的2個、5個庫中的3個等等。一旦主庫故障,只要存活的庫超過半數(shù),就可以自動選舉出新的主庫,并且恢復(fù)所有已經(jīng)提交的事務(wù)(超過半數(shù)庫或者保證了每一筆提交的事務(wù)至少在一個庫上存在),這樣就允許少數(shù)的庫故障而不丟失數(shù)據(jù)、不中斷業(yè)務(wù)?;赑AXOS協(xié)議,OceanBase能夠?qū)崿F(xiàn)單機/機房/城市級別,真正的無損容災(zāi);在少數(shù)庫故障的時候,RPO(恢復(fù)目標)為零,即沒有數(shù)據(jù)因為故障而損壞或丟失;同時基于完全自動的主備切換,能把RTO(恢復(fù)時間)縮短到30秒以內(nèi)。

在強一致性方面,OceanBase還做了大量優(yōu)化工作。比如對于事務(wù)消息改造為異步消息機制:事務(wù)開始時把消息投入消息系統(tǒng),當(dāng)交易全部完成后才通知消息系統(tǒng)投遞消息,而這個是一個非常關(guān)鍵性的改造,解決了高并發(fā)支撐同時的一致性問題。

所謂事務(wù)(transaction),這是面向OLTP交易型關(guān)系數(shù)據(jù)庫的一個關(guān)鍵流程。對于交易來說,數(shù)據(jù)庫的事務(wù)必須是“原子”的,典型的是銀行轉(zhuǎn)賬:這邊扣了100塊錢,另一邊就必須加上100塊錢,而不能這邊扣了那邊卻沒有加上。

為了保證數(shù)據(jù)庫的高可用,OceanBase實現(xiàn)了三地五中心容災(zāi)架構(gòu)在核心業(yè)務(wù)的落地,即使一個城市的所有數(shù)據(jù)中心都完全不可用,整個系統(tǒng)在數(shù)據(jù)層面仍然會做到不丟一行數(shù)據(jù)并繼續(xù)提供服務(wù)。例如支付寶的會員ID采用了OceanBase的三地五中心部署方案,即使其中一個城市故障,剩下的兩個城市至少還有3個活著的庫,仍然能夠自動選舉出新的主庫、立即恢復(fù)數(shù)據(jù),并繼續(xù)提供服務(wù)。

在易用性方面,OceanBase作為后來者,必須要考慮到已有數(shù)據(jù)庫用戶的習(xí)慣,必須要兼容已經(jīng)有的技術(shù)與產(chǎn)品,特別是在做數(shù)據(jù)庫遷移的時候,最好是原有的軟件代碼不需要改動一行也能直接遷移到OceanBase上,這就是易用性。

在可擴展性方面,每一個城市里面的機房可以想象為一個可分片的大型數(shù)據(jù)庫,可作為數(shù)據(jù)拆分的基礎(chǔ),例如把全中國的所有用戶分成一百份,那么一份放在第一個機房,依此類推使得整體伸縮能力可達到機房級。理論上只要增加機房,就能無限增加伸縮能力。不論跨越多少個機房、多少個城市,所有參與部署的數(shù)據(jù)庫服務(wù)器在邏輯上是一個OceanBase集群的一部分,這就是所謂“原生”的概念,無論從應(yīng)用視角還是運維視角,都是整體交付。

通過原生的分布式數(shù)據(jù)庫設(shè)計,OceanBase實現(xiàn)了高可用、強一致、易用性、高性能和可擴展,這樣帶來的好處就是OceanBase性價比能做到傳統(tǒng)數(shù)據(jù)庫的10倍甚至更高,原先一臺高端服務(wù)器動輒幾十萬、幾百萬,而OceanBase僅用幾千元至多幾萬元的PC服務(wù)器即可,這從根本上來說就不是一個量級,諸如大型銀行使用的大型機可能以幾千萬、幾億元來計算。陽振坤表示,OceanBase的性價比已經(jīng)達到了現(xiàn)有商業(yè)數(shù)據(jù)庫的5倍~6倍以上,未來還將達到更高。

OceanBase的開發(fā)分為兩條線:一條線是從2010年開始開發(fā)的0.1、0.2、0.3、0.4、0.5這一系列的版本,主要是早期為了服務(wù)當(dāng)時已有的阿里系業(yè)務(wù);另一條線是從2012年開始構(gòu)想的、完全從云時代架構(gòu)重新設(shè)計的分布式數(shù)據(jù)庫OceanBase 1.0系列,2013年開始整體設(shè)計、2014年中旬抽出資源正式投入開發(fā)、2015年底開發(fā)完成,后又經(jīng)歷了1.0、1.1、1.2、1.3到現(xiàn)在的1.4版本。

2016年雙十一的時候,有些支付寶業(yè)務(wù)還是基于0.5版本,有些業(yè)務(wù)已經(jīng)升級到1.1版本,少量業(yè)務(wù)升級到1.2版本。而2014年雙十一,10%的交易數(shù)據(jù)鏈搬到了OceanBase上;2015年雙十一,100%交易數(shù)據(jù)鏈和支付數(shù)據(jù)鏈都搬過來了;2016年雙十一,整個賬務(wù)庫都搬過來了,這一核心數(shù)據(jù)庫被稱為“金融系統(tǒng)數(shù)據(jù)庫皇冠上的明珠”。

研發(fā)故事:軟件、硬件、業(yè)務(wù)一體優(yōu)化

▲OceanBase 團隊SQL組負責(zé)人 蔣志勇

對于OceanBase這樣一個劃時代的分布式數(shù)據(jù)庫,自然有寫也寫不完的研發(fā)故事,以下僅摘取幾例以體現(xiàn)OceanBase的研發(fā)之難。

陳萌萌介紹說,以前數(shù)據(jù)庫技術(shù)更多偏向軟件層的,硬件層有專業(yè)人員、專業(yè)技術(shù)和專業(yè)的公司來解決硬件本身的穩(wěn)定性或容災(zāi)等問題。但是在螞蟻金服這邊更多是軟硬結(jié)合的方案,OceanBase軟件從設(shè)計之初就考慮了硬件層面不穩(wěn)定、分布式系統(tǒng)的特征,從而去做以前數(shù)據(jù)庫不會做的優(yōu)化工作。以前的數(shù)據(jù)庫優(yōu)化根本不會考慮到底層的硬件損壞、機器宕掉、網(wǎng)絡(luò)斷網(wǎng)、天災(zāi)人禍不確定性問題,而今天OceanBase無時無刻不在考慮這些問題?!耙郧白鲕浖_發(fā),先假設(shè)底層的硬件沒有問題,而只需要把上層軟件邏輯做好就行了,現(xiàn)在我們是整體的軟硬件考慮?!?/p>

以數(shù)據(jù)庫的查詢優(yōu)化技術(shù)來講,比如傳統(tǒng)的銀行柜臺,通過人工窗口提供服務(wù),用戶的主要時間花在與人工窗口打交道等方面,對于數(shù)據(jù)庫的快慢體會不那么敏感,但是螞蟻金服是互聯(lián)網(wǎng)應(yīng)用,數(shù)據(jù)庫隨時的一個抖動或查詢執(zhí)行時間變慢了一點,用戶馬上就能直接感受到。這與傳統(tǒng)應(yīng)用場景差異很大,如果數(shù)據(jù)庫的一個查詢從一毫秒變到了五毫秒,傳統(tǒng)數(shù)據(jù)庫不會認為這是件大事,但是互聯(lián)網(wǎng)應(yīng)用下,多出來的四毫秒可能被放大成為幾百毫秒甚至一兩秒,一旦出現(xiàn)這樣的時延,用戶體驗馬上就變差了。“我們每天都在做特別精細的事情,生怕一毫秒變成五毫秒這種事情出現(xiàn),因此做了很多精確防御?!?/p>

楊傳輝進一步解釋。數(shù)據(jù)庫查詢優(yōu)化器本身是近似解,基本上不存在最優(yōu)解,優(yōu)化的目標就是逼近最理想的情況。在傳統(tǒng)應(yīng)用場景下可以允許優(yōu)化結(jié)果差幾個毫秒甚至更多,但是在互聯(lián)網(wǎng)場景下就很難接受這么大的差異,所有的優(yōu)化效果都要精確到幾個毫秒以內(nèi)。

比如每一次在支付寶付款,點擊一下支付寶的付款按鈕,背后的數(shù)據(jù)庫可能要執(zhí)行一兩百次數(shù)據(jù)庫的SQL查詢,優(yōu)化器要為每一個查詢生成一個需要做的優(yōu)化執(zhí)行計劃,如果優(yōu)化器在某一個場景下犯了一個錯誤,每個查詢多出了5毫秒,那么整個鏈路就會多500毫秒,用戶在按下付款按鈕的時候發(fā)現(xiàn)有可能變慢了。如果再加上可能不止做支付,比如買商品后下單再要支付,這幾個鏈路加在一起就有可能慢幾百毫秒甚至上到秒級,這對用戶來說就已經(jīng)不能接受了。

還有一個場景是地鐵的刷臉或者刷支付寶進站,如果用戶站在閘機前面半天刷不出來,那就不光是體驗問題了,有可能會引來連鎖麻煩,后面人也會被堵起長龍,這些現(xiàn)實的挑戰(zhàn)都要求OceanBase反應(yīng)精確、迅速。楊傳輝介紹說,從關(guān)鍵業(yè)務(wù)系統(tǒng)的數(shù)據(jù)鏈路梳理上來看,一兩百條SQL是最普通的一次交易了,如果涉及到支付渠道不一樣,SQL執(zhí)行的次數(shù)就會更多。

因為螞蟻金服本身是分布式的系統(tǒng),分布式系統(tǒng)一個很大挑戰(zhàn)是對底層的基礎(chǔ)組件包括網(wǎng)絡(luò)要求非常高。如果網(wǎng)絡(luò)出現(xiàn)了問題,就會對整個服務(wù)產(chǎn)生影響。因此OceanBase不僅要對數(shù)據(jù)庫層做優(yōu)化,還對網(wǎng)絡(luò)、磁盤、操作系統(tǒng)等軟硬件層都要做很精確的優(yōu)化。

那么OceanBase是怎么解決的呢?OceanBase團隊從業(yè)務(wù)的開始階段就會介入到業(yè)務(wù)的設(shè)計當(dāng)中,業(yè)務(wù)怎么用數(shù)據(jù)庫、怎么用最合理等等,從一開始就會參與整體設(shè)計,與業(yè)務(wù)方和整個架構(gòu)一起演進。

蔣志勇所從事的SQL引擎和優(yōu)化器工作,為OceanBase從無到有的建立了自己的SQL引擎,特別是讓原先的MySQL應(yīng)用不改動任何代碼就能遷移過來。在數(shù)據(jù)庫的兼容性方面,OceanBase做到了對MySQL的兼容,螞蟻金服的內(nèi)部業(yè)務(wù)從MySQL數(shù)據(jù)庫遷到OceanBase,不需要任何改動。

在優(yōu)化器方面,涉及到的系統(tǒng)統(tǒng)計信息收集,是與螞蟻金服的業(yè)務(wù)體系架構(gòu)結(jié)合起來,設(shè)計了一個動靜分離的架構(gòu):白天把統(tǒng)計信息都存儲到內(nèi)存中,每天到業(yè)務(wù)低谷的時候再從內(nèi)存寫到磁盤上。而不是像其他數(shù)據(jù)庫那樣直接寫到磁盤上,導(dǎo)致收集系統(tǒng)統(tǒng)計信息慢且不全面;也不像內(nèi)存數(shù)據(jù)庫那樣全采用高成本的內(nèi)存來存儲統(tǒng)計信息。OceanBase的這種準內(nèi)存數(shù)據(jù)庫設(shè)計方式,既滿足了SQL查詢需要實時收集更全面系統(tǒng)統(tǒng)計信息的需求,也讓整體的信息收集成本沒有額外開銷。

OceanBase還在SQL語句搜索優(yōu)化方面進行了精細化的調(diào)節(jié)。由于是完全自研的數(shù)據(jù)庫,對于Join連接查詢算法可以靈活適配多種算法,而在其他數(shù)據(jù)庫中則由于已經(jīng)限制可選范圍而無法做到更精細的優(yōu)化?!拔覀冊谒阉鳁l件的改寫上面做了巧妙的設(shè)計,結(jié)果就是有更廣的可選擇范圍,而其他數(shù)據(jù)庫則只能在一個很窄的范圍內(nèi)選擇最優(yōu)策略,因此OceanBase的搜索結(jié)果更優(yōu)?!笔Y志勇說。

因為要兼容MySQL,OceanBase團隊也精研了MySQL,對MySQL進行了大量調(diào)優(yōu)工作。在這個過程中,OceanBase團隊發(fā)現(xiàn)了MySQL的幾百個問題,向MySQL開源社區(qū)匯報后得到了確認。諸如MySQL對不同路徑執(zhí)行出來的結(jié)果都不一樣、MySQL的語義不是非常完整等等,都是OceanBase團隊在使用MySQL中發(fā)現(xiàn)的問題。特別是由于阿里巴巴和螞蟻金服的業(yè)務(wù)規(guī)模日益擴大,經(jīng)常會踩到各種技術(shù)的極限門檻,OceanBase團隊就曾經(jīng)在開發(fā)MySQL接口驅(qū)動程序的時候,通過業(yè)務(wù)排查發(fā)現(xiàn)某個事務(wù)已經(jīng)回滾但數(shù)據(jù)還是被提交進入了數(shù)據(jù)庫,導(dǎo)致會出現(xiàn)轉(zhuǎn)賬已經(jīng)取消但錢還是被轉(zhuǎn)走了的現(xiàn)象,團隊排查了很久后終于發(fā)現(xiàn)是由于MySQL客戶端的一個變量設(shè)置本身有問題,但這種問題只有在極限條件下才有可能出現(xiàn),屬于小概率事件。OceanBase團隊就是這樣逐一排除小概率事件,最終走向了通用型產(chǎn)品的道路。

通用型產(chǎn)品與場景化產(chǎn)品最大的區(qū)別在于通用型產(chǎn)品能夠適配絕大多數(shù)場景,而場景化產(chǎn)品則只能適配單一的場景。馮柯表示,這就是商業(yè)數(shù)據(jù)庫最強的地方,因為能夠匹配絕大多數(shù)的場景。也許商業(yè)數(shù)據(jù)庫的技術(shù)不是最強的,但價格那么貴還有用戶買,就說明商業(yè)數(shù)據(jù)庫的總體擁有成本更低,一個產(chǎn)品就能適配大多數(shù)場景。而能夠適配絕大多數(shù)場景,就說明把已經(jīng)能踩的坑兒都全部踩過了,今天的OceanBase也在經(jīng)歷同樣的過程。

OceanBase踩過的另一個坑兒,也是在極限情況下才會出現(xiàn)的Linux系統(tǒng)bug。OceanBase本身是在Linux和C語言基礎(chǔ)上開發(fā)的分布式數(shù)據(jù)庫系統(tǒng),2010年到2011年OceanBase團隊在支持淘寶收藏夾業(yè)務(wù),2011年雙十一的時候遇到了穩(wěn)定性的問題。當(dāng)時的Linux有一個直接訪問IO的特性,這個特性出現(xiàn)了bug,而且是在極限條件下才會被觸發(fā)的bug。

楊傳輝回憶當(dāng)時距離2014年雙十一還有不到一個月的時間,是一個周五出現(xiàn)的問題,導(dǎo)致淘寶收藏夾一天之內(nèi)連續(xù)宕機三次、每次一個小時左右,每次宕機后恢復(fù)收藏夾的流量,一旦訪問量超過一定量就又觸發(fā)了Linux內(nèi)核的bug導(dǎo)致再次宕機,直到周五晚上8、9點后淘寶訪問用戶變少后才恢復(fù)了運轉(zhuǎn)。由于當(dāng)時的開發(fā)團隊主要集中在北京,因此第二天的周六早上所有團隊成員搭第一班飛機從北京飛到杭州來解決問題?!爱?dāng)時的氣氛很緊張,如果這個問題解決不了,OceanBase團隊當(dāng)時就會解散?!睏顐鬏x回憶當(dāng)時的情況,而且在解決問題的時候,負責(zé)寫代碼的程序員的壓力也很大,后面有兩三個在盯著到底怎么寫代碼?!爱?dāng)時也并不確定這么做就一定能解決問題,只是覺得有70%-80%的概率能解決問題,后來還真解決了這個問題。”

“阿里巴巴/螞蟻金服的系統(tǒng)發(fā)展太快、一直在變,OceanBase也一直在開發(fā)新功能,又要支持線上業(yè)務(wù),而雙十一的爆發(fā)可能會是平常流量的十倍,而像Linux內(nèi)核bug這樣的問題,如果只是平常流量的一兩倍,是根本不會觸發(fā)的,它只有在爆發(fā)十倍的時候才會出現(xiàn)。所以我們特別緊張,也沒有時間讓我們仔細去分析,慢吞吞地解決問題。當(dāng)問題來的時候,所有人加班解決,就是這樣。”楊傳輝說。

馮柯回憶說,他加入OceanBase后的第一件事是做診斷監(jiān)控,當(dāng)時沒有人愿意做這件事,因為最主要是要到系統(tǒng)中埋點,大家都認可這件事很重要,但是沒有人愿意去做,因為它涉及到所有的模塊,是一件非常吃力不討好的事情。而自己當(dāng)時選擇做的原因,是因為這對業(yè)務(wù)來說非常重要,是必須要做的事情,當(dāng)時也碰到了很多的挫折,出了很多問題。例如OceanBase診斷監(jiān)控功能剛上線的時候,有N個人去看監(jiān)控,會得出各種不同的結(jié)論來,“大家覺得這個功能完全不能用,覺得做得很爛,所以當(dāng)時參加的同學(xué)很沮喪,覺得沒有被承認”。馮柯當(dāng)時鼓勵團隊,最困難的時候反而是團隊進步最快的時候,“別人對你的批評最多的時候,其實是你進步最快的時候,你的產(chǎn)品能夠獲得更多資源,能夠被更多的人認識到,這其實是非常好的,那個時候的觸動確實很大?!?/p>

OceanBase是一個一邊在業(yè)務(wù)中“討生活”,一邊尋找機會發(fā)展壯大自己的過程。在“討生活”的過程中,OceanBase也會不得已做出妥協(xié)。楊傳輝回憶2010年的OceanBase版本有一個比較大的缺陷,就是設(shè)計了單點寫入。當(dāng)時,把所有寫入數(shù)據(jù)全放在一臺機器上,這個版本可擴展能力比較差,本質(zhì)上只能做垂直擴展而沒有辦法做水平擴展。另外,因為每個寫入都要經(jīng)過那個節(jié)點,最后整個性能也相對更差,數(shù)據(jù)庫的功能也受限。這主要是OceanBase早期的版本,當(dāng)時團隊的數(shù)據(jù)庫經(jīng)驗沒有那么豐富,也沒有時間做長期的開發(fā),直到2015年重新設(shè)計開發(fā)的1.0版本才是真正面向云時代的分布式數(shù)據(jù)庫。這個期間,OceanBase團隊也從各個渠道引進數(shù)據(jù)庫人才,最終實現(xiàn)了數(shù)據(jù)庫的重構(gòu)。

OceanBase經(jīng)歷的失敗還有很多。楊傳輝回憶,OceanBase在2012年11月份轉(zhuǎn)到螞蟻金服到2014年實現(xiàn)了交易系統(tǒng),這之間的2013年其實在從事淘寶的庫存項目而不是交易系統(tǒng)。當(dāng)時,OceanBase團隊看到庫存的數(shù)據(jù)庫問題也是一大挑戰(zhàn),這就像賣火車票系統(tǒng)的挑戰(zhàn)本質(zhì)上也是減庫存問題——如果有兩人同時并發(fā)減庫存,就會亂掉。當(dāng)時,淘寶的MySQL團隊也在做這個事情,最終業(yè)務(wù)部門選擇了MySQL的方案,就是因為業(yè)務(wù)團隊當(dāng)時覺得用MySQL更放心,“就這一個原因,也沒有其他的點,最后沒有選擇OceanBase,我們相當(dāng)于那一年白干,整個團隊白干。但因為這個鋪墊,我們下一個交易系統(tǒng)真的做成了?!?/p> OceanBase的研發(fā)方法論

總結(jié)OceanBase的開發(fā)過程,總會試圖尋找一些研發(fā)方法論,就像微軟的軟件開發(fā)“三駕馬車”那樣的方法論。但正如陳萌萌所總結(jié)的:“我們其實更多的時候是與運維、業(yè)務(wù)團隊等一起在定義問題。我們會看到一些問題,找到真正要解決的問題是什么,然后幫助用戶定義這個問題。在定義問題時,有時候我們會開一個會,分析某問題是由數(shù)據(jù)庫團隊解決、還是由業(yè)務(wù)團隊解決,而在開會之前可能大家都不知道最后要達到什么樣的效果。很多時候我們在做這些不確定的事情?!?/p>

OceanBase本身是在做一個沒有先例可參考的分布式數(shù)據(jù)庫,純粹做分布式系統(tǒng),全世界谷歌做得最好。陽振坤在百度時所帶領(lǐng)的分布式團隊已經(jīng)是國內(nèi)當(dāng)時最強的分布式技術(shù)團隊,也從谷歌吸收了很多分布式技術(shù)的思想。但當(dāng)后來試圖把分布式架構(gòu)與關(guān)系型數(shù)據(jù)庫結(jié)合在一起的時候,就再也沒有先人的經(jīng)驗,而只能靠團隊自己琢磨。雖然OceanBase到目前為止還沒有發(fā)表過論文、還是在做業(yè)務(wù),但楊傳輝回憶OceanBase中有很多是別人沒有想過方法,可能要做一個新的方案要想好久,要思考半年到一年后面再決定去做。

在具體開發(fā)的執(zhí)行過程中,測試是很重要的工作。分布式系統(tǒng)的異常處理很容易出錯,平常機器不出故障,到上線業(yè)務(wù)突然出一個故障時,可能就是一個大故障,而這種異常處理的測試比較難。OceanBase有容災(zāi)模擬框架,就是隨時把一臺機器殺死,而這樣的容災(zāi)測試隨時在運行。另外,對于并發(fā)處理的測試,即某個條件的達成可以突然觸發(fā)兩個線程的先后順序或一個變量的訪問順序出錯,OceanBase也是隨時在模擬這樣的場景,讓這樣的小概率事件盡早出現(xiàn)。

在開發(fā)的過程上,OceanBase通常是一個人寫出來的代碼,要另外一個人去讀和審查,通過的代碼才會提交。OceanBase團隊還寫了很多自動測試用的框架,開發(fā)人員要自己做單元測試和一部分的功能測試,集成測試則由專門的人來完成,OceanBase的測試人員很少只有幾個人,大部分的測試都是靠自動化完成。

因為OceanBase是軟件、硬件和業(yè)務(wù)集成在一起的整體優(yōu)化,而當(dāng)軟件、硬件和業(yè)務(wù)碰到一起的時候,經(jīng)常會出現(xiàn)各種碎片化的小場景問題,那么又是怎么解決的呢?陳萌萌介紹說,當(dāng)遇到這樣的場景時,就會提前把大家拉到一個釘釘群里,把需求丟到群中,技術(shù)團隊根據(jù)需求提供反饋建議,業(yè)務(wù)團隊也會反饋在試驗中遇到的問題。這些碎片化的場景和問題,很難區(qū)分到是軟件、硬件還是業(yè)務(wù)的問題,因此群里有運維、開發(fā)、業(yè)務(wù)甚至還有負責(zé)業(yè)務(wù)拓展的BD和負責(zé)產(chǎn)品的PD,只要需要關(guān)注的人員都可以進到群里。陳萌萌透露他自己平常關(guān)注的活躍群就至少在20個以上,也就是至少一天發(fā)一條消息的群,他也在更多的可能十天半個月才發(fā)一條消息的技術(shù)討論群中。

以前在甲骨文公司的時候,陳萌萌說大家更習(xí)慣用郵件的慢節(jié)奏溝通方式,到了阿里系就是碎片化的溝通。首先每個人有負責(zé)的業(yè)務(wù)或技術(shù)方向,空閑的時間就會把群里的來龍去脈都過一遍。有些群是按需找人,在群里被@了就肯定會關(guān)注這些消息,如果沒有被@,就會找不是特別緊急時候再把群里的消息過一遍。雖然群很多,但是真正過群消息的時候,幾分鐘時間還是能夠把過去幾天的消息都過一遍。這樣總是能區(qū)分哪些是需要第一時間響應(yīng)的,哪些可以后續(xù)持續(xù)關(guān)注的。

一般OceanBase團隊的工作時間是早9點到晚9點12個小時,但也有大促的“雙十一”、“6.18”、春節(jié)紅包壓測等緊急情況。當(dāng)然,隨著OceanBase的發(fā)展,需要處理緊急事件的情況在減少。陳萌萌回憶,以前跟著業(yè)務(wù)團隊壓測到凌晨,甚至說半夜被揪起來的情況,會經(jīng)常發(fā)生。

“我記得經(jīng)歷過很多故障都挺戲劇化的:因為一旦出現(xiàn)一些問題以后,各方面的人都會被半夜拉起來,大家臨時被拉到一個群里面,誰也不知道當(dāng)時發(fā)生了什么,但是每個人可能有一部分的信息,大家很快把各自的信息扔到群里面,這樣就對出來到底發(fā)生了什么。每個人都有點膽戰(zhàn)心驚,生怕自己做的那部分導(dǎo)致了什么問題。”陳萌萌回憶說?!拔矣浀糜幸淮喂收?,半夜11點說有一個問題需要大家上線去看,一幫人包括主管都上線看問題,一直到凌晨四五點。一開始大家都在,慢慢發(fā)現(xiàn)問題越來越聚焦,相關(guān)的人員就上來,一直到凌晨四五點才解決問題。中間大家在群里面各種排查信息分析,提出各種建議,雖然沒有坐在一起,但就像關(guān)在一個屋子里面開了連夜的戰(zhàn)斗會一樣?!?/p>

陳萌萌總結(jié)了阿里這種獨特的技術(shù)討論群解決問題的過程:“這是一個不停過濾信息再分析的過程。如果一開始不掌握所有信息,誰也總結(jié)不了。對完信息后,有人發(fā)現(xiàn)說某個地方需要關(guān)注,別的人再把相關(guān)信息加過來,慢慢連成一個邏輯。當(dāng)你回頭再看群里消息的時候,這個現(xiàn)象特別明顯。信息一開始是散的,然后慢慢才能達成一致,最后走下去。”

當(dāng)然,群里也會有熟悉各種“疑難雜癥”的“老中醫(yī)”,一般是經(jīng)驗比較豐富的人員,見到的問題也比較多,所以別人可能還在猜測的時候,“老中醫(yī)”就會給一個很靠譜的可能性,沿著這個可能性去看的話,發(fā)現(xiàn)確實可以通過這個角度去挖掘解決問題的方案。

然而,即使討論出了可能的解決方案,“大家還是挺膽戰(zhàn)心驚的,敲命令都是讓專門負責(zé)運維的人員去敲,這個時候的關(guān)鍵在于手不抖、別敲錯,因為萬一敲錯了那就是二次故障。所以我們都會找一個心理素質(zhì)好的同事操作,大家誰也不要吱聲,看著這個同事安靜地把命令敲完?!币驗椴还芡ㄟ^群里的討論,選擇一條最保險最靠譜的操作方式,但在系統(tǒng)里面直接敲命令都有可能直接動數(shù)據(jù),敲錯一個鍵就有可能把所有數(shù)據(jù)都刪了,這是沒法挽回的,“所有人在操作的時候都不敢出氣”。

當(dāng)然,每次處理完故障后,也會復(fù)盤找到以后的解決方案,最后形成知識庫也就是應(yīng)急預(yù)案再固化到程序里,通過程序防止下一個錯誤。

前面提到整個OceanBase并沒有一個統(tǒng)一的產(chǎn)品經(jīng)理,因為OceanBase的功能列表是對標商業(yè)數(shù)據(jù)庫。但還是會有產(chǎn)品開發(fā)的規(guī)劃,通常以財年為單位、雙十一為重要節(jié)點,比如某個版本必須要在下一個雙十一之前做出來并且穩(wěn)定運行,再通過雙十一檢驗。“保持這樣一個節(jié)奏”,蔣志勇補充。

成功之道:不斷證明自己

“以前分布式系統(tǒng)谷歌里面是有的,但是數(shù)據(jù)庫領(lǐng)域沒有一個人用到生產(chǎn)系統(tǒng)里面。包括我們最初用PAXOS協(xié)議做數(shù)據(jù)庫的時候,傳統(tǒng)數(shù)據(jù)庫從業(yè)人員帶著原有思維看這件事,大家覺得不可思議。我們與螞蟻金服的業(yè)務(wù)方交流,告訴業(yè)務(wù)方能同時做到一致性與可用性,不丟一條數(shù)據(jù)而且做到高可用,業(yè)務(wù)方覺得不可理解,因為業(yè)務(wù)方已經(jīng)習(xí)慣了傳統(tǒng)數(shù)據(jù)庫的方式?!瘪T柯在回憶OceanBase早期的發(fā)展時,還是很興奮當(dāng)時打破了傳統(tǒng)技術(shù)的思維。

改變一個人的思想是非常困難的事情。OceanBase作為數(shù)據(jù)庫領(lǐng)域的新進入者,優(yōu)勢在于把分布式系統(tǒng)和數(shù)據(jù)庫結(jié)合起來?!捌鋵峅ceanBase本身不是一個專業(yè)數(shù)據(jù)庫團隊,OceanBase的創(chuàng)始人本身都不是學(xué)數(shù)據(jù)庫的,而是最早從分布式存儲開始做起,OceanBase到很后面才真正有了SQL的功能。”作為傳統(tǒng)數(shù)據(jù)庫專家出身的馮柯說,OceanBase最吸引他的地方在于有機會能接觸到影響幾億人的業(yè)務(wù)。OceanBase對于傳統(tǒng)數(shù)據(jù)庫也不是一味模仿,而是在分布式架構(gòu)方面做差異化,“我們今天不是簡單的功能模仿,每一個功能在OceanBase上,由于架構(gòu)的不同,內(nèi)涵其實是不一樣的,挑戰(zhàn)也不一樣。其次,今天在OceanBase真正上線一個業(yè)務(wù),馬上就能服務(wù)到幾億人,這兩點是非常吸引像我這樣背景,包括從Oracle來的技術(shù)人員。因為OceanBase有非常好的應(yīng)用場景。”

作為OceanBase的創(chuàng)始人,陽振坤經(jīng)常強調(diào)數(shù)據(jù)庫不是被研制出來的,而是被用出來的。今天OceanBase如果推翻重來,或許會有更好的方案,但在發(fā)展的初期很多時候要考慮團隊的生存問題、滿足業(yè)務(wù)和場景的需要,所以當(dāng)時很多的選擇是面向用戶的選擇,讓更多的業(yè)務(wù)能夠跑在OceanBase之上,通過這種方式來建立用戶對OceanBase的信任。

“如果大家當(dāng)時能看見原來七年后OceanBase能長成這樣,我相信七年前的那個環(huán)境會好很多。但是這種如果是不存在的,很多時候你要先證明自己?!瘪T柯說。

楊傳輝介紹說,OceanBase從淘寶轉(zhuǎn)到支付寶,很大程度上是因為MySQL可以滿足淘寶的多數(shù)業(yè)務(wù)需求。淘寶屬于電子商務(wù)類交易型業(yè)務(wù),與支付寶的金融交易差別很大。當(dāng)時淘寶電子商務(wù)交易是可以偶爾的丟失數(shù)據(jù),采用了傳統(tǒng)數(shù)據(jù)庫的主備同步來實現(xiàn)高可用,但是主備之間是異步的,備機與主機的數(shù)據(jù)之間落后幾毫秒都是有可能的,MySQL主備同步模式已經(jīng)能夠滿足淘寶電子商務(wù)交易。

從2012年底開始,OceanBase開始慢慢支持支付寶的交易,支付寶交易屬于金融系統(tǒng),不允許有任何一條數(shù)據(jù)的丟失。淘寶如果數(shù)據(jù)丟失了一條,還有一個最后的手段,就是可以查支付寶。畢竟丟失數(shù)據(jù)的概率極低,只有在極端場景下才有可能丟失數(shù)據(jù),而且還能向支付寶查詢,支付寶就是最后的防線。2014年,支付寶交易由Oracle切換成OceanBase,實現(xiàn)了一條數(shù)據(jù)都不丟失,而且保證高可用、強一致。這在傳統(tǒng)數(shù)據(jù)庫都沒有辦法做到:既保證一條數(shù)據(jù)也不丟失,又保證數(shù)據(jù)的高可用。因為對于傳統(tǒng)數(shù)據(jù)庫來說,這兩個要求是相互矛盾的事情。OceanBase創(chuàng)新地采用了分布式系統(tǒng)里的PAXOS的協(xié)議,第一次把這個協(xié)議用于傳統(tǒng)數(shù)據(jù)庫和分布式系統(tǒng)兩個領(lǐng)域的結(jié)合,并在2014年雙十一中得到了檢驗,后面的發(fā)展就比較順了。

蔣志勇回憶他剛來的時候,當(dāng)時還是對于支付寶核心業(yè)務(wù)上OceanBase有很大的爭議。“2014年雙十一的時候,爭論很激烈,最后是CTO當(dāng)時拍板要上10%。當(dāng)時在上1%還是上10%這方面大家很糾結(jié),因為畢竟雙十一10%的流量幾乎相當(dāng)于平時的全量了。當(dāng)時CTO拍板做10%,并且后面還挺順利。從那個時候開始,在核心業(yè)務(wù)上,大家就慢慢接受和認可OceanBase了。”

楊傳輝回憶當(dāng)時為了趕上2014年雙十一的進度,時間非常緊張。上“雙十一”,就意味著在線上不能出一次問題,那時有大約近二十萬行代碼是半年之內(nèi)一次性新開發(fā)的,但是上線不能出一次問題,因此對質(zhì)量保證提出特別嚴格的要求。上線前做了很多容災(zāi)測試、代碼檢測、設(shè)計檢測等,包括當(dāng)時涉及到的所有SQL語句都做了全面測試。“即便是這些事情都做了,也還是有一定的運氣成分,最后OceanBase上線沒有出一次故障。因為當(dāng)時七八月份對核心業(yè)務(wù)底層系統(tǒng)升級完后就不可能再升級了,后面確實一個問題都沒有出現(xiàn),最后雙十一成功切了10%的流量?!比绻?dāng)時出現(xiàn)哪怕一次問題,可能OceanBase將不再存在。

在螞蟻,遇到更好的自己

2014年的時候,OceanBase團隊面臨著當(dāng)年雙十一的生死大考。而馮柯也是在2014年加入OceanBase團隊的,作為一個傳統(tǒng)技術(shù)和商業(yè)環(huán)境出身的技術(shù)人員,馮柯在OceanBase經(jīng)歷了從傳統(tǒng)企業(yè)文化到互聯(lián)網(wǎng)公司文化的轉(zhuǎn)型。

“我那時有很強的思維慣性,剛來OceanBase的時候,覺得看什么都不爽,OceanBase是別人寫的代碼,總覺得這里不應(yīng)該這樣做,那里不應(yīng)該那樣做。那個時候特別挑戰(zhàn),也包括過去是我說了算,今天說了不算,反正是非常痛苦的一個過程?!瘪T柯來OceanBase前半年基本上處于每天無事可干的狀態(tài),后來主管就給他布置任務(wù),讓他放下層級的觀念去把OceanBase源代碼看一遍。于是,馮柯當(dāng)時就用了大概6個月左右的時間,看了將近20萬行、每個月5萬行左右的代碼,報了100多個bug,寫了很多文檔,做了最基礎(chǔ)的事情。

這個過程讓馮柯在從代碼上更了解OceanBase,能夠做更具體的事情,其次也是最重要的就是調(diào)整了心態(tài)?!拔覄偧尤胛浵伣鸱臅r候覺得很恐懼,覺得阿里是一個價值觀很強的公司,后來發(fā)現(xiàn)層級只是對你過去的一個認可,來了阿里之后就要忘了過去,從頭開始。把自己沉下去,再浮上來,你就會更加有力量?!碑?dāng)從代碼上真正認可了OceanBase,把OceanBase當(dāng)作自己的產(chǎn)品,就能把自己全部投入到OceanBase中?!艾F(xiàn)在看兩年前的我,確實變化比較大。來了阿里之后,遇見更好的自己?!?/p>

之所以說到阿里之后遇見更好的自己,這首先是要放開自己、重新清零,打破思維定勢后就能給團隊帶來非常大的幫助。馮柯發(fā)現(xiàn)螞蟻金服的團隊文化不像國企那樣層級就代表決定權(quán),在螞蟻金服必須要做事情、真正拿到結(jié)果并獲得大家的認可和信任,才能做更多的事情?!按蠹也]有去想你是一個P10或P9,你不應(yīng)該做這個事,你應(yīng)該做那個事,這是我特別感觸的一點。螞蟻金服真的是一個非常專注技術(shù)、完全內(nèi)部平等的文化,這跟我在之前的很多公司差別很大。”而這,正是在阿里遇到更好的自己的原因所在。

OceanBase商業(yè)化:再創(chuàng)造新時代

“OceanBase是真正想去做一款通用的分布式數(shù)據(jù)庫產(chǎn)品。產(chǎn)品化這點非常重要,這就要對用戶做高度集成的整體交付,而不是一堆技術(shù)拼起來。OceanBase在架構(gòu)上是真正想去做一款能夠改變目前整個商業(yè)數(shù)據(jù)庫生態(tài)或者格局的產(chǎn)品,我不管它未來能不能做到,但當(dāng)時非常打動我,也是吸引我加入OceanBase的原因?!?馮柯說:“分布式是OceanBase的亮點,但最重要的是OceanBase是按照產(chǎn)品的思維而不是單純解決業(yè)務(wù)的問題,當(dāng)時我就看明白了,OceanBase未來肯定是要到外部發(fā)展?!?/p>

關(guān)系數(shù)據(jù)庫這個領(lǐng)域的理論已經(jīng)比較早就成型了,多年來也沒有突破性的進展。而OceanBase這些年做的事情,其實是在做一個分布式的關(guān)系數(shù)據(jù)庫產(chǎn)品。在做產(chǎn)品的過程中,最大的問題是要有特別好的場景來檢驗它,從而演變成一個能夠商業(yè)化的產(chǎn)品。螞蟻金服最大的優(yōu)勢是業(yè)務(wù)場景非常豐富,讓OceanBase在服務(wù)外部客戶之前,就在內(nèi)部得到非常充分的鍛煉,而這些鍛煉很難通過外部用戶去獲得。

蔣志勇強調(diào),數(shù)據(jù)庫產(chǎn)品化需要時間去歷練,如果抱著非常投機的心態(tài)參與就很難實現(xiàn)。“所以從業(yè)人員要確實對這個有興趣,并且要愿意長時間堅守、慢慢打磨,把OceanBase從幾個人做出來的軟件,變成一個很好用的通用產(chǎn)品。”

從2017年開始,OceanBase跟隨整個螞蟻金服的金融科技開放,開始了向傳統(tǒng)金融賦能的實踐過程。當(dāng)然,這個過程也不是一帆風(fēng)順。雖然OceanBase已經(jīng)取得了很大的技術(shù)成就,但在外部用戶應(yīng)用OceanBase的過程中,往往會被很多具體的小細節(jié)所“絆倒”?,F(xiàn)在負責(zé)OceanBase外部業(yè)務(wù)的馮柯表示,外部客戶往往沒有螞蟻金服這么成熟的技術(shù)體系,還處于各種傳統(tǒng)技術(shù)混搭的局面,在這種情況下如何把OceanBase在外部用戶的業(yè)務(wù)環(huán)境中落地,這都是需要具體解決的問題。

OceanBase終于邁出了商用的一小步:OceanBase在南京銀行正式上線,OceanBase數(shù)據(jù)庫為南京銀行“鑫云+”互聯(lián)網(wǎng)金融開放平臺提供金融級分布式關(guān)系數(shù)據(jù)庫服務(wù)。而這主要取決于南京銀行的意愿,“南京銀行自身有非常強的意愿和情懷,把整個互聯(lián)網(wǎng)的核心業(yè)務(wù)完全架到OceanBase之上。南京銀行就像螞蟻金服內(nèi)部的業(yè)務(wù)方一樣,真正與技術(shù)團隊站在了一起,包括南京銀行的很多設(shè)計都是超前的,即使目前的業(yè)務(wù)量不需要這樣設(shè)計的也會提前布局,后面有一個非常長遠的規(guī)劃。南京銀行項目為什么成功,就是因為這一點。” 馮柯總結(jié)南京銀行的成功?!澳暇┿y行當(dāng)時是陽振坤老師去談的,南京銀行也有競標,也不只螞蟻金服一家。當(dāng)時南京銀行技術(shù)負責(zé)人問了陽老師一句話,你們到底有沒有決心替換掉Oracle,這句話撞到陽老師的槍口上了?!?/p>

陽振坤回憶OceanBase的整個發(fā)展歷程,“首先肯定是要滿足內(nèi)部的業(yè)務(wù)需求,如果連自己的需求都滿足不了,就根本談不上做成一個真正的商用數(shù)據(jù)庫。也許Google吃虧在他們的業(yè)務(wù)部門比較強勢了,所以做出來的Google Spanner就是一個滿足自己內(nèi)部需求的產(chǎn)品,所有的都是自定義。而OceanBase走了一條標準化之路,我們支持標準的數(shù)據(jù)庫接口、標準的數(shù)據(jù)庫語言,所以能夠產(chǎn)品化?!?/p>

從2010年5月調(diào)研、6月25日立項開始,OceanBase的目標就是傳統(tǒng)商業(yè)關(guān)系數(shù)據(jù)庫的更新?lián)Q代產(chǎn)品:2012年底支持簡單的SQL;2014年支持比較有限的SQL;2016年基本兼容了MySQL,對SQL的支持開始豐富起來。這是一個由分布式到與數(shù)據(jù)庫結(jié)合的過程。接下來,OceanBase要兼容商業(yè)數(shù)據(jù)庫。再接下來,就是要發(fā)展OLAP技術(shù)。

與OLTP技術(shù)的要求不同,OLAP偏向大型數(shù)據(jù)分析,對于查詢處理、計劃生成、性能和調(diào)度等的要求非常高,對于分布式集群的大型查詢,怎樣通過調(diào)度把負載分配到每一個合適的節(jié)點,讓整體的吞吐率和響應(yīng)時間都能達到一個比較好的平衡,都需要大量的工作。

總結(jié)OceanBase的成功,可以說是阿里巴巴/螞蟻金服舉全集團之力完成的“壯舉”。用楊傳輝的話說,就是阿里對技術(shù)容忍度超乎想象的高。馬云經(jīng)常講:我不懂技術(shù),但是我尊重技術(shù)。

陽振坤回顧OceanBase的內(nèi)部創(chuàng)業(yè)史,對于數(shù)據(jù)庫技術(shù)來說在螞蟻金服內(nèi)部創(chuàng)業(yè)要遠比在公司外部創(chuàng)業(yè)好,因為根本找不到像螞蟻金服這樣愿意把自己的內(nèi)部業(yè)務(wù)拿出來當(dāng)“小白鼠”?!拔矣X得我們這些人正好趕上了一個很好的機會,所以我就跟大家說這是千載難逢的機會,我們一定要做,而且一定能做成?!?/p>

本文作者:安和林

詳情請閱讀原文

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/17720.html

相關(guān)文章

  • 厲害,螞蟻金服!創(chuàng)造中國自己數(shù)據(jù)庫OceanBase(上)

    摘要:年,替換了支付寶支付系統(tǒng)中的數(shù)據(jù)庫。年,螞蟻金服全面去。土豪金工牌帶是螞蟻金服內(nèi)部最高榮譽大獎。陳萌萌目前在螞蟻金服基礎(chǔ)數(shù)據(jù)部團隊負責(zé)相關(guān)方向的開發(fā)工作。 摘要: 兩萬字長文帶你了解關(guān)于OceanBase的一切! showImg(https://segmentfault.com/img/bV6WYx?w=900&h=500); 2008年,王堅從微軟亞洲研究院常務(wù)副院長的位置上離職后,...

    mozillazg 評論0 收藏0
  • 厲害,螞蟻金服創(chuàng)造中國自己數(shù)據(jù)庫OceanBase(上)

    摘要:年,替換了支付寶支付系統(tǒng)中的數(shù)據(jù)庫。年,螞蟻金服全面去。土豪金工牌帶是螞蟻金服內(nèi)部最高榮譽大獎。陳萌萌目前在螞蟻金服基礎(chǔ)數(shù)據(jù)部團隊負責(zé)相關(guān)方向的開發(fā)工作。 摘要: 兩萬字長文帶你了解關(guān)于OceanBase的一切! showImg(https://segmentfault.com/img/bV6WYx?w=900&h=500); 2008年,王堅從微軟亞洲研究院常務(wù)副院長的位置上離職后,...

    cucumber 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<