阿里關濤談大規模計算—從數字化阿里到數字化城市的進化
今年的雲棲大會上,阿里巴巴通用計算平臺負責人,阿里巴巴計算平臺資深技術專家關濤從計算力,聯合計算,智慧化,企業級服務能力四個方面詳細介紹了阿里巴巴統一的超大規模資料計算平臺MaxCompute的探索與實踐。從數字化阿里巴巴,到數字化企業,再到數字化城市,MaxCompute快速進化,加速科技普惠, 驅動數字中國。
飛天2.0 MaxCompute是阿里巴巴在9年前做飛天系統的三大件之分散式計算部分。9年後的今天,MaxCompute已經是可以承載EB級的資料儲存能力,百PB級的單日計算能力,公共雲覆蓋國內外十幾個國家和地區,專有云包含城市大腦在內部署超過100+套的阿里巴巴的統一計算平臺。
阿里巴巴集團副總裁周靖人在本次雲棲大會接受採訪時稱,阿里巴巴從2008年就開始做大資料和雲端計算,之前是為了支撐核心的電商業務,隨著阿里巴巴業務的增長,大資料的平臺得到了高速的發展,這個平臺就是MaxCompute的前身。所以說,計算平臺的產品,首先是在阿里巴巴自身的業務場景裡面取得了巨大的成功,在整個業務發展中起到了至關重要的作用。經過這麼大業務體量的高強度驗證過後,我們希望把同樣的技術普惠到全球,所以才把這些產品通過阿里雲做對外輸出,去服務各行業的企業使用者。從歷史來講,至少在中國,阿里雲整個計算平臺應該是歷史最悠久,當然也是技術積累最深,同時也是經受住了非常大的業務考驗,具有真正企業級服務能力的大資料智慧計算平臺。
阿里雲機器智慧首席科學家閔萬里,在雲棲大會主論壇的演講中表示,MaxCompute是ET大腦供血系統極其重要的組成部分,是我們的鎮山之寶,如果沒有MaxCompute,今天我在這裡將沒辦法給大家講述任何一個成功的案例。 我們通過ET城市大腦自動化監控城市路口訊號燈,這當中,沒有什麼魔術,就是因為有了MaxCompute,有了大規模的分散式計算,資料越大,場景越大,越能體現大規模計算的能力。
以下依據關濤演講進行整理
謝謝大家,我是關濤。前面提到的杭州城市大腦,是一個非常新的平臺,是阿里巴巴一步一步向上走的平臺。我們最開始希望數字化阿里巴巴,再往後,就希望把數字化普惠到企業層面,現在我們開始數字化一個城市了。
用一個放大鏡看一看城市數字化時做了哪些事?剛才提到了1300個路口,我們實際上數字化了1300個路口,包含了4500路攝像頭,每一路攝像頭每一秒鐘生成24幀資料,這一幀資料實際上是一張高清圖片,也就是1920 1024 24位的色彩景深,這一路資料如果不經過加密,一幀的資料大概50M。我們會做車輛識別、車牌識別、行人識別,包括像壓線這樣的違章檢測等操作。在幀和幀之間去看車輛速度,路口擁堵,及路口和路口之間去檢測後續可能的擁堵指數。從數字化一個城市來看,是對數字和計算的一個極致要求。我們要想做到算得起,算的快,算的準,就需要有一個強大的計算平臺。

飛天2.0MaxCompute是阿里巴巴在9年前做飛天系統的三大件之一,分散式儲存、分散式排程、分散式計算,它是分散式計算的部分。9年後的今天MaxCompute已經可以承載EB級的資料儲存能力,百PB級的單日計算能力,在公共雲上以及覆蓋了國內外的十幾個國家和地區,專有云上包含城市大腦在內部署超過100+套,整體已達到10萬臺規模。就是這樣一個計算平臺滿足了包括城市大腦在內的所有計算力要求。
從系統架構來看,MaxCompute超大規模的計算服務最底層包含異構的計算叢集,支援CPU、GPU、FPGA叢集以及未來的智慧硬體叢集。這些叢集分佈在不同地方,通過統一的元資料管理和統一的排程系統聯動在一起,在使用者看來這10萬臺機器就是一臺計算機。向上我們提供包括批計算、流計算、記憶體計算、機器學習、迭代等一系列計算能力,這一整套計算平臺成為了阿里巴巴經濟體,以及阿里雲背後計算力的強有力支撐。

今天我想為大家展開介紹以下四點:
一,作為計算平臺,計算力是最核心的指標。

在2015年GraySort 競賽中,我們用377秒完成了100TB的資料排序,打破了此前Apache Spark創造的1406秒紀錄,獲得世界冠軍。2016年我們又拿到了CloudSort最優成績, 表明我們不僅算得快,而且算得便宜。2017年MaxCompute挑戰TPCX-Bigbench 100TB 的30個query指標,成為全球第一個測試通過的計算引擎。2018年我們在同樣的100TB規模上,效能指標提升了一倍。 另外在超小型10TB規模的指標上,我們與其他開源競品進行了比對分析,效能超過開源競品3倍。這是計算力的持續升級。也是滿足數字洪峰湧進時對計算力的要求。通過這種方式使得計算力更便宜,也使得智慧化更普惠。
第二,計算下推比資料上移更高效。

