揭秘:支撐阿里巴巴「一萬億夢想」的「大數據計算引擎」厲害在哪?

兩年之內,阿里巴巴經濟體的規模就會達到一萬億美元。

在雲棲大會現場,阿里巴巴 CEO 張勇猝不及防地放出豪言。

坐在C位的就是張勇

當時我坐在會場的角落,掐著指頭算了算。

卧槽,一萬億美元,相當於蘋果的市值,也相當於中石油 2007 年上市第一天的市值。和中石油叫板,這個目標可以說相當野了。

中石油的股價

這位馬雲「欽點」的接班人,以想像力炸裂和果斷決絕著稱。正是他主導開創了如今聞名天下的「天貓」和「雙11」。

張勇在十分鐘的演講中,提到了10次「商業」,卻提到了28次「技術」。可見他內心非常清醒地知道,什麼才是支撐阿里巴巴版圖的基石。這讓馬雲和我很放心,嗯。

所以今天文章的主角,不是張勇,而正是他的雄心最為倚仗的基石之一:大數據計算引擎。

1、「大數據計算引擎」是阿里近十年成色最好的作品之一

中哥很佛系,每逢雙十一,剁手神馬的我都沒啥興趣。唯獨雙十一慶典的現場,那塊跳動著數字的大屏幕是最吸引我的。

就拿去年來說,2017年11月11日當天,淘系創造了總成交額1682億,32.5 萬筆/秒交易創建的歷史紀錄。

如果你仔細觀看當時的大屏就會發現,每隔兩三秒,這些交易數據就會刷新。

2017 年沒有找到動圖,給各位 2015 的體會一下吧

這看上去天經地義。但阿里的朋友告訴我,這些數字是真實地從每秒幾千萬次寫入的資料庫中實時計算出來的。我用想像沖印了一下這種數據洪流的場景,心潮開始翻湧。

平胸而論,這種大數據計算力,基本標誌了人類在實戰場景中的最高水平。

當然,阿里也不是從一開始就這麼逆天的。凡俗熱鬧,皆有因果,中哥給你講段往事吧。

2008 年,淘寶網的業務出現了核爆炸一般的增長態勢。這讓馬雲敲開心,但同時也很焦慮。因為生意大了,眼看自家的IT系統快要忙不過來了。。。

那時候,阿里巴巴底層的計算力系統採購的都是美國公司的軟硬體,伺服器買的是 IBM,存儲用 EMC,大數據系統使用的是全球最出名的商業軟體甲骨文(Oracle)。

這些東西血貴血貴的不說,關鍵問題在於,如果數據量太大,它的計算速度和查詢速度都秒變龜速,而且越關鍵的時刻越掉鏈子,實在是靠不住的豬隊友。

情況危急,馬雲從微軟拉來了王堅,建立了阿里雲。當時的軍令狀是這樣的:

第一步、阿里雲發明一個用於計算力調度的底層系統——飛天。

第二步、阿里巴巴集團(淘寶網)在這個底層系統的基礎上,研發一個好用的大數據計算引擎——ODPS。然後儘快用 ODPS 替代掉之前的老系統。

阿里雲成立時的場景

說是兩步走,但時間不等人。

2009年初,時任阿里雲的技術負責人林晨曦就找到了淘寶網的技術團隊,說:你們可以在我們飛天的基礎上研發大數據系統了!

那邊的兄弟們說好啊,你的系統寫了多少?

林晨曦淡定地一笑:寫了幾行吧。

所以,當年阿里雲的飛天系統和淘寶網的 ODPS,基本上是同時研發的。這就像一邊造發動機,一邊裝配一台整車。

2009年時的淘寶網首頁

從 2009 年開始研發,到 2013 年 ODPS 上線,那些日子阿里的大牛們經受了五年靈魂和身體雙煎熬,如今回想起來都淚如湧泉。。。(這段故事,中哥會發一篇萬字長文專門寫寫。敬請期待~)

後來,ODPS 引擎改了一個更酷的名字:MaxCompute。讓人一目了然,想做大規模數據運算,用它肯定沒錯。

再後來,在這套 MaxCompute 大數據計算系統周圍,阿里的大牛們又專門研究了負責實時計算的 Flink 系統、負責人工智慧計算的系統 PAI 等等。也正是因為一步步的積累,如今你才有機會體驗到雙十一每秒搞定幾千萬數據的淘寶天貓,看到那個臉不變色心不跳的大屏幕。

起碼在我心裡,阿里巴巴這一整套大數據計算引擎,是他們十年來成色最好的作品之一。

資本市場也認同這一點。阿里巴巴的市值已經達到了四千億美元,阿里雲的估值也達到了四千億人民幣。從中哥的角度來看,四千億估值里,起碼有兩千億要歸功於底層技術的突破。

