當前位置:
首頁 > 新聞 > 阿里巴巴「資料庫俠客」:此行路遠,不問歸期

阿里巴巴「資料庫俠客」:此行路遠,不問歸期

來源 | 淺黑科技

作者 | 史中

有人曾在網上回憶自己的故事:

大約兩年前,我買了《動物之森》這款遊戲,玩了一個月就有點厭倦了,於是我把它教給媽媽。媽媽從小得了小兒麻痹,後來變成多關節硬化。除了每月一兩次必須的購物,她幾乎不出門。我讓她在遊戲里建了一個家。想不到她竟然沉迷於此,這麼大的人每天玩遊戲,連我都覺得有點丟臉。

直到有一天,她的病情惡化,不能再玩了。一年後,她去世了。又過了很久,我突然心血來潮,想去看看媽媽建立的小村莊。裡面的雜草長得好長,村民們也都在問我媽媽這段時間去了哪裡。

我打開信箱,發現裡面都是未讀信件。其中有一張是生日賀卡,信里寫著:兒子,當你看到這封信時,我應該不在了。但是沒關係,你將來偶爾回來看看,應該會發現我給你的生日賀卡。我在遊戲里賺了一些錢,足夠每年都給你買一張生日賀卡。對不起生病了,沒能好好照顧你。你要堅強,我會在天堂看著你。

賽博世界並不是遼闊的荒野,數據也不全是冰冷的記錄,它是親人的笑靨,它是我們的記憶。

(一)田園時代

假如互聯網有記憶,它也許會懷念2005年。

這一年,淘寶網兩歲,但它已不像一個嬰兒。一望無垠的貨架上陳列著800萬件商品,日均瀏覽量超過9000萬次。

這一年,馬雲和楊致遠喝了「有史以來最貴的一杯清酒」,換回雅虎中國全部人馬和10億美金,準備隨時劃破黎明,吹響對 ebay 「決戰」的號角。

這一年,遙遠的北方,王堅在神秘的微軟亞洲研究院,孤絕地探索聽上去頗為可疑的「大數據技術」。

這一年,英雄如滿天星散,一切像平靜的雪。

但殺機總是暗伏。

現在回望,當年阿里巴巴被極速縮小的「互聯網毒圈」推向戰場的中心,黑暗森林的另一邊,潛伏著盛大、網易、百度、騰訊數位絕世高手。還來不及褪去草莽氣息的阿里,迫切需要幾條頂級的槍鎮樓。

有件事兒再明朗不過:

一個合格的商人,得隨口說出自家所有貨物的特點、型號、價格。這得靠一個天賦異稟的「好記性」。

一個合格的電商,更要實時給出億萬件貨品的圖片、描述、優惠。這得靠一個打磨精良的「資料庫」。

多說一句,很多人聽到「資料庫」就會覺得無聊,其實蠻有趣的,它和人的記憶有兩點相似:

1、要在最短的時間內把有用的東西「記住」;

2、要在最短的時間內把需要的東西「回憶」出來。

聽上去簡單,但能把這兩件事兒做好的資料庫鳳毛麟角。

2005年,數字世界的「好記性」只有一個選擇:美國甲骨文公司的 Oracle 資料庫。

當時的阿里巴巴有三個兒子:大兒子——阿里巴巴B2B網站、二兒子——淘寶、三兒子——支付寶。就像今天所有望子成龍的家長一樣,當然要給他們吃最好的,用最好的,補習班也上最好的。

於是,三個兒子都迫不及待地裝備了甲骨文的資料庫系統。

如果說一般的資料庫系統是奧拓夏利拖拉機,那麼 Oracle 無疑就是資料庫界的勞斯萊斯。買得起勞斯萊斯的人本就不多,會開勞斯萊斯的老司機就更加鳳毛麟角。

資料庫系統的「司機」被稱為 DBA(資料庫管理員),當時全中國的 Oracle DBA 加起來也沒多少。事實上,這些大神們彼此之間也非常熟悉,經常聚餐擼串。

買了這麼多勞斯萊斯,老司機不夠用了,阿里巴巴很急。就在這些大神散落在闊綽的外企和安逸的國企里過著舒服的日子時,突然竄出一個好漢大聲呼喊:外企和國企給多少?我阿里巴巴以後給三倍!

這一聲吼徹底攪動了中國資料庫的歷史。

DBA 大神雲集響應,天下英雄盡入彀中。說實話,錢,彼時這些咖們是不缺的,讓他們感到振奮的是這片無遠弗屆的「新戰場」。

魯國良、馮春培、拖雷、七公、張瑞、后羿、樓方鑫等等一眾人馬從四面八方趕來,帶著自己最的拿手絕活,準備大幹一場。

張瑞回憶,自己從西門子被介紹加入阿里巴巴時還很年輕,面試他的四位大神都是業內「神獸」級別的人物。回家以後激情澎湃,立馬開始收拾行李準備搬家到杭州,媳婦拉都拉不住。

DBA 們把自己當做那個時代的哥倫布。

用張瑞的話說,當時的阿里巴巴是「生機勃勃的亂七八糟」,擁有一種和外企完全不同的詭異技術氛圍。這並不難理解:這家新興互聯網公司正在全速擴張商業版圖,背後的資料庫當然也會以幾何數級增長。

