首页 > 首页 > 加油cio > 正文

企业如何选择合适的大数据产品测试基准


2015-06-01 16:41:55   出处:D1Net   作者:   
为了方便企业选择合适的大数据测试基准,本文将在分析总结现有成果的基础,进一步讨论大数据测试基准应该具有的要素;并以此为基础,对比现有的大数据测试基准;然后重点讨论TPC-DS测试基准。
  随着开源Hapdoop、Map/Reduce、Spark、HDFS、HBASE等技术的商用化,大数据管理技术得到了突飞猛进的发展。一般来说,大数据具有3V特性,即Volume(海量)、Velocity(高速)和Variety(多样)[1]。TPC联合主席、Cisco高级工程师Raghunath Nambiar进一步认为大数据还面临Value(价值)和Veracity(精确)的挑战。如何客观地比较不同数据管理系统,即大数据测试基准的选择,成为一个重要的研究课题。

  事务性能管理委员会(TPC)是目前最知名的数据管理系统评测基准标准化组织。在过去二十多年间,该机构发布了多款数据库评测基准,如TPC-A、TPC-D、TPC-H和TPC-DS,在业界得到了广泛应用[2]。BigBench和BigFrame是对TPC-DS进行多样化的数据扩充的测试基准。近年来,Apache开源社区针对Map/reduce架构开发了多款性能测试用例,如TestDFSIO、teraSort。国内对大数据测试基准的研究起步较晚,尚未建立起权威的测试基准。目前由中国信息通信研究院牵头,联合中科院计算所及国内外知名公司和机构共同制定的大数据测试基准正在金罗密布的测试中[3]。

  为了方便企业选择合适的大数据测试基准,本文将在分析总结现有成果的基础,进一步讨论大数据测试基准应该具有的要素;并以此为基础,对比现有的大数据测试基准;然后重点讨论TPC-DS测试基准。

  大数据测试基准的选择

  企业在选择大数据测试基准时,首先应考虑基准与其自身业务的相关性。

  与其自身业务的相关性

  它主要描述测试基准设定的应用场景是否与企业的实际业务场景类似,如基于社交网络应用的评测基准与银行系统的应用场景就没有什么相关性。不相关的基准,测试结果再好,也没有实际意义。相关性还要考虑测试基准所采用的数据模型是否代表数据仓库的发展方向,如基于星型模型的开发要比基于传统的关系模型开发更加有效。

  当然,一套行之有效的大数据测试基准包含许多其它要素。Jim Gray及金澈清等学者[4]已经对度量选取、模拟数据生成器、工作负载设定、审计等要素进行了详细论述。除此之外,本文还认为测试基准的健壮性、SQL标准的兼容性和通用性/可移植性也是重要的要素。

  模拟数据生成要具有真实性

  它描述了测试基准是否仿真真实应用场景,所产生的模拟数据是否与真实数据相似。

  工作负载的设定具有可扩展性

  它描述该评测基准是否适用于不同规模的计算机系统,许多评测基准会使用标度因子来决定模拟数据的规模,通过调整标度因子来得到不同规模的工作负载。

  度量的选取的可理解性

  它衡量该评测基准是否易于为用户理解,不易为用户理解的基准的可信程度也较低。

  客观性与公正性

  众所周知,在竞技比赛中,一个人不能既是运动员又是裁判员。测试基准好比竞技比赛中的裁判员,应该由中立的第三方机构制定。事实也证明,在各个领域最受欢迎的测试基准都是有第三方机构设计的。过去20多年的经历证明TPC系列基准是数据库领域最为广泛接受的基准。除此之外,第三方机构的审计也是保证证评测结果的客观性与公正性的重要手段。

  健壮性

  测试基准要足够健壮,不能轻易被“hack”,这对测试结果的公平性非常重要。例如对TPC-H的前身TPC-D,通过物理化视图,Oracle的性能比Micosoft的SQLServer高100倍,这些显然是不公平的。因此TPC组织规定TPC-H测试中物理化视图是不和法的。但是除非是专业人员,一般用户很难判定测试过程中视图有没有被物理化。TPC-DS在健壮行方面要好很多,因为它的SQL本身比较复杂,也比较多,Hack起来相对困难,并且只hack几个SQL对整体性能提高有限。

  SQL标准兼容性

  SQL是ANSI为统一各个数据库厂商之间的编程差异定义的标准,已发布SQL86、SQL92、SQL99、SQL2003等版本。这些标准已经被主流的商用(例如Oracle、DB2、SQL server)以及开源的数据库产品(例如MySQL、mSQL和PostgreSQL)的广泛采用。对整个数据库产业的发展起到了巨大的推动作用。大数据是个新兴的领域,它的发展不能完全抛弃原有的应用。如果不能全面支持SQL标准,现有系统的移植非常困难,学习曲线就会变长。

  通用性/可迁移性

  通用性描述是否可在不同数据库系统和架构上实现指定的评测基准。测试基准不应该规定实现的细节,而只需要定义测试规范。DBMS只要遵循规范得到正确的结果,就是合理的测试,无论其基于Map/Reduce、Spark还是其他的技术,也不管其底层存储是用HDFS、HBASE还是其他方式。

  大数据测试基准对比

  经过30几年的研究,传统数据库测试基准的研究已经相当成熟,在各个领域出现了行之有效的测试基准。随着大数据应用的发展,大数据测试基准的研究最近几年逐渐兴起,但大都是在传统的测试基准的基础进行裁剪、扩充、综合。金澈清等学者[4]对数据库基准的发展概述如图1所示。

  

