閱讀254 返回首頁    go 汽車大全


性能追求之路——MaxCompute2.0的前世今生

在2017雲棲大會·深圳峰會大數據專場,阿裏雲高級專家雲郎分享了《大數據計算服務MaxCompute產品最新動態》。他首先介紹了MaxCompute的發展曆程和技術架構,然後對MaxCompute 2.0版本新特性和新技術進行了詳細介紹。最後,分享了基於MaxCompute平台構建完整大數據應用架構、構建新型數據倉庫、實現個性化推薦的實踐。

 

本文根據直播視頻整理而成。

 

首先看三個簡單的問題。在阿裏內部已經有了30多個業務單元,是一個典型的數據驅動公司。數據在整個業務創新、業務變更的過程中起了非常重要的作用。所以,是什麼技術支撐了阿裏巴巴集團內部的數據計算要求?經曆了很多次雙十一,雙11背後的大數據平台是什麼?在阿裏雲,第1個運行在阿裏雲飛天平台上的雲服務是什麼?答案非常簡單,就是阿裏雲大數據平台MaxCompute。

MaxCompute

73ca026b0190efe327a3146b82d4f3a8137ec83e

MaxCompute是阿裏雲提供的從GB到EB級的、免運維的、安全可靠的數據倉庫平台。作為雲服務,MaxCompute具有幾個顯著的特點:開通即用,這是所有雲服務的特點,非常便利;在雲上,借助於大規模的規模效應帶來的高性能、低成本;數據安全、可靠;支持多種分布式計算模型,計算架構發展到今天,沒有一種架構能夠滿足所有的場景,MaxCompute可以做離線計算、批量計算,學習能力強;兼容生態開放,提供了眾多接口和生態的工具。

發展曆程

3218edcd00783d2b45a50fcd4e94c32c2086f9b2

上圖是MaxCompute的發展曆程,阿裏雲是2009年成立的,當時的願景是要做運算和分享數據的第一平台。2010年,自主研發的MaxCompute作為數據倉庫平台正式上線。2012年,開始搭建集團統一的數據平台,提供統一的數據存儲、計算、分享。2013年,整個數據的規模指數級的增長,推出了具備5K集群能力的飛天平台。2014-2015年,“雙十一”交易過程中,逐漸成為了共享倉庫的數據平台。2016年,推出了MaxCompute 2.0,帶來了新的特性。

技術架構

ad309978b95b9637509e9d548dd28e9c6ef6636e

上圖是MaxCompute的技術架構。最下麵一層是物理機器,MaxCompute有自己的物理集群,在集群之上有非常重要的能力:它把一個集群組織成了1萬台計算機,MaxCompute 2.0很大的特性是集群能力得到了擴展,從5千變成了1萬。黑色部分是飛天操作係統,提供整個分布式係統任務協同、資源管理、集群調度等功能,為上層雲產品提供統一的操作係統服務。其上是MaxCompute統一的計算引擎,支持SQL、MR、迭代計算、圖計算、流計算。

MaxCompute的特性

917f022cf5e94fa3a9c924ff8a1ba14f2f128143

MaxCompute的特性如上圖所示。

781400c9e2ea1481f0494491a819e8ae541ac20e

從上圖可以看出,截止到目前,MaxCompute獲得了廣泛應用。在阿裏巴巴內部,其支持了所有的BU,所有的數據倉庫、數據平台都是共享在MaxCompute之上的。在開發者社區,吸引了超過8000+的開發者。眾多的應用和數據也在MaxCompute上。並且,有眾多的內外客戶都在使用MaxCompute。

MaxCompute 2.0

e0c7ac2a77d2d6f93441caf279c7b9ebcd5374eb

最新推出的MaxCompute 2.0的新性能如上圖所示。高性能方麵主要依托於全新的SQL 2.0計算引擎。在新功能方麵提供了非結構化的處理,在雲上開始使用OSS(開放的對象存儲)、OTS(開放的表格存儲),MaxCompute對其進一步分析和計算提供了連接性。機器學習在新版本中提出了CPU和GPU統一的架構,在富生態中也提出了新的能力。

全新的SQL 2.0引擎

在編譯器方麵,基於AST的編譯器模型,Visitor模型(Antlrv4),IDE IntelliSense,Warning支持完整的存儲過程,LOOP/IFELSE判斷等;在優化器方麵,CBO基於代價的優化器,Volcano模型,展開各種可能等價的執行計劃,然後依賴統計信息,計算這些等價執行計劃的“代價”,最後最低的執行計劃;在運行時方麵,利用LLVM技術,在運行時生成較優的機器碼,采用列式執行框架,提高CPU流水線的執行效率,並提高緩存命中率,使用SIMD。