他們每天沒日沒夜地研究 Oracle 系統,把技術文檔倒背如流,完全是因為他們覺得:自己對探索技術世界新大陸負有不可推卸的責任。

張瑞加入的第二年,另一位 DBA 大牛后羿從江蘇電信被挖到雅虎中國,後來隨著業務調整匯入淘寶。我讓后羿形容一下 2006 年的阿里巴巴資料庫,他只說了兩句話:「國內數據量最大」,「國內數據並發最高」。

在吟遊詩人的章句里,那一定是資料庫的「田園牧歌時代」。

作為阿里巴巴的核心技術人員,DBA 大神們拿到了豐厚的報酬。2006年七公第一個買了寶馬3系,大家開車出去喝茶。以至於人們都艷羨地口耳相傳:聽說了嗎?阿里巴巴資料庫的人都開寶馬!

(二)魔幻時代

正如紀梵希的西裝不能配老北京布鞋,傾城佳人不能坐在自行車后座上,Oracle 也不能運行在隨便攢出來的「妖艷賤貨伺服器」上。

Oracle 的標配是 IBM 生產的小型機和 EMC 生產的存儲硬體。

不少老員工至今都記得,阿里巴巴迎來全中國第一台 IBM 小型機時候的場景。「最高配的 P590,鍋爐一樣高的黑色大柜子。放在機房其他的機櫃旁邊,鶴立雞群。」

跑在小型機上的 Oracle 資料庫,速度快到根本不用做任何優化。就像在大草原上開車,閉著眼睛油門踩到底也不會翻車。一眾 DBA 「老司機」,恨不得圍著小型機跳起圖騰崇拜的舞蹈。

事情由此開始變得魔幻。

一台小型機就要500萬,兩台小型機就要配一個300萬的 EMC 存儲。2006年,正迎來史詩級噴發的淘寶網,小型機先是一台一台買,到後來乾脆一排一排買。很多 Oracle、IBM 和 EMC 的銷售們,都在很短時間裡升職加薪,走上人生巔峰。

依賴是一種柔軟,更是一種鋒利。

世界第一次對阿里巴巴露出爪牙,是2006年。

就在最早兩台小型機進駐機房的三個月後,故障毫無來由地降臨了。小型機突然宕機了!

工程師們後背一陣發涼。隨即而來的事實更讓人絕望,業務宕機,每秒損失都在擴大。但一眾工程師面對這台怪獸,不僅沒人會修,甚至沒人敢動它。感謝上帝,就在宕機的第40分鐘,IBM 工程師正在從北京飛到杭州的萬米高空時,小型機自動恢復了運轉。

自家的設備出現問題,卻得依靠設備廠商來拯救;一堆中國頂級工程師面對資料庫的生死劫難,居然束手無策。這簡直是對彼時中國互聯網的絕妙諷刺。

就在這天晚上,完整經歷一切的張瑞睡不著覺,他懵懂地問了自己一個問題:搜索技術靠雅虎,資料庫靠甲骨文,伺服器和存儲靠 IBM 和 EMC,那阿里巴巴是什麼?

這確實是直擊靈魂的一問。

歷史的劇情從不拖沓,這一問用不了多久就會有人來回答。2008年9月,在馬雲的邀請下,王堅從微軟亞洲研究院動身,南下赴杭州。

(三)暗黑時代

2009年,阿里巴巴的 Oracle RAC 集群節點數達到了創記錄的20個,亞洲第一。

這個數據還被做成了廣告,驕傲地放在了首都機場的牆上,閃耀著刺眼的光芒。

光鮮背後,逆流暗涌。

作為當時淘寶資料庫團隊的一員,后羿已經連續好幾個星期沒有睡一個完整的覺了。20個 Oracle 集群組成了一個「巨嬰」,不知什麼時候會啼哭起來。

Oracle 是一個商業軟體,它就像一個黑盒子。平均每周都要出現三四次問題,但無論多麼精巧的工程師都撬不開它,更不用提修理它。

「唯一能幫助你的人——Oracle 技術支持人員——在一萬公里以外,這有多荒唐。」后羿苦笑著對我說。

團隊只能連夜值班,出現問題第一時間反饋給甲骨文總部,然後一邊力所能及地拖延故障的發展,一邊等待前方救援。由於時差的原因,對方返回結果的時候,很可能已經過去了一整天。大部分時間,DBA 團隊所能做的唯一一件事情就是:祈禱。

而從阿里巴巴首席架構師王堅的角度看,一道更大的裂痕正在顯現。

一方面,買機器的速度根本趕不上業務的發展速度;

另一方面,面對業務提出下個月要做大促的要求,那些技術大神經常連連擺手。資料庫暴露出不適合互聯網業務的致命弱點——無法彈性擴展——大促時資料庫不夠用,結束後又浪費。

這本質上是時代和工具的錯配。

講真,上帝的時間觀念有時不那麼強——祂為你關上一扇門之後,不知何時才會為你打開一扇窗。但在歷史的煙塵里,后羿的運氣並沒那麼差:

彼時平民化的 X86 伺服器技術開始突飛猛進,SSD 快閃記憶體技術也飛速成熟。焦頭爛額的后羿悄悄和幾個同事們進行了驗證,在平民伺服器上跑免費的開源資料庫,性能雖不及 Oracle,但也絕沒有想像中不堪。

