9月1日,由工业和信息化部指导,中国信息通信研究院、中国通信标准化协会主办,数据中心联盟承办的“2016可信云大会”在京隆重召开。在9月2日下午的大数据分论坛上,中国信息通信研究院技术与标准研究所大数据产品认证负责人姜春宇发表了题为《第三批大数据产品能力认证情况综述》的演讲。
以下是演讲实录:
今年是第二次站在这里,我们今年测评的节奏比较快一些,三四月份完成了一批,六七八又完成了第三批,今年还会完成第四批。大数据发展的节奏比较快,所以我们的认证和测试也是在不断的摸索和前进中。我是来自中国信息通信研究院的姜春宇,很荣幸给大家介绍第三批大数据产品能力认证的情况。
本次演讲主要两个部分,一个是认证情况的介绍,第二部分是总结和下一步计划。
首先,我们回顾一下大数据产品能力认证的历程。去年6到8月份是第一批基准测试认证,主要有华为,中国移动(苏研),星环科技,中兴,UCloud等5家企业参与。今年认证分化为基础能力和性能专项两个认证,3月到4月底有6家企业参与了Hadoop/Spark产品的基础能力认证,包括东方金信、明略数据、博易智软、新华三、星环和腾讯云。今年6月到8月底一共有6家企业参与认证,分别有2家企业参加了基础能力认证,5家企业参与性能专项认证。第四批我们计划从10月到12月底之间,包括Hadoop和MPP两个产品,还是覆盖基础能力和性能专项。
这是第三批大数据产品能力认证的评测对象和指标,分为基础能力和性能专项。基础能力有七个维度,性能专项有四大任务。6到8月份有6家厂商参与了,其中百分点和国双科技参与基础能力认证,华为,华三,腾讯云,星环,百分点等5家参与了大数据性能专项认证。
首先介绍下基础能力认证体系,三四月份公布过,变化不是特别大,还是七大项38个指标,其中黄色的是可选,其它的是必测。第四批的评估体系有稍微的修改,但是不会太大。
认证的流程,左边是认证的流程,右边是评审的流程。认证的话,首先是报名签订商务合同,其次发送测试方法给企业,企业准备测试环境,测试专家去现场审核测试过程,给出一个测试的结论。评审环节基础能力认证引入企业的互评,还有学术专家和用户专家评审。最后联盟对评审通过的产品颁发证书。
基础能力现场审核主要有五个方面,包括软件的版本、数据检查、物理机检查、测试结果检查、文件留存。
本批通过大数据基础能力认证有两家企业,百分点和国双科技。
百分点完成了28项预测和10项选侧。
国双也同样完成了28项必测和10项选测。
第二批的时候一些厂商还没有完全完成选测,但是第三批的两家完成度非常高,这说明我们的标准已经起到一定的技术牵引。另外,我们观察到,根据自己的业务的不同,厂商的产品呈现出一些特点,比如说百分点趋向以可视化和数据流的方式来管理平台和数据,国双更偏流计算。通过三批的认证,我们总结了大数据平台的一些趋势。首先是通过可视化和工作流的方式降低平台管理的门槛。其次渐渐出现了数据管理的功能,以方便用户更好的构建数据模型,梳理数据间的关系。大数据平台越来越兼容SQL,关注传统数据库ACID的属性。流计算和图计算是两个重要的计算引擎的发展方向,越来越多的分析系统也趋于分布式架构。最后大数据平台与云计算平台融合程度在加快,大的云计算厂商都在向这个方向靠拢。
性能专项方面主要有SQL,NOSQL,机器学习,MR等四类任务构成,是以任务为导向的。
在SQL任务方面,由于时间的制约,选择了5个query,选择过程考虑任务的类型和对大表的覆盖,包括I/O密集、CPU密集、报表任务,分析类任务、交互式查询等五种任务。Nosql任务方面,针对HBase采用YCSB这一工具选择了4个负载,主要考察HBase的并发检索和读的性能。包括数据并发导入,95%的读5%的写,50%的读和50%的写,还有读、更改、写。MR任务,我们选了Terasort,主要是I/O密集型任务,可以考察大数据量下集群执行极限。机器学习考虑到有无监督,分类和聚类等维度,选择了Kmeans和贝叶斯。
数据规模方面,我们规定了采用10TB的TPC-DS数据,TPC-DS由17个维度表,7个事实表构成的。本次5语句涉及13个表,其中表Store_Sales的记录数超过了280亿行,表Caltalog_sales的记录数超过143亿条。HBase的数据规模和去年一样,是20亿条数据,十个客户端,每个客户端2亿条数据,一条数据大概是1KB的大小,十个客户端接近1.86TB的数据。Terasrot是29.1TB的数据,机器学习的我们采用中科院计算所BigDataBench的数据。
测试环境,去年是16台戴尔R730服务器,今年多了6台戴尔R730服务器和10台联想R450服务器。配置基本一致,内存一样基本都是64GB,每台机器挂载10个1.2TB的SAS盘,网络是万兆网络。
审核方式与步骤,可以看到性能的测试比功能的测试要严格很多,因为涉及到的点比较多,也比较敏感。分为测前检查,输入检查,过程检查,结果检查和文件留存,非常的仔细和详细,我们力争做到在评审的时候,如果有任何质疑,所有的结果都可以复现。
有五家企业的产品参与本批性能专项认证,包括新华三,腾讯,北京东方金信,星环和百分点。
大家可以看到性能的部分测试结果,首先是TPC-DS执行情况,以执行时间来衡量,时间越短越好。测试负载的描述和涉及的表如ppt展示:
总体来说执行的时间量都在几百秒以内,从上下两个图可以看出,第二个SQL测试时间最长,最优和中位的差别很大,标准方差值也较高,说明这个用例是比较难的,大家在这个用以上差异很大。还有一个是SQL71,它的标准差也是比较高的,说明大家在这个用例上差距也是比较大的。SQL82,53和84的标准方差较小,说明大家在这三个水平是比较接近的,而且这三个任务是相对来说没那么费时。
性能测试的YCSB分别模拟了并发写入,并发95%的读任务,并发更新比较重和读更改再写等场景。
这块的单位是吞吐量及单位时间内执行的操作数,操作数越大越好。第一个并发写的最优吞吐率是每秒175万的操作数,95%的读最优吞吐率是每秒148万操作数,读写各半的最优是每秒164万操作数,最后一个读更改写的最优吞吐率是每秒72万的操作数。总体上前三个用例的最优吞吐率都在百万级别,最后一个由于每条记录的内容比较多,所以显得比较慢。从标准方差可以看出来,在NoSQL任务上大家的差别普遍比较大,这应该是以后参测厂家应该注意的。
从大家执行的情况可以看出负载的难易程度,总体来说,写是最简单的,因为它的任务是比较单一的。95%的读和读写各半这两个负载的难度相当,最优和中位值接近。最慢的是read-modify-write操作,我对比了一下,其他负载每个客户端总共有2亿条数据,但read-modify-write每个客户端实际完成的记录数在3亿以上,它单条记录比其他负载更复杂,更多一些,所以显得慢。总体来看,写是最简单的,最容易的,中间这两个差不多,最后一个最慢。从时间上来看并发写的中位执行时间是30分钟左右,第二个和第三个负载中位值差不多在50分钟左右,最后一个是80分钟左右。可以看到YCSB的耗时也是非常厉害的,在小时级别以上。这是对参加测评厂商是很重的负荷。
机器学习的执行结果以时间为计量单位,Kmeans是最优是272秒,中位是913秒,标准方差是572,这个用例大家的水平差距特别大。贝叶斯最优训练时间是46秒,最优分类时间是42秒,最优和中位的差别相对小一些,因为执行时间是比较少的,标准方差也比较低。这块我们未来会增加它的难度,因为数据量小的话,大家的差别看不出来。
Terasort比较有意思,由于去年也是用MapReduce来跑,所以有对比性。去年是15个计算节点,13.6TB的数据,最优执行时间是在8374秒,2个小时多一点。今年是32个计算节点,29.1TB,最优执行时间是10083秒,节点数扩了一倍多一点,数据规模也是扩张一倍多一点,时间稍微多了一些。发现去年的15计算节点的最优吞吐量是1703MB/s,今年32台计算节点最优吞吐量是3026MB/s,从折线图来看,并没有呈现一个完全线性的扩展,或者是一个线性可比性。而有两种解释,一种是本身Terasort或者是Hadoop数据扩展就不会出现线性的扩展。另外,今年的最优情况不如去年测试的好。Terasort最优执行时间是10083s左右,大概是2小48分,中位值是3小时19分,首先大家的差距并不大。其次说明这个用例对大家的考验很大。我们每天的工作时间差不多是10个小时,而Terasort每调试一次都要花费3个小时的时长,每天能够调试的次数是非常有限的,所以整体来看,我们七天测试时间是非常紧张的。
总结和下一步的计划。
继续总结下性能方面的优化思路。主要有硬件的调优,操作系统的调优,集群资源的分配,数据的分布,JVM资源的调优和代码应用调优,其核心目标是用尽所有的物理资源,不能让它闲着。这次SQL任务和机器学习任务,大部分厂商都采用了Spark,关于Spark,主要思路就是数据的压缩和分布数据,还有资源参数的配置,主要是包括CPU核数,内存大小,还有整个的比例的关系,这块需要大家自行进行摸索,得出一些经验值。需要通过资源的监控不停的反馈每次调优的参数配置是不是合理,这跟算法的调优很类似。Hadoop也是主要是数据的压缩,还有资源参数的调优。HBase涉及到压缩,读写的优化的策略,还有选择合适的线程数等。
本批性能测试是在统一平台(32台服务器集群),统一的测试数据,统一的测试工具,统一的测试周期,统一的测试规则下进行的测试认证。统一规则非常重要,决定了大家在统一的尺度下进行评测和调优,保证了公平性。其他方面的统一也非常重要,保证了大家测试结果是可比的。认证一是考察产品本身的性能,二是考察产品的稳定性和易运维程度。还有是考察参测团队综合使用大数据平台的能力,包括环境部署与集群规划,测试工具的熟悉程度,多任务调优的能力,包括怎么安排测试的进度,先测哪些,后测哪些。最后是集群的故障处理和运行维护。在测试过程中有时候会出现机器的宕机,比如内存溢出,硬盘损坏等。可以看出考察的是产品和调优团队整体能力。
我们再总结一下困难和特点,首先是任务重,周期紧,我们看到七天的测试周期里,包括操作系统的安装,平台的搭建,数据的生成和导入,任务的调优、执行和审核。我们看到Terasort中位执行时间是3小时,HBase任务中位执行时间是29,54,50,39分钟,这些任务都是十分耗时的。第二是先进性,本次测试是业界领先的测试集群规模和集群配置,有10项的测试用例采用TB以上的数据,从集群规模和数据规模上来,本次测试是业界领先的认证。最后是严谨性,我们审核流程是极其严格的。另外,评审过程也是非常严格的,行业客户和业界专家倾听、质疑、答辩。
任何的认证都是存在不足的,我们也承认还有一些局限性的地方,比如说我们现在做的是单项极限值测试,缺少对混合负载的考量。因为在正常情况下很少会单跑某个特定任务,肯定是多种任务场景混跑,这是目前我们是缺少的。另外,我们得承认现场人员的前期准备,平时的积累和现场的发挥对测试结果有一定的影响,就像高考一样,肯定是有一些临场发挥和机会在里面的。另外认证也和企业的投入资源有关系,有的企业可能人不多,但是全部派到这个项目上,有的企业可能有不少厉害的人,但是没有协调出来,这都是有可能的。由于数据生成的限制,我们采用的工具大多数是开源的工具,一直以来都想做场景化的,行业化的尝试,这块未来会逐步跟厂商和客户去进一步的推进。由于周期的限制,我们无法进一步的对稳定性作出考量,比如考察大数据系统在一个月高负载下的稳定性情况。最后一个局限性是机器学习的数据量略小。
下一步我们的计划,我们会引入一些工作流和可视化负载,统一考虑权限管理,还有数据管理功能,流计算,图计算。还有性能,以任务为导向,寻找行业场景,考虑混合任务、高并发等场景。我们现在已经在做MPP评测的标准,第四批会加入MPP数据库的评测。
认证报名马上要启动第四批了,10月8日到12月31日会做第四批基础能力和性能专项。认证的范围包括:基于Hadoop或Spark的大数据平台软件、MPP数据库软件、NoSQL数据库软件以及其他分布式大数据存储和计算平台软件。总之,这是我们一直会坚持做下去的事情,我们也希望成为中国的比较权威,或者是比较领先的大数据技术产品的评测机构。也会以此为我们的愿景,一直践行这些事情,帮助大家选型也罢,评估不同的开源技术,这是我们的愿景。
未来的规划,Hadoop和Spark已经做了,MPP下一批也有了,数据管理的功能,我们会慢慢的在这些平台上见到。还有一些BI和算法。这是我们的规划图。今天我的分享就到此结束。谢谢。