5a674a2950ebd8e3c8a606b33749ea8c8610b522

上圖是全球公認的Sort Benchmark測試結果。2015年,MaxCompute打破世界紀錄,獲得“速度最快計算引擎”稱號。2016年,逐漸降低計算成本,並打破世界紀錄。

非結構化數據處理框架

168487215b633d5f8a5e0d75ca35adab583e0c19

在雲上,OSS、OTS存儲非結構化數據情況變多,比如在OSS上存儲視頻、音頻、圖像,在OTS上存儲文本、標簽等。我們希望在這個過程中能夠進行進一步的計算,比如希望OSS存儲的CSB文本文件能夠在MaxCompute上直接對其進行計算。再比如,在OSS上存儲的大量音頻文件按照表的方式對其進行處理,對音軌進行分析,進而把分析結果結構化寫到MaxCompute裏,這樣就完成了非結構化數據到結構化數據的轉換。MaxCompute 2.0提供了外部表的方式,可以將OSS上的bucket映射成一個外部表來進行表式的處理。OTS也類似。

社區兼容與生態連接

747ced8f9fe58428286219a4508c7ac36c06c2be

對數據做了基本的加工處理之後,更多的處理要依賴生態工具。阿裏雲MaxCompute從三個層麵提供開放方案。

MaxCompute多租戶機製

5d23a7ff36fe0978a6de124a8372e0088b0e0389

數據安全是上雲前需要慎重考慮的事情。MaxCompute從剛開始就麵對多個BU、多個項目要安全共享數據的天然訴求,沉澱了一整套更細粒度的授權體係。基於項目的方式,讓更多的安全得到控製的一個非常重要的原則是最小化原則:僅僅授權給最小需要數據的人,在企業裏做到權責分離。上圖中,中間的project可以認為是MaxCompute擁有的數據庫,下麵可以有多個部門去使用,但是通過不同的授權方式讓不同的部門得到合理的授權,確保數據安全的權限下發到最小的部門。右下角的共享數據是所有部門都可以看到的。

9baa50b8906f51f03a05dd41c8cc08716dbfee10

高性能帶來了低成本的優勢,上圖展示了MaxCompute和一款EMR產品的對比。

MaxCompute應用

構建完整的大數據應用架構

d1c2012ae5322f3b9cf58d9f24afb7fa1f460921

整個架構分為五個部分,包括數據采集、數據集成、數據開發、數據運維、數據應用的工具。基於阿裏雲數加平台,怎麼構建完整的大數據應用架構呢?首先得支持各種數據源,得有統一的、一站式的大數據開發工具來為我們提供數據開發、數據運維、治理等。此外,基於雲服務有插件管理工具、大數據計算服務為我們提供計算引擎、數倉共享平台,實現數倉應用。

7affb7713416e544a3a547303f194870375be7a2

上圖詳細介紹了五部分中阿裏雲提供的產品所屬的位置。MaxCompute處於整個計算平台的核心位置。其前麵提供了基於雲上數據、雲下數據通過各種開放的方式集成到阿裏雲中、進行統一管理。Data IDE也為我們提供三個方麵的能力支持。最後是推薦、BI報表分析、個性化展現的部分。

構建新型數據倉庫

63e0171f86db5698539287438068295d7819a8a9

數據來源是基於阿裏雲的ECS、RDS、OSS,通過VPC和現有的數據中心打通,通過Data IDE的數據管理功能同步上來做數據倉庫,進一步來做開發。MaxCompute區別於其他大數據平台,其SQL功能是內置的。

實現個性化推薦

1b96774216af7a3564e31e849ab0f9563df89333

在各種手機APP上,都有推薦功能。借助於機器學習,加上MaxCompute和推薦引擎就能一起構建個性化推薦方案。

使用效果

0eb6522c3852d7add949f2ceb9e9b8652ea28820

在阿裏雲上,已經有眾多的客戶使用MaxCompute,並且獲益。

總結

1b1a72c5c9b6d3311049ecf0e461568346817fcd

新型的數據倉庫平台發展到今天已經不是一個新的話題。在今天,我們更多的關注生產環節的事情、開發效率的問題。從這兩個方麵,選擇MaxCompute的理由可以總結為:高性能帶來的高性價比,整個運行和生產環節的穩定性,數據共享和安全的平衡,應用開發的複雜度,基於數加平台構建應用的方便。

最後更新:2017-05-18 23:00:59

  上一篇:go  DT科技評論第39期:穀歌正秘密開發Fuchsia操作係統
  下一篇:go  快上車!老司機帶你走進“大數據及阿裏雲數據分析平台”