一瞬間,有些念頭在他心裡閃過,但隨即又被他自己掐滅。

同一年,北京,阿里雲工程師寫下第一行代碼。王堅開始履行對馬雲的承諾:為阿里巴巴輸入技術的基因。

站在技術的潮頭,王堅望盡大江東去;他唯獨沒看到,自己的命運跌宕才剛剛掀開扉頁,他恐怕更難預料,多年以後自己將會以怎樣的姿態出現在無數技術人的回憶錄中。

當年12月,后羿代表資料庫團隊和他的老闆振飛一起,向王堅提交明年的預算。

他們兩個人內心都是打鼓的,明年要買的資料庫、小型機、存儲,加起來的開銷之大,連看一眼都要心跳半天。

為了讓自己看起來不是那麼面目可憎,后羿在彙報結束之前,小聲跟王堅提了一句,「要是太貴的話,我們有沒有可能用開源資料庫和平民伺服器來替換 Oracle 和小型機?」

沒想到博士(王堅)當即拍板:「就該這麼干!」

「2010年以後,再也不購買小型機。」這句話就這麼白紙黑字地寫進了阿里巴巴的公司戰略,振飛后羿簽字畫押。

后羿在工位上坐到了半夜。

暗夜窗外,月亮升起來,他似乎聽到了什麼聲音。像是開源資料庫的新生啼哭,又像是 Oracle 的最後輓歌。

開了半輩子「勞斯萊斯」,方向盤上的每一條紋理都稔熟於胸,閉上眼睛都能想像出按鈕的陳設,聞到真皮座椅的氣味。

那是一個 DBA 工程師用最好的年華換來的驕傲。如今自己真的要親手砸掉宮殿一般豪華的 Oracle,轉投一磚一瓦從零搭建的開源資料庫嗎?

退一萬步,即便自己能接受這個人生的重大變革,但他憑什麼替團隊四十幾個兄弟們做決定?

然而,決定已然不可辨駁。王堅的眼神里,閃爍的不僅是阿里巴巴數億的成本節省,更是中國互聯網的十年技術未來。后羿明白,自己正載著四十多個 DBA 兄弟沖向萬丈懸崖,手中的方向盤已被拆掉。

一覺醒來,太陽照常升起,世界已地覆天翻。

杭州華星路創業大廈8樓,后羿跟兄弟們的「坦白局」。

放棄 Oracle,轉投開源資料庫!這不是討論,這是決定。

憋了好久,后羿的話終於還是像一點星火,引爆了炸彈庫。

「后羿,你TM今天不給大夥說清楚,就別想出這個門!」一位同事堵著門,所有人都站起來,局面眼看就要失控。

后羿努力剋制著自己的顫抖,說:「半年多了,我們所有人幾乎天天半夜兩點起床排除故障。但我們能做的只是把故障寫成報告彙報到國外廠商。在別人眼裡,我們是中國最好的技術人,但回到家裡,我們叫天天不應叫地地不靈,這種無法掌握自己命運的感覺,你、我還能承受多久?

這幾天,我們的故障三天兩頭就會影響到淘寶的業務。業務同事生氣我們的氣,我怎麼能怪他們?因為保障阿里巴巴的核心資料庫就是我們的職責啊!我們不怕苦,但每次都給其他資料庫廠商做陪練,這有什麼意義呢?

淘寶的數據量明年不知要翻多少翻。現在已經危如累卵,再把資料庫的規模加大十倍百倍,只有天知道會發生什麼故障。如果今天我們不砸自己的飯碗,明天連淘寶的飯碗可能都沒了!阿里巴巴幾千兄弟們都在靠著我們,我們不能退啊!」

後來,這一幕成為阿里巴巴歷史上一再被銘記的標本。但在當時,劇中人又何以知道未來的走向。

你以為后羿舌戰群儒,瞬間折服眾人了嗎?別逗了,那是小說里的情節。團隊最大的善舉只是放后羿活著走出會議室而已。一些工程師懵懵懂懂,願意跟著后羿先試試,另一些人看到后羿決心已定,走出這個門,就已經開始投簡歷了。

(四)長征時代

投身開源資料庫的長征路開始了。

你可以想像一下, 那些 Oracle DBA 大神就這樣在小屋裡抽著悶煙,捧著一本《MySQL 開源資料庫進階》時而哀嘆,時而恍然,時而咬嘴唇嘬牙花子,是一個怎樣的場景。

一個先鋒敢死隊火速建立了——「MySQL 學習討論小組」。所有人每周三次在會議室里交流技術,分享心得。幾個月後,好多同學都開始感慨,好像開源資料庫也不像老虎那麼可怕。

經過周密考慮,這個浩大的工程先從淘寶「商品庫」開始替換。

理由如下:

「商品庫」是淘寶系統里最大的一個核心資料庫,存儲著所有寶貝的描述、價格、評價。

雖然猶如一輛賽車在全速前進中更換引擎,牽一髮而動全身,但是商品庫的日常讀多寫少,通過前期的拆分,寫部分都已被剝離出來,邏輯相對好掌控。

這已經是所有選項中最穩妥的選項了。