2、「一個 Windows,比爾蓋茨賣了一輩子。」

中哥有一個有趣的理論:

評價一個企業做得有多好,不能看它吹什麼嗶,要看他遇到了什麼「怪」。

給你舉個栗子就明白了。

我小的時候,家裡有一台任天堂紅白機。但受制於智商,連魂斗羅超級瑪麗都玩得極爛,馬戲團都只能玩到跳猴子的第二關。所以那時候我特別喜歡看別人打遊戲,因為這樣我就可以見識到後面關卡的 BOSS 都長什麼樣了。。。

公司發展和通關打怪差不多。所有的電商企業里,當時阿里巴巴跑得最快,所以他肯定第一個遇到新「怪」。這個新怪就是——「數據計算力不足」。

這一關,在阿里巴巴打通之後五年,很多其他企業自然也打到了。

現在的情況是:不僅只有阿里一家電商,像唯品會、拼多多還有諸多小電商手裡都擁有很多用戶。他們需要一套大數據計算系統,讓訂單可以實時準確匯聚,讓用戶零點一秒就搜到想要的商品,還要根據用戶的畫像做出準確的智能商品推薦。

當然,絕不僅是電商,現在工業、醫療、農業、氣象、教育、城市治理等等各行各業都需要用到「大數據計算引擎」。等下我會詳細說。

過來人阿里巴巴深知,「研究大數據計算引擎」這一關,那可是九死一生的。當年自己做的時候,都差點廢了。是馬雲高喊「每年投十億,連續投十年」,才勉強穩住陣腳做出來的。

既然門檻這麼高,他們索性把自家的技術開放。彷彿是在說:

需要大數據引擎的人,也別招大幾千人用五年時間花好幾十億自己傻傻地鼓搗了,直接從我這租來用不就好了。我們阿里巴巴用技術賺錢,你們也可以用便宜的價格使用超棒的計算引擎,皆大歡喜。

你可以說這是「技術紅利」,也可以說這是「共享經濟」。

中哥突然想到了比爾蓋茨。1985年,微軟搞了一套 Windows 1.0。就這麼一個玩意兒,到了2018年,還是微軟的最核心產品之一(當然它中間有持續的技術迭代)。這麼多年,Windows 在不斷幫助微軟賺錢的同時,也改變了世界的樣子。

可見,微軟當年打的這個「怪」有多麼重要。

windows 1.01 長這樣

而如果要類比的話,阿里巴巴的「大數據計算引擎」,就相當於企業在大數據計算領域用的 Windows。因為它也像一個操作系統,每家公司都可以利用系統的功能,在上面開發具體的大數據應用軟體。

而且,看起來阿里巴巴也想把「大數據計算引擎」賣上很多很多年。

正好在前兩天,阿里巴巴在 2018 雲棲大會上推出了升級版的「新一代大數據計算引擎」,於是中哥趕緊找到了在這套系統里擔當重任的幾位大牛,他們是:

阿里巴巴研究員,Maxcompute 大數據引擎負責人,關濤

阿里巴巴研究員,Flink 實時計算負責人,量仔

阿里巴巴研究員,PAI 人工智慧平台負責人,林偉

阿里巴巴資深技術專家,Dataworks 統一開發平台負責人,升龍

阿里巴巴集團副總裁,這些技術開放的總老大,周靖人

跟他們聊完之後,我才知道這套「新一代計算引擎」到底有多 Dior。

周靖人在發布「新一代計算引擎」

下面我就給你詳細聊聊這套引擎里的幾個核心技術。

3、「大數據計算引擎」中的孫悟空、豬八戒和沙和尚

先介紹一下,「新一代計算引擎」的底層技術主要有三個:MaxCompute(離線計算)、Flink(實時計算)、PAI(人工智慧)。在它們之上,是用來統一調度各個技術模塊的操作系統:DataWorks。

簡單說來,這套系統跟西天取經差不多,就是「一帶三」的模式。

這三大技術,可謂各有神通。

{ 先說 MaxCompute }

MaxCompute 應該算是三大技術中的大師兄,也是阿里巴巴的「鎮山之寶」。它「神通廣大,守正出奇」。

它的負責人關濤告訴我,MaxCompute 的獨門絕技就是「大型分散式數據計算」。

大型數據計算,要解決的第一個巨大的問題就是「規模」。

不同的數據源,分散在不同的資料庫里。就像我們的地球,每個國家都說著自己的語言,要是把不同國家的人拉在一起組成一個「十一國聯軍」足球隊,教練肯定要瘋,因為他要用不同的語言指揮不同的球員。

所以關濤和技術宅們使用了一種叫做 Datalake 的技術,把不同的數據源用類似的方式存儲,用統一的方法計算。這就像球隊的球員們都使用英語交流,就能極大地發揮出集體優勢了。

