MaxCompute 2.0 基于BigBench标准的最新测试进展

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 10月14日,2017杭州云栖大会·阿里云大数据计算服务(MaxCompute)专场,阿里云技术专家路璐带来《MaxCompute基于BigBench标准的最新测试进展》分享。   在11日的主论坛上,MaxCompute做了敢为人先、引领潮流BigBench On MaxCompute2.0的重磅发布,意味着MaxCompute成为第一个做到100TB数据规模的BigBench,并且在100T数据规模的Qpm达到7830Qpm,成为第一个达到7000分的大数据引擎。

10月14日,2017杭州云栖大会·阿里云大数据计算服务(MaxCompute)专场,阿里云技术专家路璐带来《MaxCompute基于BigBench标准的最新测试进展》分享。

b4bafab034e304f7b4ed5874647d66bf27e3296f 

在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

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
1月前
|
消息中间件 分布式计算 大数据
大数据-123 - Flink 并行度 相关概念 全局、作业、算子、Slot并行度 Flink并行度设置与测试
大数据-123 - Flink 并行度 相关概念 全局、作业、算子、Slot并行度 Flink并行度设置与测试
96 0
|
27天前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
49 1
|
30天前
|
SQL 分布式计算 NoSQL
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
38 4
|
30天前
|
运维 监控 数据可视化
大数据-171 Elasticsearch ES-Head 与 Kibana 配置 使用 测试
大数据-171 Elasticsearch ES-Head 与 Kibana 配置 使用 测试
53 1
|
30天前
|
SQL 消息中间件 大数据
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
45 1
|
30天前
|
SQL 大数据 Apache
大数据-159 Apache Kylin 构建Cube 准备和测试数据(二)
大数据-159 Apache Kylin 构建Cube 准备和测试数据(二)
72 1
|
1月前
|
存储 大数据 Apache
大数据-146 Apache Kudu 安装运行 Dockerfile 模拟集群 启动测试
大数据-146 Apache Kudu 安装运行 Dockerfile 模拟集群 启动测试
21 0
|
1月前
|
存储 SQL 分布式计算
大数据-135 - ClickHouse 集群 - 数据类型 实际测试
大数据-135 - ClickHouse 集群 - 数据类型 实际测试
32 0
|
1月前
|
分布式计算 Java 大数据
大数据-122 - Flink Time Watermark Java代码测试实现Tumbling Window
大数据-122 - Flink Time Watermark Java代码测试实现Tumbling Window
30 0
|
1月前
|
存储 SQL 分布式计算
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(一)
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(一)
37 0

相关产品

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