2010年1月,淘寶商品庫開始了如非洲角馬一般浩蕩的遷徙。此岸土地開始乾涸,彼岸水草逐漸豐美。陽光剛猛,波濤壯闊,勇者爭渡,懦者哀鳴。

此時,故事裡的另一位主角才姍姍來遲。他就是日後被人們稱為「霸爺」,並且一眾碼農專門為他創建了「拜霸神教」的褚霸。

如果非要形容,我覺得褚霸像個「數字屠夫」。

這位網易工號25,迅雷工號前10的技術大神手裡常提一把血淋淋的刀,一邊「庖丁解牛」般把程序解剖成底層電路上的嘶嘶電流,一邊看向圍觀震驚的吃瓜群眾,擺出一副「都坐下,都坐下,這是基本操作」的傲驕表情。

2010年5月,褚霸加入大神章文嵩領銜的「淘寶核心系統部」。

僅僅一個月過後,老闆章文嵩就找到他說:「后羿那邊在用開源資料庫替換淘寶的商品庫,遇到一些底層問題,想讓你組建一個小分隊去支援一下,你有沒有信心?」

「有!」能用一個字解決的問題,褚霸絕不說兩個字。

你可能難以想像,說出這句話的時候,褚霸根本沒做過資料庫。他特別熟悉的是網路方向,而存儲方向的核心技術是「I/O」(輸入輸出技術)。打個比方,一個是神經科,一個是腦科,完全不是一個領域。

褚霸去問當時內核組負責人伯松:「這個 I/O 要搞明白,一般需要多久?」

伯松抬抬眉毛,冷靜地說:「有生之年能搞懂就不錯了。」

褚霸嘴張得老大,一時無語凝噎。不過幾分鐘以後,他就下定決心:老子混了十一年開源社區,還沒聽說過哪個技術要花一輩子時間。既然是「I/O」先動的手,那就來吧,不服就干!

憑藉「江湖嗅覺」,他很快就「撈」到一位大神,這位大神是 Linux Kernal「I/O」這部分核心代碼的貢獻者,而褚霸發現他還同時開發過一個 I/O 測試工具。

「這就像汽車設計師本人開發了一個修車工具,這裡面檢測的參數肯定個個都有用啊!」褚霸想。

於是,就從這個測試工具入手,褚霸一頭扎進了 Linux Kernal 上千萬行的代碼里。那段日子,昏天黑地。每一個參數褚霸都反覆測試,確信搞明白了才去看下一個。經常一抬眼就已經到了凌晨三四點,剛躺下又突然意識到剛才理解錯了,從床上彈起來繼續看代碼。

如此瘋狂。幾個月後,褚霸終於成功地進了醫院。

從醫院回來不久,褚霸就像《功夫》里那個筋脈盡斷又重新生長的周星馳,突然恢復了全部元氣。用他的話說就是:「閉上眼睛,就能想像出整個系統的齒輪是怎麼轉的。」

后羿帶領的資料庫研發團隊和褚霸帶領的志願軍,每周都會在一起交流。褚霸把腦海中那些零件一點點拆開講給后羿團隊聽,后羿會把核心技術消化之後用來攻克難關。

於是,開源資料庫 MySQL 的一個阿里巴巴專屬分支 AliSQL 就這樣被雕刻出來。

經歷了九九八十一難,2011年7月,淘寶商品庫終於完成了從 Oracle 到 AliSQL 的大遷移。這意味著軟體替代方案被驗證成功。

與此同時,硬體替代方案也在不停驗證。

AliSQL 團隊查驗了當時世界上所有主流快閃記憶體、硬碟、計算晶元、網路晶元的性能,協助團隊設計了一套兼顧網路性能、存儲性能和成本最優的伺服器採購方案。

軟硬兼備。通往下一代資料庫的大門,終於被技術人的血肉之軀撞開。整體遷移只待一聲令下。

王堅拍板,從最早的那台小型機,到一年前剛剛購入的最後一台小型機,從此刻開始同時進入退役序列。

接下來,整個阿里巴巴集團進入了 2012-2013 年史詩般的整體大遷移。

(五)末法時代

歷史的浪潮滾滾向前,但每一朵浪花卻有不同的命運。

自從王堅宣布「資料庫大遷移」從淘寶商品庫擴大到全集團以來,阿里巴巴內部反對的聲音開始逐漸瀰漫。

一些元老對於新技術並不信任,他們反覆在高層會議上表示:用開源資料庫替代 Oracle,有意義嗎?

阿里人並不會從私利出發考慮問題,反對派技術人也不是陰謀家,他們只是阿里巴巴體內的「白細胞」,有義務用自己的專業知識,保證阿里巴巴這條大船不會被幾個激進的「開源技術原教旨主義者」弄沉。

歷史很有趣。

用望遠鏡回望,一段歲月是創新和保守的美妙制衡;

用顯微鏡查看,那卻是每人每日的拚死角力和煎熬。

2012年,是阿里巴巴歷史上打不開的結。

中哥在《阿里雲的這群瘋子中》曾經寫到,彼時的王堅,高處不勝寒。承載了他二十年技術理想的飛天系統屢次「試射」失敗,阿里雲搖搖欲墜。如此激進的資料庫替代戰略,也順理成章地被認為是危險的。

