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