MaxCompute2.0性能评测:更强大、更高效之上的更快速

简介: MaxCompute2.0(原Odps):通过性能评测,MaxCompute2.0离线计算比同类产品Hive2.0 on Tez性能优势快约90%以上;MaxCompute2.0从新一代执行引擎到编译引擎、基于代价的优化器全流程针对性能提升做出了卓越改进。        本次评测侧重于已发
  MaxCompute2.0(原Odps):通过性能评测,MaxCompute2.0离线计算比同类产品Hive2.0 on Tez性能优势快约90%以上;MaxCompute2.0从新一代执行引擎到编译引擎、基于代价的优化器全流程针对性能提升做出了卓越改进。

       本次评测侧重于已发布的MaxCompute2.0与离线处理同类竞品及线上稳定版本的性能对比,通过测试我们看到MaxCompute2.0在功能上更强大、使用和发布更新更高效、开放生态的同时针对线上作业占比80%以上的Sql以及其中占比约50%的Sql离线批量计算性能有极大提升。

一,新一代执行引擎
        MaxCompute2.0开发了新一代执行引擎。新的执行引擎是是基于代码生成(Codegen)的执行引擎,同时采用向量化执行和缓存友好的算法。我们可以看到新一代执行引擎执行比开源社区新一代离线计算执行引擎HiveOnTez性能对比优势显著。
        我们记录下在MaxCompute2.0新一代执行引擎和社区新一代离线计算执行引擎HiveOnTez中相同数据量上相同数量执行实例处理的操作时间(单位是秒),下面的表格能够体现出新的新一代执行引擎的性能。

r1
可以看到,在总体数据量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数据: 

img1012_2

测试环境:
    1. 集群规模:30台机器测试集群,其中20台计算节点
    2. 机器配置:22core\96G\千兆全双工网络\每节点12块1TB SATA硬盘
    3. 软件版本:MaxCompute2.0Sp24rc5/hive2.0onTez/MaxCompute1.0Sp23s14/hive2.0onMr
    4. 数据规模:1TB(zlib压缩)

       为了保证数据的合理性,性能测试数据都是每个测试案例完成多轮测试的稳定值,测试搭建使用独立的性能评测集群,测试前清理恢复初始环境,多轮测试非连续执行,连续执行完整个测试集合后再执行下一轮的测试集合。
       图中整体对比数据为:
              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以上
tpch2

三,MaxCompute2.0性能提升及后续性能衍进期待
       1. 兼容社区产品、兼容hive的所有数据类型、遵循SQL 2003、支持多维分组
       2. 研发whole-stage code generation,即通过在运行期间优化那些拖慢整个查询的代码到一个单独的函数中,消除函数调用以及利用CPU寄存器来存放那些中间数据等性能消耗
       3. 更多得优化规则及已有规则的更新升级, Join Reordering全面默认开启,Range partitioning支持等

              基于飞天的一代执行引擎性能有极大提升外,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下推

欢迎加入MaxCompute钉钉群讨论
03ea92a4c1fbb04d443ff8f015c957815055111e

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
安全 Oracle 网络协议
第4章 数据库安全性——4.1 数据库安全性概述
第4章 数据库安全性——4.1 数据库安全性概述
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
1697 3
|
数据采集 数据挖掘 数据处理
Pandas数据应用:金融数据分析
本文介绍如何使用Pandas进行金融数据分析,涵盖数据导入、清洗、转换等基础操作。通过处理缺失值、重复值及数据类型不匹配等问题,结合时间序列分析和大规模数据处理技巧,帮助读者掌握常见问题的解决方案。案例分析展示了计算每日收益率并绘制图表的具体步骤。
501 14
|
机器学习/深度学习 搜索推荐 算法
协同过滤算法
协同过滤算法
2082 0
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
2678 1
|
供应链 Java 关系型数据库
开题报告|基于Springboot实现农产品进销存管理系统
开题报告|基于Springboot实现农产品进销存管理系统
621 1
|
搜索推荐 Windows
让你的电脑准时“打个盹”:Win10定时休眠
木头左教你设置Windows 10任务计划程序,让电脑定时休眠,节约能源又呵护健康。首先确保休眠功能开启,然后在任务计划程序创建新任务,命名如“定时休眠”,设置触发时间和操作(cmd.exe /c shutdown -h)。可高级定制,如条件触发或异常处理。跟着步骤实践,解决常见问题,打造个性化自动休眠计划。记得谨慎操作哦!
|
移动开发 运维 JavaScript
阿里云云效操作报错合集之遇到Node.js的内存溢出问题,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
存储 NoSQL 分布式数据库
数据库的介绍、分类、作用和特点
数据库的介绍、分类、作用和特点
905 0

热门文章

最新文章

相关产品

  • 云原生大数据计算服务 MaxCompute