但上帝是個公平的莊家。你要是相信未來,不用多說,只需要在生命的賭盤上不斷加註。

在不同的會議室里,在不同的場合,在不同的時間。面對質疑,后羿看到王堅沉默,看到振飛沉默,他唯獨沒有看到任何人為理想停下哪怕半步。

AliSQL 資料庫就這樣一點一滴地滲透進集團的每一個服務中。

2012年,全淘寶最後一台小型機宣布下線。這本來是一個史詩級的時刻。遺憾的是,那正是兩條技術路線交鋒最激烈的日子。現場只有四五個人,后羿組織大家認真地拍了一張合影。時間無聲,這至少是一場對自己的交代。

同年,還發生了一件影響深遠的「小事」。

阿里巴巴「大兒子」B2B團隊和「二兒子」淘寶團隊合二為一,后羿接管B2B資料庫團隊。

淘寶網已經被「蹂躪」完畢,而阿里巴巴B2B團隊的資料庫團隊還懵懵懂懂。此時已經沒有什麼可以動搖后羿的決心。

長痛不如短痛,他用決絕的方式推進阿里巴巴B2B的同事們從 Oracle 過渡到 AliSQL 資料庫。結果是,20個 Oracle DBA,最終出走了15人。

內網上烽煙四起,一篇名為《淘寶的成功不可複製》的文章成為熱帖,口誅筆伐如雨點襲來。

多難的技術都沒有擊倒后羿,但那一刻,他忽然覺得自己走不動了。

從 Oracle DBA大神,到 AliSQL 的開創者,后羿背負著沉重的理想走了六年。人人都說黎明在前,但天為什麼永遠不亮?人人都說夢想可貴,但真的要剖開胸膛才能讓所有人看到自己的一片丹心?

那天,后羿對振飛說,「也許是我離開的時候了。」

這一擊甚至也超過了振飛的預料。

當晚一家小飯館裡,振飛和后羿兩家人坐在一起。「我不允許自己的兄弟功敗垂成。」振飛說。烈酒入喉,過往的煙塵被馬蹄揚起,在天地間飄蕩。

振飛還是把后羿留下來了。

2013年5月17日,支付寶最後一台小型機下線,這也是阿里巴巴全集團最後一台小型機下線。歷時三年,一場賽博世界的大遷移自此落下帷幕。

現場媒體拍下了這張照片。

人們看到一排歡樂的臉蛋兒,誰又能知道,這背後又藏著多少人的過往,和那些歲月里碾不碎的掙扎和不甘。

無數在過去三年里把這件事變成可能的人,此刻像河彼岸升騰的焰火,映出眾人的微笑。人們總是喜歡璀璨。而在焰火升起之前的漫長寒夜裡究竟發生了什麼,他們並無興趣。

(六)鋼鐵時代

唯有熱血換不來糧食,只靠勇敢贏不下戰爭。

2012年是「官宣」的世界末日,大多數人最擔心的是12月21日,而阿里技術人最擔心的卻是11月11日。

因為這一天,阿里巴巴將第四次返回那個盛大的戰場——「雙11」。人們預測,這一年的淘寶天貓總銷售額會超過100億。100億,一秒數一張,夠你不睡覺數三年。

張瑞剛剛併入淘寶資料庫團隊,后羿就讓他做「雙11」資料庫的總指揮。與此同時,剛好淘寶天貓的所有資料庫都從 Oracle 替換成了AliSQL。

這意味著什麼呢?張瑞就像一個轉校生,剛領到新的教材,第二天就要參加高考。這太刺激了。

100億的成交額,意味著資料庫里的一條熱點記錄,每秒鐘最多要被修改十幾萬次。什麼樣的鋼鐵資料庫可以承受這樣的蹂躪呢?

彼時,阿里巴巴還不具備「全鏈路壓力測試」的能力。換句話說,誰都沒辦法把「雙11」可能遇到的情況完整演習一遍,只能靠局部測試甚至大腦里的思想實驗來推演,摸著石頭過河。

11月11日,大戰來臨。

零點鐘聲剛敲響,巨大的數據洪流湧向阿里巴巴的伺服器,資源佔用數值直線拉起,所有人的目光都隨著曲線向上抬升。幾秒鐘過後,資料庫資源佔用值像一輛失控的賽車,徑直撞向100%。

張瑞腦中一片空白。

如果2012年「雙11」零點前後你正在參與剁手,一定會記得,有那麼半分鐘,所有的頁面都卡頓在半空。

就在同一時刻的杭州,阿里巴巴內部的數據迅速淤積,發動機已經被燒紅。這套即將崩潰的 AliSQL資料庫,背後是無數人的賭命奮戰。它太貴了,貴到沒人能承受失去。

大家都在看著總指揮李津,只等他下令,拍停資料庫,拍死兄弟們無數個白天和日夜。

只見李津站起來,大喊:「大家都別慌!」

所有人的手就這麼懸在半空,一秒、兩秒......主屏幕上的成交數據突然開始鬆動,緩慢抬升。資料庫里的記錄每秒都被十幾萬次海嘯瘋狂地沖刷。一點一點,資料庫的運轉速度,緩慢而堅定地追上了全國人下單的速度。之前一分鐘淤積的數據,也在被消化。

一切安然度過,彷彿一場鵝毛大雪撫平了地上的一切溝壑。

