阿里關濤談大規模計算—從數字化阿里到數字化城市的進化

阿里關濤談大規模計算—從數字化阿里到數字化城市的進化

來自專欄我是程序員5 人贊了文章

摘要:MaxCompute是ET大腦供血系統極其重要的組成部分,如果沒有MaxCompute,今天我們將沒辦法給大家講述任何一個成功的故事。

在剛剛結束的2018杭州雲棲大會上,阿里巴巴通用計算平台負責人,阿里巴巴計算平台資深技術專家關濤從計算力,聯合計算,智能化,企業級服務能力四個方面詳細介紹阿里巴巴統一的超大規模數據計算平台MaxCompute的探索與實踐。從數字化阿里巴巴,到數字化企業,再到數字化城市,MaxCompute快速進化,加速科技普惠, 驅動數字中國。

飛天2.0 MaxCompute是阿里巴巴在9年前做飛天系統的三大件之分散式計算部分。9年後的今天,MaxCompute已經是可以承載EB級的數據存儲能力,百PB級的單日計算能力,公共雲覆蓋國內外十幾個國家和地區,專有雲包含城市大腦在內部署超過100+套的阿里巴巴的統一計算平台。

阿里巴巴集團副總裁周靖人在本次雲棲大會接受採訪時稱,阿里巴巴從2008年就開始做大數據和雲計算,之前是為了支撐核心的電商業務,隨著阿里巴巴業務的增長,大數據的平台得到了高速的發展,這個平台就是MaxCompute的前身。所以說,計算平台的產品,首先是在阿里巴巴自身的業務場景裡面取得了巨大的成功,在整個業務發展中起到了至關重要的作用。經過這麼大業務體量的高強度驗證過後,我們希望把同樣的技術普惠到全球,所以才把這些產品通過阿里雲做對外輸出,去服務各行業的企業用戶。從歷史來講,至少在中國,阿里雲整個計算平台應該是歷史最悠久,當然也是技術積累最深,同時也是經受住了非常大的業務考驗,具有真正企業級服務能力的大數據智能計算平台。

阿里雲機器智能首席科學家閔萬里,在雲棲大會主論壇的演講中表示,MaxCompute是ET大腦供血系統極其重要的組成部分,是我們的鎮山之寶,如果沒有MaxCompute,今天我在這裡將沒辦法給大家講述任何一個成功的案例。 我們通過ET城市大腦自動化監控城市路口信號燈,這當中,沒有什麼魔術,就是因為有了MaxCompute,有了大規模的分散式計算,數據越大,場景越大,越能體現大規模計算的能力。

以下依據關濤演講進行整理

謝謝大家,我是關濤。前面提到的杭州城市大腦,是一個非常新的平台,是阿里巴巴一步一步向上走的平台。我們最開始希望數字化阿里巴巴,再往後,就希望把數字化普惠到企業層面,現在我們開始數字化一個城市了。

用一個放大鏡看一看城市數字化時做了哪些事?剛才提到了1300個路口,我們實際上數字化了1300個路口,包含了4500路攝像頭,每一路攝像頭每一秒鐘生成24幀數據,這一幀數據實際上是一張高清圖片,也就是1920X1024X24位的色彩景深,這一路數據如果不經過壓縮,一幀的數據大概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。除了引擎之外,整體把一個企業級的計算服務完整搭建到一起。

計算力,聯合計算,智能化和企業級服務能力,構建成一個完整的大數據平台,我們將不斷以技術驅動平台和產品化發展,讓企業和社會能夠擁有充沛的計算能力,持續快速進化,驅動數字中國。

點擊了解大數據計算服務MaxComput

本文作者:晉恆

原文鏈接

更多技術乾貨敬請關注云棲社區知乎機構號:阿里云云棲社區 - 知乎

本文為雲棲社區原創內容,未經允許不得轉載。


推薦閱讀:

TAG:大數據 | 數據存儲技術 | 分散式計算 |