TPC-H基准(数据库)
时间:2022-11-25 08:30:01 | 来源:信息时代
时间:2022-11-25 08:30:01 来源:信息时代
TPC-H基准 : TPC组织(transaction processing performance council)发布的取代TPC-D基准并作为决策支持应用系统的评价基准。基准包括一套面向即席查询和并发数据修改的业务活动,描述一个决策支持系统处理大规模数据、高度复杂查询和解答关键业务问题的能力。
基准草案1.0.0版于1999年2月26日完成,此后TPC组织不断地对其进行修正和更新,该基准日趋完善,目前的最新版本是2.6.0,发布于2006年10月26日。基准版本修订记录如下:
1999年2月26日: 草案版1.0.0;
1999年6月24日: 修订版1.1.0;
2002年4月25日: 修订版1.4.0;
2002年7月12日: 修订版1.5.0;
2002年7月15日: 修订版2.0.0;
2003年8月14日: 修订版2.1.0;
2005年6月29日: 修订版2.2.0;
2005年8月1 1日: 修订版2.3.0;
2006年6月23日: 修订版2.4.0;
2006年7月10日: 修订版2.5.0;
2006年10月26日: 修订版2.6.0。
TPC-H基准描述了全球范围内管理、销售和分发产品的工业模型,图1描述了商业模型的业务环境。业务模型分为两部分: 业务操作部分和决策支持部分。业务操作部分作为业务环境的操作端,对事务进行实时性处理,该部分的性能由TPC-C这样的基准进行度量。TPC-H描述决策支持部分(图7.9.4中灰色部分),通过提炼数据、计算业务趋势来制定合理的业务决策。
图1 TPC-H业务环境
基准为被测系统中的数据库定义了八张表,它们之间的关系如图2所示,数据模式的设计遵循了第三范式。
图2 TPC-H数据库表逻辑结构
测试数据依赖于比例因子,比例因子决定了原始数据的大小,比例因子必须从固定比例因子集合中(1,10,30,100,300,1000,3000,10000)选择,所有的比例因子以G为单位。例如,选择100作为比例因子意味着所有表的数据量为 100G 。LINEITEM和ORDERS作为最大的两个表包括了约83%的数据。除了NATION和REGION表以外其他表的记录数与比例因子成正比。
表1描述了选择1作为比例因子时表的设计规模,包括记录规模和数据规模等。表中,“国家”为固定个数,不随着比例因子变化; “典型记录长度”和“典型表大小”只是实现中的一个示例,并且没有包括存储和访问所需的额外空间; “订购情况”由于随机因素,LINEITEM表的记录数不严格为比例因子的倍数。
表1 TPC-H数据量估算表
数据表名称 | 基数 (记录条数) | 典型记录 长度(字节) | 典型表大小 (兆字节) |
供货商 | 10 000 | 159 | 2 |
零件 | 200 000 | 155 | 30 |
零件供应情况 | 800 000 | 144 | 110 |
客户 | 150 000 | 179 | 26 |
订单 | 1 500 000 | 104 | 149 |
订购情况 | 6 001 215 | 112 | 641 |
国家 | 25 | 128 | <1 |
区域 | 5 | 124 | <1 |
TPC-H基准的工作负载由22个只读查询和2个更新函数组成,业务问题、功能性查询定义、参数替换和查询验证四个组件刻画了22个查询的特点。业务问题阐述了查询应用的业务上下文。功能性查询定义符合SQL-92标准。
每个查询都被作为一个模板进行定义,在查询被执行之前必须完成参数替换。查询验证描述了如何根据认证数据库验证每个查询。22个查询用于验证典型决策支持系统的查询能力,其中的16个查询取自于TPC-D。单独执行这些查询可以对被测系统利用所有资源满足单用户的能力进行验证,并发执行这些查询可以对被测系统利用所有资源满足并发用户的能力进行验证。新增的6个查询给工作负载增加了更多的功能和查询的复杂度。
两个更新函数为RF1: 增加新的销售信息和RF2: 清除陈旧的销售信息。RF1在LINEITEM和ORDERS表中插入新记录,RF2在LINEITEM和ORDERS表中删除同样数据的记录。
基准的性能测试由数据装载测试和性能测试组成,性能测试包括两次执行,每次执行由能力测试(Power Test)和吞吐量测试(Throughput Test)组成,第一次执行在数据装载测试之后,第二次执行在第一次测试之后。
能力测试度量单用户情况下系统的原始查询能力,首先执行更新函数RF1,然后在单用户模式下执行所有的22个查询,最后执行更新函数RF2。吞吐量测试度量最少时间内系统最大的查询能力,通过多个并发用户按照预定义的顺序执行所有的22个查询。能力测试和吞吐量测试执行流程如图3所示。
图3 能力测试和吞吐量测试执行流程
基准规定了三个衡量指标: QphH@Size(TPC-H Composite Query-per-Hour Metric); 每个QphH所需的花费,即性能价格比; 有效日期。QphH@Size是能力测试和吞吐量测试结果的组合,该值越大,说明被测系统的性能越好; 性价比即价格/性能,即每个QphH的花费,它的值越低,说明被测系统性价比越好。
基准描述了各事务要求满足的ACID属性的各项测试及规范,由于基准不包含OLTP事务并且为了简化与其他活动并发的只读查询事务属性的验证,基准定义了专门的ACID事务和查询,规定只有通过了基准中ACID各项测试后的系统测试值才能被认为有效。
此外TPC-H基准还描述了测试系统的基本架构,被测系统和驱动系统终端以及其连接通信方式,系统计价的方法,测试过程的审计以及测试报告发布的相关规范。