大多數使用者上雲,通常情況下資料不會在一個系統裡。對於線上服務,資料通常會在資料庫裡支撐前臺業務,對於半結構化log,以及非結構化的音檢視等資料通常情況下儲存在資料湖裡。前端資料庫的資料有非常豐富的index的支援,可以算的非常高效,後端是一個超大規模儲存,中間是一個大資料體系,會把結構化資料以列式的方式儲存下來支撐超大規模的資料計算。
這樣就會面臨一個挑戰,就是使用者預期要把所有資料放在一起來算,得到一個最好的結果。面對這種挑戰,通常有兩種解法,一種是所謂資料上移概念,就是把所有資料上移到統一系統中,上傳同步之後再做計算,這樣可以完成計算任務。但是會帶來三個問題,一是資料冗餘,相當於把同樣資料備份一份或者兩份;二是同步有延遲,在延遲裡無法進行計算;三是實時性受影響。
基於此,我們提出聯合計算的概念,我們認為計算下推比資料上移更高效。什麼是聯合計算呢?就是不需要資料同步,通過在大資料系統中的一個作業,可以聯動其它系統。比如我可以在一個作業中把資料庫系統的作業和大資料系統做一個join,在join時如果有 filter或aggregation,可以把部分計算下推到資料庫系統中,由這個系統來計算。實現一個作業在多套系統之間的聯動,在每一部分都依賴於當時系統最優的優化,做最優的決策,在這個層面上實現資料之間的聯動和打通,這是聯合計算的概念。
第三,Auto Data Warehouse讓大資料自動駕駛。

這是我們希望今年可以在公共雲上推出的一個新功能。 五年前我們在阿里面對了巨大的現實挑戰,資料爆發式增長,每年增長几倍。以目前數字來看,平均每個阿里巴巴員工大概有100個作業,每天有五六百萬作業在系統中跑。如果把這些作業平攤到負責資料平臺的同學中,每個人負責幾十萬張表,十幾萬個作業。以人的理解力來講,真的沒有辦法理解這些資料之間的關係和作業之間的關係,因為它過於複雜。
我們要怎麼做呢?當時很難回答的一個問題是資料有沒有冗餘,計算是不是可以複用。如果某一個作業失敗了,某一個數據出了問題,到底影響面有多大,這些問題當時沒法回答。所以五年前,我們開始做一套系統,從最基本的資料可發現做資料地圖開始,然後做資料血緣,找到資料之間的關係,看資料冷熱之間分離能力,再看資料自動優化。到最後當有一張新的資料表進來時,自動去找關聯關係,我們把這樣的系統結合成Auto Data Warehouse資料自動駕駛系統。這套系統在阿里巴巴內部實踐表明,在計算優化上提升了35%,資料冗餘去重層面降低了20%的儲存能力,在資源規劃層面,提升了超過75%的計算效率。這套系統在阿里巴巴非常成功的得以實現,今年我們也會在公共雲上提供給大家。
第四,MaxCompute是面向企業的完整服務,不只是單一引擎。

再回歸到杭州城市大腦,可以看到這個平臺不再是一個基礎的平臺,而是杭州城市背後的資料支撐系統。如果這個系統出現問題的話,很有可能對國計民生都有影響。這對於系統的要求除了計算力之外,又不僅僅是計算力,還包含穩定性,可容災能力,可恢復能力,當交通出現擁堵,出現超大規模人流時的彈效能力等。當遇到突發情況,比如山竹,物理原因導致某些網路斷掉時,我們有預警能力和自恢復能力。所有能力總結成一個詞就是“企業化的能力。” MaxCompute不止是一個引擎,而是一整套平臺,包含完整的企業化服務。
除了計算之外,包含賬號系統,專案管理系統。賬號系統聽起來簡單,如果一個企業有上萬人用一個平臺時,賬號分離就變得非常關鍵了。 資料安全系統,是指把資料分成若干個屬性,若干個資料標籤。比如:高優先順序,低優先順序,高祕級,低祕級,高隱私、低隱私,什麼樣的資料授權給什麼系統,授權給什麼樣的人,需要有系統保障。監控系統,則是我們不希望等系統出了問題時,使用者才能知道,而是希望在系統可能要出現問題時,或者有概率出現問題時,能夠做提前預警,做提前的處理。
今年我們也新推出了DQC資料正確性驗證系統,當資料變得非常複雜時,會搞不清楚資料哪裡出了問題。比如使用者作業寫錯了,我們可以在若干個層面加以驗證,通過一系列規則的方式保證資料的正確性。還有新推出的,已經實施在某些專有云專案裡的多叢集容災系統,這套系統滿足了金融性容災系統,符合中國第一代金融法規要求。除了計算力,聯合計算,智慧化以外,開發同樣很重要。阿里巴巴有超過1萬人在這個平臺上做開發,阿里雲上有數萬家企業客戶在這個平臺上做開發,影響幾十萬人,開發效率同樣關鍵。今年我們全新升級了DataWorks開發和除錯平臺,更有資料整合系統,作業的pipline管理系統,同時可以和機器學習聯動,和資料分析和BI平臺聯動,同時也推出APP Studio。除了引擎之外,整體把一個企業級的計算服務完整搭建到一起。
計算力,聯合計算,智慧化和企業級服務能力,構建成一個完整的大資料平臺,我們將不斷以技術驅動平臺和產品化發展,讓企業和社會能夠擁有充沛的計算能力,持續快速進化,驅動數字中國。