MaxCompute2.0性能评测:更强大、更高效之上的更快速
?????? 本次評(píng)測(cè)側(cè)重于已發(fā)布的MaxCompute2.0與離線處理同類競(jìng)品及線上穩(wěn)定版本的性能對(duì)比,通過測(cè)試我們看到MaxCompute2.0在功能上更強(qiáng)大、使用和發(fā)布更新更高效、開放生態(tài)的同時(shí)針對(duì)線上作業(yè)占比80%以上的Sql以及其中占比約50%的Sql離線批量計(jì)算性能有極大提升。
一,新一代執(zhí)行引擎
?????? MaxCompute2.0開發(fā)了新一代執(zhí)行引擎。新的執(zhí)行引擎是是基于代碼生成(Codegen)的執(zhí)行引擎,同時(shí)采用向量化執(zhí)行和緩存友好的算法。我們可以看到新一代執(zhí)行引擎執(zhí)行比開源社區(qū)新一代離線計(jì)算執(zhí)行引擎HiveOnTez性能對(duì)比優(yōu)勢(shì)顯著。
?????? 我們記錄下在MaxCompute2.0新一代執(zhí)行引擎和社區(qū)新一代離線計(jì)算執(zhí)行引擎HiveOnTez中相同數(shù)據(jù)量上相同數(shù)量執(zhí)行實(shí)例處理的操作時(shí)間(單位是秒),下面的表格能夠體現(xiàn)出新的新一代執(zhí)行引擎的性能。
可以看到,在總體數(shù)據(jù)量T級(jí)別instance數(shù)量(百級(jí)別)情況,相同數(shù)據(jù)量相同數(shù)量的instance執(zhí)行性能,MaxCompute2.0執(zhí)行的平均執(zhí)行性能優(yōu)于Hive2.0OnTez(Hive2.0已調(diào)整最優(yōu)):
?????? ?????? 1- sum with group性能快速1倍
?????? ?????? 2-sort-merge join提升約2倍以上
?????? ?????? 3-hashjoin提升在1倍以上
?????? ?????? 4-stremline提升50%以上
二,新的編譯引擎和基于代價(jià)的優(yōu)化器
?????? MaxCompute2.0開發(fā)了全新的解析器和引入開發(fā)了基于代價(jià)的優(yōu)化器,在兼容Hive語法和語義和開發(fā)應(yīng)用各種基于規(guī)則的優(yōu)化器(Rbo)的前提下,引入和開發(fā)了基于統(tǒng)計(jì)數(shù)據(jù)指導(dǎo)下及其知道下更精確的optimizer組件,增加了全新的優(yōu)化規(guī)則。
?????? 在新的編譯引擎和基于代價(jià)的優(yōu)化器下端至端的執(zhí)行性能進(jìn)行評(píng)測(cè),MaxCompute2.0離線計(jì)算對(duì)比社區(qū)同類產(chǎn)品Hive2.0 on Tez在最優(yōu)執(zhí)行下TPC-H benchmark數(shù)據(jù):?
?????? 為了保證數(shù)據(jù)的合理性,性能測(cè)試數(shù)據(jù)都是每個(gè)測(cè)試案例完成多輪測(cè)試的穩(wěn)定值,測(cè)試搭建使用獨(dú)立的性能評(píng)測(cè)集群,測(cè)試前清理恢復(fù)初始環(huán)境,多輪測(cè)試非連續(xù)執(zhí)行,連續(xù)執(zhí)行完整個(gè)測(cè)試集合后再執(zhí)行下一輪的測(cè)試集合。
?????? 圖中整體對(duì)比數(shù)據(jù)為:
?????? ?????? 1- MaxCompute2.0離線計(jì)算比同類產(chǎn)品Hive2.0 on Tez性能優(yōu)勢(shì)快約90%以上
?????? ?????? 2.MaxCompute2.0執(zhí)行95%以上基準(zhǔn)sql執(zhí)行比hive快,同時(shí)我們分析了內(nèi)部執(zhí)行細(xì)節(jié),去除調(diào)度等其他消耗時(shí)間,MaxCompute2.0針對(duì)執(zhí)行的性能改進(jìn)比Hive2.0提升在114%以上
?????? ?????? 3-MaxCompute2.0比MaxCompute1.0性能提升68%
?????? ?????? 4-MaxCompute2.0比Hive2.0 on Mr整體優(yōu)勢(shì)提升190%,其中77%的基準(zhǔn)sql性能提升2x以上
?????? ?????? 基于飛天的一代執(zhí)行引擎性能有極大提升外,MaxCompute2.0已上線的基于rbo和cbo執(zhí)行性能優(yōu)化:
?????? ?????? 1- 裁剪規(guī)則:列裁剪、分區(qū)裁剪、子查詢裁剪
?????? ?????? 2- 下推/合并規(guī)則:謂詞下推
?????? ?????? 3- 去重規(guī)則:Project去重、Exchange去重、Sort去重
?????? ?????? 4- 常量折疊/謂詞推導(dǎo)
?????? ?????? 5- 關(guān)聯(lián)優(yōu)化:Auto MapJoin、 Skew Join;實(shí)現(xiàn)BroadcastHashJoin、ShuffleHashJoin、MergeJoin;Join Reordering
?????? ?????? 6- 聚合優(yōu)化: HashAggregate、SortedAggregate、Deduplicate
?????? ?????? 7- 處理優(yōu)化: GroupBy下推、Exchange下推、Sort下推
轉(zhuǎn)載于:https://blog.51cto.com/11778640/1906615
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的MaxCompute2.0性能评测:更强大、更高效之上的更快速的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis安装及用Redis Deskt
- 下一篇: es6-Symbol