大型的數據計算,要解決的第二個問題是「查詢」。

所謂大數據,就是老么老么大的數據,從裡面檢索一類結果往往要等很久。比如你可以做這樣的查詢:「找出全中國20-30歲之間養貓的人「。那你就得先從中國找到所有符合年齡的人,再去看看 Ta 們家裡有沒有貓。

(你可以試試在自己的電腦上搜索帶有某個關鍵詞的文件,僅僅是一台小破個人電腦,隨便搜索個什麼都要半分鐘左右。如果在巨大的資料庫中搜索,意味著「今天提交搜索需求,明天再回來看結果吧。。。」)

面對這個問題,解決的方法是「互動式查詢」。簡單來說:系統會根據信息預判你將會做哪些查詢,提前搞點半成品出來。例如它已經找好了全中國養貓的人都有哪些。當你真的提出這個搜索需求的時候,它只要在裡面找20-30歲的人就好了,這就會快很多。

當然,MaxCompute 的獨門秘籍還有超強的穩定性和容錯性等等,篇幅有限暫時不一一詳述了。總之,淘寶天貓的基礎交易功能,都離不開 MaxCompute 快速、穩定的運算力。

前兩年很火的國產動畫《小門神》就用到了 MaxCompute 做渲染

{ 再說 PAI }

PAI 應該在三大技術中可以算二師兄,因為它「思維活躍,幽默智能」。

它的負責人林偉告訴我,PAI 的獨門絕技是人工智慧運算。要解決的問題就是「豐富+易用」。

所以,PAI 平台的任務很清晰,就是儘可能豐富地提供人工智慧演算法、環境和框架,讓開發者不用費勁搭建環境,就能夠按照自己的想法快速進行機器學習的訓練。

舉個例子:

淘寶的實時推薦系統里,就利用了 PAI 提供的人工智慧技術。

比如,你搜索了「棺材」,接著往下刷,下面可能就會給你推薦全套殯葬服務。

再比如,你搜索了「睫毛增長膏」,下面的畫風也許就會變成這樣:

{ 再說 Flink }

Flink 應該算是三大技術中的沙師弟,它「兢兢業業,不休不眠」。

它的負責人量仔告訴我,Flink 的獨門絕技是「實時運算」,可以犧牲一定的計算資源,但是必須在第一時間給出結果。所以它要解決的重要問題,就是「速度」。

舉個栗子:

本來,一家電商跟路邊的小賣部差不多:白天賣貨,晚上盤點。

一盤點就能知道很多信息。

比如:今天火腿腸存貨不多,第二天該進貨了;今天酸奶買二送一卻沒賣出多少,明天我得改成買二送二;隔壁李鐵頭今天買了好多辣條,下次見到他我得給他多推薦辣條。

這個盤點其實就是 MaxCompute 負責計算的。

但是,如今已經到了8102年,作為一個有理想的電商,一天盤點一次已經完全不夠了。它們需要「實時盤點」。

庫存下降,商家需要得到實時預警,一秒鐘之內就要啟動物流備貨。這需要 Flink 的實時計算。

一個促銷戰略不奏效,我要馬上知道,下一秒我就要所有親看到新的促銷策略。這也需要 Flink 的實時計算。

「從我開店那天起,到現在這一秒為止,我的貨總共賣掉了多少?」想知道這個答案,就要把今天以前的數據和今天凌晨到現在的數據相加,需要 MaxCompute 和 Flink 合作給我答案。

你還記得我剛才說的天貓雙十一大屏目上每隔幾秒就跳動的總成交額數字嗎?這也是 Flink 實時計算的效果。

在這三個主線技術以外,還有例如 FunctionStudio、DataStudio、AppStudio 等很多其他技術,篇幅限制這裡也暫時不展開了。

4、唐僧是誰?

剛才我給你介紹了三位神通廣大的「師兄弟」。他們都駐紮在「新一代計算引擎」裡面。

但其實作為一個普通用戶,你並不需要分別認識他們。。。。你只需要認識一位「唐僧」,唐僧是他們的「帶鹽人」,會根據你給的任務,自動調度三位師兄來工作。

這位唐僧,就是 DataWorks。

DataWorks 的負責人升龍告訴我:

你只需要在 DataWorks 裡面編輯好你的任務,系統會在後台自動為你選擇「離線計算」還是「實時計算」,也會為你自動調用「人工智慧的演算法」。

DataWorks 既支持傻瓜式的拖拽編程,也支持各種編程環境的代碼開發。完成度非常高。

有了三大技術加持,DataWorks 能幹什麼呢?我給你舉幾個小例子。

1)

閔萬里博士是阿里雲機器智能首席科學家,他負責研發阿里雲的「鎮店之寶」——各種「ET大腦」,包括「城市大腦」「工業大腦」「農業大腦」等等。

