大数据基准测试TPC-DS简介

发表于:2017-12-07 09:56

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈旦,叶晓俊,施霖    来源:CSDN博客

  大数据测试基准的选择
  企业在选择大数据测试基准时,首先应考虑基准与其自身业务的相关性。
  1、与其自身业务的相关性
  它主要描述测试基准设定的应用场景是否与企业的实际业务场景类似,如基于社交网络应用的评测基准与银行系统的应用场景就没有什么相关性。不相关的基准,测试结果再好,也没有实际意义。相关性还要考虑测试基准所采用的数据模型是否代表数据仓库的发展方向,如基于星型模型的开发要比基于传统的关系模型开发更加有效。
  2、模拟数据生成要具有真实性
  它描述了测试基准是否仿真真实应用场景,所产生的模拟数据是否与真实数据相似。
  3、工作负载的设定具有可扩展性
  它描述该评测基准是否适用于不同规模的计算机系统,许多评测基准会使用标度因子来决定模拟数据的规模,通过调整标度因子来得到不同规模的工作负载。
  4、度量的选取的可理解性
  它衡量该评测基准是否易于为用户理解,不易为用户理解的基准的可信程度也较低。
  5、客观性与公正性
  众所周知,在竞技比赛中,一个人不能既是运动员又是裁判员。测试基准好比竞技比赛中的裁判员,应该由中立的第三方机构制定。事实也证明,在各个领域最受欢迎的测试基准都是有第三方机构设计的。过去20多年的经历证明TPC系列基准是数据库领域最为广泛接受的基准。除此之外,第三方机构的审计也是保证证评测结果的客观性与公正性的重要手段。
  6、健壮性
  测试基准要足够健壮,不能轻易被“hack”,这对测试结果的公平性非常重要。例如对TPC-H的前身TPC-D,通过物理化视图,Oracle的性能比Micosoft的SQLServer高100倍,这些显然是不公平的。因此TPC组织规定TPC-H测试中物理化视图是不和法的。但是除非是专业人员,一般用户很难判定测试过程中视图有没有被物理化。TPC-DS在健壮行方面要好很多,因为它的SQL本身比较复杂,也比较多,Hack起来相对困难,并且只hack几个SQL对整体性能提高有限。
  7、SQLv标准兼容性
  SQL是ANSI为统一各个数据库厂商之间的编程差异定义的标准,已发布SQL86、SQL92、SQL99、SQL2003等版本。这些标准已经被主流的商用(例如Oracle、DB2、SQL server)以及开源的数据库产品(例如MySQL、mSQL和PostgreSQL)的广泛采用。对整个数据库产业的发展起到了巨大的推动作用。大数据是个新兴的领域,它的发展不能完全抛弃原有的应用。如果不能全面支持SQL标准,现有系统的移植非常困难,学习曲线就会变长。
  8、通用性/可迁移性
  通用性描述是否可在不同数据库系统和架构上实现指定的评测基准。测试基准不应该规定实现的细节,而只需要定义测试规范。DBMS只要遵循规范得到正确的结果,就是合理的测试,无论其基于Map/Reduce、Spark还是其他的技术,也不管其底层存储是用HDFS、HBASE还是其他方式。
  TPC-DS
  TPC-DS测试基准是TPC组织推出的用于替代TPC-H的下一代决策支持系统测试基准。因此在讨论TPC-DS之前,先介绍一下TPC-H。
 
  1、TPC-H
  TPC-H是一款面向商品零售业的决策支持系统测试基准,它定义了8张表,22个查询,遵循SQL92。TPC-H的数据模型如图4所示。TPC-H基准的数据库模式遵循第三范式,叶晓俊教授等学者认为“它的数据表数据特征单一(如数据不倾斜) ,其数据维护功能仅仅限制了潜在的对索引的过度使用,而没有测试DBMS 执行真实数据维护操作——数据提取、转换和加载(ETL) 功能的能力”。同时,新兴的数据仓库开始采用新的模型,如星型模型、雪花模型。TPC-H已经不能精准反映当今数据库系统的真实性能。为此,TPC组织推出了新一代的面向决策应用的TPC-DS 基准。
  
  2、TPC-DS
  TPC-DS 基准意图提供一个公平和诚实的业务和数据模型,以衡量DBMS 系统的整体性能,如CPU 与内存使用,I /O负载特征以及操作系统和DBMS 完成海量数据复杂计算等。这个基准测试有以下几个主要特点:
  · 一共99个测试案例,遵循SQL’99和SQL 2003的语法标准,SQL案例比较复杂
  · 分析的数据量大,并且测试案例是在回答真实的商业问题
  · 测试案例中包含各种业务模型(如分析报告型,迭代式的联机分析型,数据挖掘型等)
  · 几乎所有的测试案例都有很高的IO负载和CPU计算需求
  它主要关注:
  · 共享维度的多雪花模式: 24 个平均含有18 列的数据库表及丰富的主外键约束。
  · 随机替换的99 个不同的SQL 查询: 随机的、报告的、迭代的、抽取的查询。
  · 更具代表性的不对称的倾斜的测试数据: 非事实数据表的子线性比例划分。
  · 类ETL 数据维护等
  · 数据模型:
  TPC-DS采用星型、雪花型等多维数据模式。它包含7张事实表,17张维度表平均每张表含有18列。其工作负载包含99个SQL查询,覆盖SQL99和2003的核心部分以及OLAP。这个测试集包含对大数据集的统计、报表生成、联机查询、数据挖掘等复杂应用,测试用的数据和值是有倾斜的,与真实数据一致。可以说TPC-DS是与真实场景非常接近的一个测试集,也是难度较大的一个测试集。
  · 业务模型:
  TPC-DS 基准提供了两种重要的业务模型: 用户查询和数据维护。查询是把操作性的事实转化为商业情报,而数据维护操作是将数据仓库数据与操作数据库进行同步。
  TPC-DS 基准业务如图2 所示:
  A、基准提供了被测试数据库测试数据生成程序生成测试数据文本文件,测试人员通过使用ETL 工具将其装载到被测DBMS;
  B、基准提供99 个查询模板及查询语句生成程序,这些查询模板模拟迭代的OLAP 查询、数据挖掘工具的抽取查询、即席( ad-hot) 查询以及大量定制的常见的报表查询;
  C、基准提供了5 种方法模拟现实应用的ETL 过程,包括不需保留历史记录的维度数据维护,需保留历史记录的维度数据维护,事实表数据插入和数据删除维护以及库存表数据删除维护。
  · 执行模式:
  TPC-DS 测试分为: 测试数据加载、查询顺序执行( Power)和并行执行( Throughput) 测试。测试数据加载主要包括: 被测系统准备、数据文件生成、测试数据库创建、基础表创建、数据加载、约束验证、辅助数据结构( 如索引) 创建、表和辅助数据统计分析等。Power 测试是用于评测数据库对单个查询流的处理能力。Throughput 测试是用于测试DBMS 对多个查询流并发查询和操作的处理能力,分为数据查询和数据维护各两个子步骤。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号