717
技術社區[雲棲]
MaxCompute 2.0 基於BigBench標準的最新測試進展
10月14日,2017杭州雲棲大會·阿裏雲大數據計算服務(MaxCompute)專場,阿裏雲技術專家路璐帶來《MaxCompute基於BigBench標準的最新測試進展》分享。
在11日的主論壇上,MaxCompute做了敢為人先、引領潮流BigBench On MaxCompute2.0的重磅發布,意味著MaxCompute成為第一個做到100TB數據規模的BigBench,並且在100T數據規模的Qpm達到7830Qpm,成為第一個達到7000分的大數據引擎。同時MaxCompute也是第一個公有雲服務的bigbench benchmark,在性價比上具有很大的優勢,並給出了幾種性價比計算方式:其中預付費3年的性價比達到371美元per Qpm;預付費1月的性價比達到12.3美元per Qpm;按需後付費的性價比達到2.1美元per Qpm。
這也就是說從規模、性能、性價比角度,MaxCompute都達到了業界領先水平。本文正是為大家解讀這組數據。
TPCx-BB簡介
BigBench實際上就是TPCx-BB的前身,它於2016年2月被TPC委員會接受以後被命名為TPCx-BB,在此之前叫BigBench。
TPCx-BB是業界領先的基於端到端的大數據分析領域應用級測試基準,由Intel領銜發起,並作為主要開發和大力推廣。這裏有兩個關鍵詞,第一個是端到端的,作為大數據從業者,我們在選擇大數據引擎時,性能隻是其中一方麵,服務等級協議(SLA)和總體擁有成本(TCO)也是我們考量的一方麵,甚至是更重要的一方麵。傳統的Benchmark可能隻關注性能,但BigBench作為一款端到端的測試基準,它不僅僅考量大數據引擎的性能,同時參考了大數據工業領域的應用特征,引入了SLA和TCO的衡量標準。
第二個關鍵詞是應用級,現在大數據領域的應用種類繁多,很難用一種應用滿足所有的業務需求,同時也很難衡量出大數據平台的真實情況。TPCx-BB模擬了一個真實的線下、線上銷售場景的完整應用,應用類型包含SQL、MapReduce、MachineLearning、Streaming等,並且各種應用類型之間的比例與實際情況相近,所以是一款應用級的測試基準。
基於以上特征,TPCx-BB提出了一個完整的軟硬件評估標準,並且針對大數據業務類型和應用特征,可以在不同的規模上進行評測。目前官方最大數據規模是10TB,最佳性能是1491 BBQpm,最高性價比的589 美元per Qpm。
TPCx-BB作業特征分布
上圖展示了TPCx-BB的作業特征分布,TPCx-BB一共包含30個作業:
從源數據分析,包含了18個結構化作業、7個半結構化作業和5個非結構化作業;
從作業類型分析,包含6個統計分析作業,17個數據挖掘作業和8個報表類作業;
從應用類型分析,包含13個 純sql,5個machine learning的作業,5個OpenNLP作業,3個JavaMr作業和4個streamling。
從以上分類可以看出,TPCx-BB包含的作業類型十分全麵,基本涵蓋了大數據領域的一些常見應用,並且應用間的比例與實際情況相當吻合。
TPCx-BB性能評估標準
TPCx-BB性能評估標準有兩個,一是根據軟硬件性能評估,二是根據軟硬件性價比評估。
根據軟硬件性能評估(SLA)是指通過BBQpm@SF評估性能,它涵蓋數據規模、數據導入的性能,Power測試階段,Throughput測試階段。BBQpm@SF的公式如下,其中SF(scale factor)表示基準測試數據規模大小,以G為單位,比如1000代表1T,M代表基準測試運行的作業數量,完整的BBQpm包含30個query。
Load測試階段:測試數據導入。Load測試階段通過數據導入的時間衡量,因為相對作業執行,這部分對大數據係統相對不那麼重要,所以在計算時加上了0.1的係數。
Power測試階段:單個查詢流順序執行30個查詢語句,衡量方式是計算這些查詢語句的幾何平均執行時間,所以在Power測試階段大作業和小作業的權重是一樣的,這就避免了針對性優化某一個大作業大幅提升成績的問題。
Throughput測試階段:多個並發查詢流並發執行查詢語句,衡量方式是整體執行時間除以並發數,所以在Throughput測試階段,大作業占的比重會更大。
根據軟硬件性價比評估(TCO)也就是被評估係統的總價格除以BBQpm,這樣就避免了用大量硬件獲取更高的BBQpm,真實反映出軟硬件的綜合實力。
C:被評估SUT的總價格
BigBench on MaxCompute軟件棧
作為一個大數據分析領域應用級測試基準,BigBench包含了多種語義類型,也就是說一個大數據分析平台至少應該支持BigBench的所有應用類型,才能滿足用戶數據分析的基本需求。BigBench on MaxCompute基於BigBench進行修改,兼容所有語義,隻是對一些API做了適配。這也正說明MaxCompute可以完全支持BigBench,作為大數據分析平台具有功能完備性。
從詳細的軟件棧看,MaxCompute平台提供了Hive兼容模式,完全兼容Hive的所有數據類型和SQL語法;MaxCompute提供Tunnel數據導入導出工具,可以將不同平台數據導入到MaxCompute中;機器學習方麵,MaxCompute與阿裏巴巴一站式機器學習平台PAI數據打通,可以無縫接入。
BigBench的默認大數據引擎是Hive on Spark,上表還提供了Hive on Spark與MaxCompute的軟件棧對比,可以看出將BigBench從Hive on Spark遷移到MaxCompute的對應關係,說明將業務從Hive on Spark遷移到MaxCompute上的Gap不是很大。
BigBench on MaxCompute結果分析
數據規模達到100TB,性能達到7830Qpm,性價比達到$2.1/Qpm,以及第一個公共雲服務Benchmark。BigBench on MaxCompute在數據規模、性能和性價比上能夠取得這樣的成績,主要跟以下幾個方麵相關。
首先MaxCompute本身具有的海量數據處理能力。MaxCompute的總數據量已經達到EB級,並且在高速增長中。可以說MaxCompute的大數據能力是在海量數據中錘煉出來的。MaxCompute基於阿裏雲自主研發的Apsara分布式操作係統,單集群機器規模達到萬台,具有業界領先的能力。其中最重要的組件是Fuxi和Pangu,Fuxi是飛天的分布式資源管理和調度係統,在2015年曾經打破GraySort世界紀錄,Pangu是大規模分布式文件係統,可以支持10億+文件條目。
MaxCompute高速增長的業務需求也帶來了性能優化的壓力和動力,因此在MaxCompute新一代執行引擎中,對Compiler、Optimizer、Runtime等模塊進行了深度優化,比如使用range partition做distribute order by,對部分Bigbench作業的性能提升超過100%;使用auto mapjoin對join進行優化,使用shuffle remove減少不必要的stage等;另外我們與Intel有軟硬件深度優化的全麵合作,充分發揮至強R可擴展處理器架構優勢。
同時,BigBench on maxCompute還是第一個公共雲服務Benchmark,包含完整的TCO和軟硬件運維服務。事實上按照傳統的購買軟硬件的方式組建可以運行100T bigbench的集群是一個非常龐大的工程,可能需要幾個團隊長達幾個月的合作才能完成。在公共雲上運行100TB BigBench隻需要兩天的時間。雲棲大會後的一個月內將會開放這部分資源給用戶,讓用戶可以在兩天的時間內在MaxCompute上完整運行100TB的BigBench。
除了獲取方便,公共雲服務的另一巨大優勢是成本,公有雲計價規則靈活,可以按需後付費、按月預付費、按年預付費等。所謂按需後付費是根據實際跑的作業收費,100TB BigBench在MaxCompute上的性價比達到2.1美元Per Qpm。預付費模式是提前預定好機器資源,傳統的購買機器一般會有3年或者幾年的生命周期,也就是說需要一次性購買三年以上的硬件。而公共雲的預付費模式最短可以隻購買一個月。實際上即使購買3年的硬件,在MaxCompute購買同樣的硬件資源也有一定的價格優勢。不過一般沒有人會這樣做,同樣性能的硬件成本會逐年下降,按照現在的價格購買未來幾年的硬件是不明智的。公共雲按月、按年購買的方式可以避免這種不明智,而公共雲平台大量硬件資源可以將這部分成本分攤掉。
測試開放
目前團隊即將開放一個月的測試期,免費提供MaxCompute測試資源,讓用戶可以在2天內完整試跑100TB的BigBench。具體的Test kit和操作指南都已開源提供釘釘聯係。
MaxCompute招聘信息:DT時代,與堅持夢想者同行!
阿裏巴巴大數據-玩家社區 https://yq.aliyun.com/teams/6/
---阿裏大數據博文,問答,社群,實踐,有朋自遠方來,不亦說乎……
最後更新:2017-10-25 15:04:24