就拿城市大腦舉例吧。

城市大腦可以收集全杭州1300個交通攝像頭的視頻,然後實時分析幾百萬輛車的方向和速度,從而給出現在每個路口最優的紅綠燈的設置。

閔萬里告訴我:首先,這裡面的整套演算法極其複雜,其次,所有車輛的實時數據量非常龐大。但是對於計算的速度要求卻非常苛刻。必須得靠 MaxCompute、Flink 這些底層計算系統的支持,才能在一秒鐘以內獲得有效的決策結果。

2)

當然,作為一個普通的開發者,也許還玩不到閔萬里博士那麼高級。但是,你完全可以利用 DataWorks 開發一個特定行業的大數據應用。

比如,阿里巴巴在發布 DataWorks 的時候,順便搞了一個「雲上智能編程大賽」。參賽隊伍可以利用衛星雲圖數據,在 DataWorks 上開發出一套「預測某地實際降雨量的軟體」。

3)

你甚至還可以大開腦洞,根據自己獨特的實際需求開發軟體。

假如你是一家連鎖超市的程序猿,你就可以開發一套自動識別超市貨架是否需要補貨的軟體。

具體來說,你可以利用 PAI 的人工智慧套件和 Flink 的實時計算能力,訓練系統實時識別貨架上的位置是不是空的,然後在 DataWorks 上用「AppStudio」套件生成一個 App,供自家超市使用,還可以把它賣給其他的超市來賺錢。

中哥見識有限,上面的例子都是我臨時找到的。而實際生活中,大數據可以應用的方面遠遠超過我舉的例子,甚至超過我的想像範圍。這些未來,顯然需要更多的行業開發者來參與創造。

5、阿里巴巴想要的,是「大數據國度的淘寶」

在2018年10月的雲棲大會上,阿里巴巴集團副總裁周靖人摩拳擦掌,他終於對外公布了消息:

最新的 DataWorks 將在阿里雲上對外提供服務。

這意味著,所有人都可以在統一的平台上使用阿里巴巴十年的底層技術:MaxCompute、Flink、PAI、AppStudio 等等等等來編寫自己的大數據應用。

DataWorks 賣錢這件事本身是商業行為,沒什麼可說的。但中哥覺得,追光之外顯然有一些更讓人心潮澎湃的事實。

回到 2009 年。需要大數據分析引擎的只有BAT這樣的公司,那時候即使 BAT 把大數據引擎免費送給其他企業,他們恐怕也沒有利用的能力。而把時間軸拉到 2018 年的此刻,數據從「路邊的野花」變成了「人人爭奪的金礦」,數據分析能力從「別人家的事兒」成為了「人人夢寐以求的鍊金術」。

數據金礦

這讓我想到了石油的歷史。

1900年以前,世界上大多數國家都沒有辦法利用石油,石油只是一種有趣的「魔術道具」,就像班固在《漢書》里寫得那樣,「高奴有洧水可燃」。當福特把汽車量產之後的一百年間,全世界才開始趨之若鶩,頭破血流地爭搶石油資源,重金研究石油化工的技術。

1930年代美國芝加哥街頭

從本質上來說,這是因為我們的科技正如箭不回頭一般前行。人類用自己數十年的奮鬥,正在學會利用一種新的資源——數據。

我們站在前人從未踏足的科技邊境上,這裡的風景讓人動容。

此時此刻,我們可以看到數據世界三個涇渭分明的歷史拐點:

1)2010年,只有 BAT 這樣的大公司,自己開發獨立的工具,「孤獨地」使用數據。

2)2018年,人類使用數據的方法,從單獨的工具進化成了全套的系統,DataWorks 就是一例。

3)未來,無數行業開發者將會利用成型的「大數據操作系統」,開發出各行各業專用的大數據應用,改變農業、商業、醫療、教育和每個人的真實生活。

在周靖人看來,DataWorks 不甘於只做大數據開發者的操作系統,他希望把這裡建成一個「交易平台」,讓人們把自己開發的大數據應用分享給更多需要的人。

DataWorks 的野心是成為「大數據國度的淘寶」。

這才是讓這些大牛真正心動的未來。

這一時刻我突然明白,幾年前馬雲高舉雙手,喊出「DT 時代」的時候,台下觀眾看到的是一個讓人生疑的狂人,而馬雲的眼前一定是奔騰的數據洪流,比洶湧的錢塘江潮壯闊千倍萬倍。

再自我介紹一下吧。我叫史中,是一個傾心故事的科技記者。我的日常是和各路大神聊天。如果想和我做朋友,可以搜索微信:shizhongok

或者關注微博:@史中方槍槍 @淺黑科技

不想走丟的話,你也可以關注我的公眾號「淺黑科技」。


推薦閱讀:

TAG:大數據 | 阿里巴巴集團 | 科技 |