有人回頭,看見后羿站在角落,他正望向窗外漆黑的夜空。

那天沒有月亮。

2012年「雙11」,成交額定格在了191億;2013年「雙11」成交額達到了350億。

就在2013年「雙11」結束之後半個月,甲骨文找到了阿里巴巴。根據你們「雙11」公布的成交總額,你們的 Oracle 資料庫用量肯定不少,算下來比你們實際購買量多多了!這邊補下錢吧!

你無法想像,甲骨文拿出來的賬單有多大!

后羿對我回憶。

阿里巴巴這時才告訴他們:對不起,我們的核心資料庫已經從 Oracle 替換成了自己開發的 AliSQL。

甲骨文的同事根本不相信,一家中國的企業用三年時間做好的開源資料庫,居然能達到甚至超過美國老牌企業有三十年技術積澱的 Oracle 系統。直到阿里拿出了非常強的證據,他們才接受。

這時,阿里巴巴的很多高管和同事才開始後怕:如果三年前沒有啟動自研資料庫計劃,今天誰能有勇氣面對甲骨文的這張賬單?

(七)黃金時代

2011年8月,畢業於北大計算機系的鳴嵩來到阿里。

相比褚霸的懟天懟地,鳴嵩顯然是個學院派。如果說褚霸手裡揮著屠刀,那麼鳴嵩手裡捏的就是手術刀,他們倆都會庖丁解牛,姿勢卻大相徑庭。

在北大的時候,鳴嵩曾經深入做過國產處理器研究,這段經歷給他的大腦烙上了兩個不可磨滅的鋼印:

1、我們的理想是:中國人拚死都要有自主技術。

2、我們的現狀是:國外的技術論文讀起來真香。

加入阿里巴巴之後,鳴嵩開始研究資料庫技術。他沿著國外的技術論文的腳步,一邊嘖嘖稱讚,一邊刻苦研讀;至於有一天中國人自己的資料庫論文也能被美國人學習,那是萬萬不敢奢望的。

說回褚霸。

彼時阿里巴巴掀起的「去 IOE」活動已經在全國蔚然成風。很多充滿野心的互聯網企業和大國企都想去掉 Oracle。於是,褚霸被邀請到騰訊,專門講述開源資料庫的調優技術。

我以為就是幾十人一百人的報告廳。沒想到到了騰訊,台下1000多人,黑壓壓地望不到頭。人家還告訴我,另外有2000人正在線上看著你。我站在台上,緊張得30秒都說不出一個字。

褚霸回憶。

話匣子一旦打開,緊張感就消失了,那個提刀怒吼的霸爺靈魂附體。演講像一陣颱風,吹得現場觀眾心花凌亂,掌聲如潮。褚霸還沒從騰訊回來,阿里巴巴內部就已經有同學建立了一個旺旺群,名叫「拜霸爺神教」。

從此,隔三差五就有人給褚霸送一個小禮物,附上紙條「拜霸爺」;有同事去旅遊,還在海灘上用腳寫上「拜霸爺」發到群里。

就在霸爺走上人生巔峰的時候,阿里巴巴歷史上的兩條伏線,此時迎來了一次「握手」。

看過中哥《阿里雲的這群瘋子》的童鞋也許還記得:2013年,阿里巴巴遇到了一個生死劫。

阿里巴巴賴以仰仗的算力調度系統——阿里雲「飛天」卡在了研發中最艱難的時刻。真正要命的是,集團內很多業務已經開始向阿里雲遷移。如果飛天系統在短時間內難以衝上5000台集群的調度能力,阿里巴巴的諸多業務都將停擺,後果不堪設想。

彼時的王堅正在河流最湍急的漩渦里,他橫下一條心,寧可一輩子背負「騙子」的罵名,也要死死托住飛天。

千鈞一髮之際,章文嵩決定派出自己「核心系統部」的精銳部隊馳援阿里雲。

多隆、褚霸、鳴嵩等一眾底層系統大神雲集響應,上午接到任務,下午就去阿里雲解 Bug。三個月不眠不休,終於在阿里巴巴集團算力撞到預測極限的前一周,驚險地把飛天推上5k。

為了紀念飛天5K,雲棲小鎮專門樹立了一尊雕像,這是2013年王堅在為雕像揭幕。

這次驚險一躍之後,褚霸任阿里雲資料庫「RDS」的負責人,鳴嵩成為「RDS」首席架構師。同樣在這一年,張瑞接替后羿成為了集團資料庫團隊的新掌門。

(八)太空時代

雖然很多人「拜霸爺」,但褚霸自己卻會「拜王堅」。

以前會覺得,為什麼王堅「吹牛」吹成這個樣子?直到前兩年我才理解了他的方式,這是「降維打擊」。

如果你和別人在同一個層面死磕,這沒什麼了不起的。人家做到了80分,你最多只能做到100分。如果你上了一個維度,直接就比別人多了一個數量級,你做得再差,也比對手們強多了!

這種思維,直接激發了自研資料庫 POLARDB的誕生。

如果此時拉開視野,會發現資料庫市場本身就發生了巨大的變化。就如當時經典內燃機汽車迎來了史無前例的高峰之後,被迎面而來的電動車打了個手足無措。