\

 

  本文重点关注被列为大数据测试基准的相关基准、BigFrame[5]以及TPC-DS,对其它的基准本文不再赘述,有兴趣的读者请参阅文[4]。

  Map/reduce性能测试

  如文[4]中所述,MRBench、HiBench、TestDFSIO、Sort/teraSort只是针对Map/Reduce框架,目的是评测运行Map/Reduce框架的集群的性能。CALDA基准尝试比较不同架构在数据管理方面的性能。这些测试过于简单,无法模拟复杂的应用,也不通用。

  YCSB/YCSB++/LinkBench

  这是一组针对网络应用的测试基准。YCSB(Yahoo! Cloud Serving Benchmark)及其扩展YCSB++测试查询回复的延时等云服务系统中云计算的特点,如查询回复的延时、纵向扩展和弹性加速比、并行性测试等。LinkBench是一个基于社交网络应用的评测基准。它仿真Facebook公司的图数据管理应用,包括数据特性、工作负载以及度量等。这些都是公司开发的针对自己特定应用场景的测试基准,很难在整个行业内进行推广。

  BigBench

  BigBench是一款面向商品零售业的基准,它扩展了TPC-DS,综合考虑多种数据模态,增加了半结构化数据Web Log和非结构化数据Reviews。其负载的生成是TPC-DS定制化的版本。BigBench包含30个查询。BigBench基本数据模型如图2所示:

  \

  BigFrame

  BigFrame是一个测试基准生成器[5],用户可以根据自己的需求定制专有测试基准。在目前实现中,其关系模型与BigBench类似,也是基于TPC-DS。同时它扩展了半结构化和非结构化的数据Tweets以及图形化数据Followee/Follower。BigFrame基本数据模型如图3所示:

  \

  如文[5]所述,大数据与决策支持系统(DSS)并不是完全独立的,大数据也不能抛弃传统。DSS系统中,只要数据量足够大,都可以认为是大数据问题。被化为大数据测试基准的BigBench和BigFrame的大部分内容都来自于TPC-DS,从这个意义上讲,TPC-DS不但是一种结构数据的大数据测试基准,而且是其它大数据测试基准的基础。

责任编辑:honglei

相关热词搜索:大数据产品 选型

上一篇:獐子岛集团CIO张戡:触网需理性 方式盼多元
下一篇:2015年度优秀CIO

分享到: 收藏

专题

more>>

2016第九届中国信...

2016第九届中国信息主管年会于12月13日在京召开,本次..

中国软件园区发展...

12月27日,由工业和信息化部信息化和软件服务业司指导..
Email:

藏经楼

more>>

论坛热议

more>>