閱讀717 返回首頁    go 技術社區[雲棲]


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。

 

657f3be538c871909d81b4fada8c32905d2b1d39

 

這也就是說從規模、性能、性價比角度,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作業特征分布

 

158e42fc3a1ef2d89f083196026edc22a35d6116

60bbd88881d8861c1b9467d7fd59ec49e70ba01a

e62326e17b043d4fa085e73c00ae894428d36f73

78f5663c2943127c4a192e63e41c39b307f23022

 

上圖展示了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。

 

7c0e1b749cbe21c2dd074fbb6742e090e8303af7

 

Load測試階段:測試數據導入。Load測試階段通過數據導入的時間衡量,因為相對作業執行,這部分對大數據係統相對不那麼重要,所以在計算時加上了0.1的係數。

 

69b9d27f272aeac14b8b7d7621196c5b7401ef11

            

Power測試階段:單個查詢流順序執行30個查詢語句,衡量方式是計算這些查詢語句的幾何平均執行時間,所以在Power測試階段大作業和小作業的權重是一樣的,這就避免了針對性優化某一個大作業大幅提升成績的問題。

 

781ee22732b6a002f4fd22ec52675dad9db83733

 

Throughput測試階段:多個並發查詢流並發執行查詢語句,衡量方式是整體執行時間除以並發數,所以在Throughput測試階段,大作業占的比重會更大。

 

9fba95c35c88dc1399bf0228414b7426eaf58e2f

 

根據軟硬件性價比評估(TCO)也就是被評估係統的總價格除以BBQpm,這樣就避免了用大量硬件獲取更高的BBQpm,真實反映出軟硬件的綜合實力。

     

df4b9ebf73d132a2c0cf554218a41c5b8139ae05

C:被評估SUT的總價格

 

BigBench on MaxCompute軟件棧

 

作為一個大數據分析領域應用級測試基準,BigBench包含了多種語義類型,也就是說一個大數據分析平台至少應該支持BigBench的所有應用類型,才能滿足用戶數據分析的基本需求。BigBench on MaxCompute基於BigBench進行修改,兼容所有語義,隻是對一些API做了適配。這也正說明MaxCompute可以完全支持BigBench,作為大數據分析平台具有功能完備性。

 

從詳細的軟件棧看,MaxCompute平台提供了Hive兼容模式,完全兼容Hive的所有數據類型和SQL語法;MaxCompute提供Tunnel數據導入導出工具,可以將不同平台數據導入到MaxCompute中;機器學習方麵,MaxCompute與阿裏巴巴一站式機器學習平台PAI數據打通,可以無縫接入。

 

439034b0c1f1ffacc92839493a99eb38c52e77e7

 

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和操作指南都已開源提供釘釘聯係。


6c4b69af9fd1b465628b63fcee73224de0b62357


MaxCompute招聘信息:DT時代,與堅持夢想者同行!


阿裏巴巴大數據-玩家社區 https://yq.aliyun.com/teams/6/

---阿裏大數據博文,問答,社群,實踐,有朋自遠方來,不亦說乎……

bba01b493e1c5d904e882b1c380673c6ebe49a98

最後更新:2017-10-25 15:04:24

  上一篇:go  ASP.NET Web API標準的“管道式”設計
  下一篇:go  如果調用ASP.NET Web API不能發送PUT/DELETE請求怎麼辦?