經典資料庫迎來了諸神的黃昏。創業企業直接用雲上資料庫,而存量客戶也會想重演阿里巴巴去IOE。

僅僅是賣別人做的資料庫這很好。但是,當你有機會自己去造出新的資料庫當然更好。這是2014年RDS團隊全體大會上的決定。

「資料庫」和「操作系統」「中間件」一起並稱為三大底層系統。阿里雲的成功,和中間件的完美設計關係密切。然而,阿里巴巴無數大神拼了老命,用了幾年時間才打磨出了阿里雲精緻的中間件。觀摩過阿里雲5K的「扒層皮」,褚霸還能這麼輕鬆地喊出自研資料庫,可以用膽大包天來形容了。

這個面向未來的資料庫要叫個啥名字呢?褚霸一拍腦門決定:「就叫POLARDB!」

時間表很快被制定好了。2017年10月底,POLARDB要開始公測。反推回來,所有研發節點都被定死。

兩年多時間,30萬行代碼,這場由鳴嵩領導的「資料庫新長征」,就這樣悄無聲息地開始了。

鳴嵩回憶,2017年是最艱苦的一年。有兩個多月,團隊所有成員都是通宵趕代碼。用他的話說:「大家每天下班都會遇到早高峰。」

奇怪的是,那時候無論多累,就是沒人偷懶,更沒人提出離職、轉崗。

當時團隊有一位同學,早晨上班之後突然對鳴嵩說:「我老婆今天生孩子了,我請一天假去趟醫院!」。牛X的是,他真的只請了一天假。第二天他安排妥當了一切,準時出現在工位上。

「為什麼?」我問。

「阿里人不想做螺絲釘。」鳴嵩說。

2017年9月,POLARDB 盛大發布。

過去需要70個小時的10TB的業務數據創建只讀副本,在POLARDB上只需2分多鐘。更關鍵的是,它的成本只有商用資料庫的十分之一。半年後,上千個用戶用上了這個新資料庫。

雙11的難關對阿里巴巴資料庫團隊的挑戰僅僅是開始。

林子大了,什麼鳥都有。99.9%場景下不會出現的bug,在阿里,就會出現。

淘寶交易的訂單處理突破了地域限制,可能在北方區、華東區、南方區。但如果其中一地發生了災難,怎麼辦?

這種特殊的業務場景要求數據要可擴展,持續可用、要強一致。因此,新一代資料庫必須要包含幾個重要特點:全球部署、對存儲數據冷熱隔離等。

「這時候,我們不得不自己研究了新一代資料庫了。」張瑞說。

說起來輕鬆,阿里巴巴過去幾年資料庫技術突飛猛進,從來都是有前人腳步可循的。如今,這些資料庫大神們面前,真的是一片「荒原」。

「全球最頂尖的資料庫人才,仍然在美國。為了自研下一代資料庫,2017年我們幾乎把美國資料庫的人才挖空了。」張瑞回憶。

在他和另一位資料庫大神圭多的推進下,一個自研的超大規模資料庫系統 X-DB 就這樣誕生了。短短几個月,X-DB就在集團體系內完成了MySQL、AliSQL集群的升級換代。

對阿里巴巴的資料庫而言,2017年寓意非凡。正是從這一年開始,以大致勝的 X-DB 和以快致勝的 POLARDB 成為了阿里巴巴資料庫的兩款拳頭產品。

(九)會師時代

三軍易得,一將難求。

2017年10月,馬雲振臂一揮,在雲棲大會上成立「達摩院」。誓要爭奪未來10年的技術高峰。

19歲的阿里巴巴,已經有權「任性」,成為自己理想中的模樣。但很多人沒注意到:在細緻的肌理中,因為公司使命的刷新,無數阿里巴巴人必須變得和以往不再相同。

從全中國最早最優秀的 DBA,到中國第一批研究開源資料庫,再到自研資料庫,一代代英雄前赴後繼。從這時開始,研究未來的資料庫的任務,將要落到達摩院肩上。

「僅靠一腔熱血不能換來堅船利炮。必須找一個真正有能力的人來帶領實驗室。如果沒有牛人,達摩院資料庫實驗室的領導人職位寧可空著!」張瑞斬釘截鐵。

李飛飛就這樣進入了資料庫團隊的視野。

那天達摩院資料庫實驗室籌備組開會,團隊有人提出,猶他大學計算機系的終身教授,世界資料庫領域的頂級大神李飛飛是一個非常合適的人選。一打聽,李飛飛此刻正在上海出差。

張瑞和圭多連夜坐火車去上海,僅僅聊天一個小時,張瑞就感受到李飛飛身上那種科學家少有的產業思維。

「這就是我要找的老闆。」張瑞說。

後來,李飛飛加盟阿里巴巴,成為達摩院資料庫與存儲實驗室的領頭人。

2018年11月,阿里巴巴集團 CEO 張勇發表全員公開信,宣布阿里雲升級為阿里雲智能。這意味著資料庫的俠客們將重新團聚,兵合一處聚如團火。

所有人一致推選李飛飛成為新資料庫團隊的帶頭人。李飛飛大旗一揮,張瑞和鳴嵩兩支團隊合二為一。X-DB 走出「阿里集團」深閨,更名 POLARDB X,成為POLARDB的分散式版本,共同通過阿里云為社會提供服務。

