技术开发 频道

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

  TPC-DS

  TPC-DS测试基准是TPC组织推出的用于替代TPC-H的下一代决策支持系统测试基准。因此在讨论TPC-DS之前,先介绍一下TPC-H。

  TPC-H

  TPC-H是一款面向商品零售业的决策支持系统测试基准,它定义了8张表,22个查询,遵循SQL92。TPC-H的数据模型如图4所示。TPC-H基准的数据库模式遵循第三范式,叶晓俊教授等学者[6]认为“它的数据表数据特征单一(如数据不倾斜) ,其数据维护功能仅仅限制了潜在的对索引的过度使用,而没有测试DBMS 执行真实数据维护操作——数据提取、转换和加载(ETL) 功能的能力”。同时,新兴的数据仓库开始采用新的模型,如星型模型、雪花模型。TPC-H已经不能精准反映当今数据库系统的真实性能。为此,TPC组织推出了新一代的面向决策应用的TPC-DS 基准。

TPC-DS

  TPC-DS

  TPC-DS采用星型、雪花型等多维数据模式。它包含7张事实表,17张纬度表平均每张表含有18列。其工作负载包含99个SQL查询,覆盖SQL99和2003的核心部分以及OLAP。这个测试集包含对大数据集的统计、报表生成、联机查询、数据挖掘等复杂应用,测试用的数据和值是有倾斜的,与真实数据一致。可以说TPC-DS是与真实场景非常接近的一个测试集,也是难度较大的一个测试集。

  TPC-DS的这个特点跟大数据的分析挖掘应用非常类似。Hadoop等大数据分析技术也是对海量数据进行大规模的数据分析和深度挖掘,也包含交互式联机查询和统计报表类应用,同时大数据的数据质量也较低,数据分布是真实而不均匀的。因此TPC-DS成为客观衡量多个不同Hadoop版本以及SQL on Hadoop技术的非常好的测试集。这个基准测试有以下几个主要特点:

  •   一共99个测试案例,遵循SQL'99和SQL 2003的语法标准,SQL案例比较复杂

  •   分析的数据量大,并且测试案例是在回答真实的商业问题

  •   测试案例中包含各种业务模型(如分析报告型,迭代式的联机分析型,数据挖掘型等)

  •    几乎所有的测试案例都有很高的IO负载和CPU计算需求

  叶晓俊等学者对这些查询的分部总结如表1所示[6]。典型的Store_Sales的数据模型如图5所示。这个基准测试的完整信息请参考http://www.tpc.org/tpcds/。

TPC-DS

TPC-DS

  表2 TPC-H与TPC-DS对比

TPC-DS

  TPC-DS认证现状

  TPC-DS以其高标准、高要求得到大家的广泛认知,理应得到广泛的应用,但是到目前为止还没有任何厂商得到TPC官方的认证。究其原因,本文认为:

  传统的数据库厂商,DBMS系统比较成熟,SQL的支持也相当完善,但是其分布式、并行处理能力欠缺,导致其性能很差。所以传统的厂商不愿意发布测试结果。

  新型的计算模型如Map/Reduce、spark,具有较好的并行处理能力,但是SQL的兼容性比较差,如HiveSQL、SparkSQL只支持40个SQL,从而也无法发布TPC-DS测试报告。尽管如此,各厂商还是通过非TPC官方的途径发布TPC-DS的部分测试结果,以展现其在性能方面的提升。由此可见大家对TPC-DS的程接受度。

  在TPC-DS大数据测试方面,TPC-DS成为客观衡量多个不同Hadoop版本以及SQL on Hadoop技术的非常好的测试集。以TPC-DS为标准测评产品,被客户作为某个购买决定的重要因素之一。据笔者所知,国内已经有厂商着手这方面的工作,如星环科技的TPC-DS 500G功能、性能及其兼容性测试已经得到第三方机构——上海市计算机软件评测实验室的认证。

  结束语

  大数据评测基准用于公平、客观地评测不同大数据库产品/平台的功能和性能,对人们选择合适的大数据分析决策系统具有重要的参考价值。随着国内外各代表性的Hadoop发行版厂商以TPC-DS为标准测评产品,TPC-DS也就逐渐成为了业界公认的大数据系统测试基准。但是随着大数据应用在各行各业的发展,测试基准也需不断与时俱进。大数据测试基准仍然面临着诸多挑战,还需要政府、学术界和工业界的紧密合作。

  关于作者

  作者介绍:复旦计算机学士、美国杜克计算机硕士。美国微软总部服务13年,是数据分析、数据挖掘、产品研发及管理、互联网广告和互联网营销方面的专家。《New Internet:大数据挖掘》《数据掘金:电商数据运营》两书作者。

  参考文献

  [1] Big data: Science in the petabyte era. Nature, 2008, 455: 1-136

  [2] www.tpc.org

  [3] www.dca.org.cn

  [4] 金澈清, 钱卫宁, 周敏奇, 周傲英,数据管理系统评测基准:从传统数据库到新兴大数据,计算机学报, 2014.

  [5] M. Barata, etc, Survey on Big Data and Decision Support Benchmarks, LNCS 8645, 174–182, 2014.

  [6] 陈旦,叶晓俊,施霖, TPC-DS性能测试工具的实现, 计算机应用,第31 卷,第9期, 2011.

3
相关文章