李飛飛站在資料庫科學的浪頭,提出了未來的三個方向:

1、「自動駕駛」的資料庫:

POLARDB 和 POLARDB X資料庫已經可以在很多方面實現了自動化管理,但這還遠遠不夠。資料庫可以藉助人工智慧實現更加低成本地實現自動存儲、自動檢索。

2、「安全」的資料庫:

在雲上的資料庫,天然要解決用戶的信任問題。未來的雲端的資料庫需要有一把鎖,用戶手握鑰匙,可以隨時驗證資料庫的安全。

3、「新硬體支撐」的雲原生與分散式資料庫:

在非易失存儲(NVM)、遠程直接數據存儲(RDMA)等等新技術的加持下,可能會讓新的雲原生和分散式資料庫架構成為可能,把以前只能用「妥協」方式繞過的問題直接用技術解決掉。

坐在我對面,李飛飛眼睛裡閃爍著一個科學家改變產業格局的雄心。

資料庫是個「古老的領域」。它的本質就是對數據的生產、存儲和消費系統。

為了這個目標,所有人都在不斷探索對資源安全可靠快速調度的方法。於是,在漫長的時間裡,資料庫領域才會不斷爆發新的技術點。

「這是讓我們這些老炮兒在資料庫行業幾十年都不覺得厭倦的根本原因。」李飛飛說。

從空中俯瞰,2019年阿里巴巴和螞蟻金服的資料庫百花齊放,POLARDB、POLARDB X、OceanBase、AnalyticDB、NoSQL、圖資料庫、時序時空資料庫等等一應俱全,在技術光譜上,我們第一次擁有了不輸給人和人的完整的生態。

2018年,在 Gartner 資料庫魔力象限,阿里雲成為國內首個入選的科技公司,與AWS、Google、Oracle 等國際大牌同台競技。

在魔力象限的圖表上,代表阿里雲全部技術的只是一個小點,但就是為了這個點在象限里挪動哪怕一分一毫,無數資料庫俠客付出了十年韶華光陰。

同年,阿里巴巴在國際資料庫頂級大會 VLDB 上發表論文介紹POLARDB的存儲系統 PolarFS。

鳴嵩驚喜地發現,不久前這篇論文已經被舊金山大學製成了課件,用於給美國的學生授課。

而在即將到來的2019年國際資料庫頂級大會 ACM SIGMOD 上,阿里巴巴數據團隊又將發表介紹雲原生分散式 OLTP 存儲引擎 X-Engine。

「從2009年到今天,十年的卧薪嘗膽,我們從不敢說超越誰。但我們確信,中國人從來就不比別人差,我們已經和世界頂尖高手身處同一個陣營了。」鳴嵩說。

(十)那些俠客們

如果我們能夠回到 2005,那裡也許有座站台,火車頭冒著蒸汽,像一個期待遠方的孩子。

在接下來的五千多個日夜裡,從受制於人的閉源資料庫,到開源資料庫,到追星逐日的自研資料庫,那些資料庫人肉身串演了一幕幕戲劇。

有時我想,他們挺幸運,因為他們見識了這個世界的美好和荒唐。但他們好像也是不幸的,因為這些美好和荒唐都發生在他們自己身上。

資料庫工程師半夜起床的日子再也沒了,自動化運維程序的精緻讓過去的熱血蜷縮在日誌里。吹過原野的風目睹了那些草莽英雄撤離戰場,頂級院校的計算機大神扛起大旗。人們在曾經野獸橫行的荒原上,建起了安靜細密的城市。

如果現在不做技術研究,十年後,人們將看不到阿里巴巴。

王堅2009年的話猶言在耳,答案在空中飄蕩。

歷史曾有一萬條岔路,阿里巴巴理應慶幸自己如今仍是互聯網大潮中的一朵巨浪。而互聯網浪潮,又是中國厚厚自傳中的一章。

張瑞、后羿、褚霸、鳴嵩、李飛飛,這些人從人群的暗處走來,歷史毫不吝嗇地對他們行了注目禮。

他們是普通人,只是用自己千迴百轉的命運,把故事堆砌成了今天的樣子。

從2009年到2019年,也有無數資料庫人離開了阿里巴巴。

留著大鬍子的老和尚在 2013 年「退休」,離開之前他說:感謝阿里巴巴,讓我從此不再為了錢發愁。

那一時期「負氣」出走的 Oracle BDA,也有很多人最終還是進入了開源資料庫領域。也有離開阿里的人,過了兩年帶著新的認知重又歸隊。

有些人選擇獨立創業,大神拖雷創立袋鼠雲、陳棟建立沃趣科技,他們開枝散葉,成為了中國資料庫和各種數據智能系統的先驅,演繹著各自的故事。

人們終於明白,死生聚散恰是世界走向未來的方式。此生路遠,莫問歸期。

告別之前,我問后羿:「過去十年,你真的覺得值嗎?」

他笑了,說:時代的洪流總會到來,而你唯一的武器就是自己的血肉之軀。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 鉛筆道 的精彩文章:

夫妻身價300億,微商「教母」張庭奔赴IPO
基因測序儀、配套試劑及耗材研發商「華大智造」完成2億美元融資

TAG:鉛筆道 |