TPC-H 测试工具介绍


1. TPC简介

TPC 即事务处理性能委员会( Transaction ProcessingPerformance Council ,官网:http://tpc.org),是由数10家会员公司创建的非盈利组织,总部设在美国。TPC的成员主要是计算机软硬件厂家,而非计算机用户,它的功能是制定商务应用基准程序(Benchmark)的标准规范、性能和价格度量,并管理测试结果的发布。

TPC 成员企业

TPC不给出基准程序的代码,而只给出基准程序的标准规范(Standard Specification)。任何厂家或其它测试者都可以根据规范,最优地构造出自己的系统(测试平台和测试程序)。(需要自己写测试工具,测试完之后提交给TPC协会)为保证测试结果的客观性,被测试者(通常是厂家)必须提交给TPC一套完整的报告(FullDisclosure Report),包括被测系统的详细配置、分类价格和包含五年维护费用在内的总价格。该报告必须由TPC授权的审核员核实(TPC本身并不做审计)。

2. TPC 推出的基准

  • 目前活跃的基准
基准名称 当前版本 相关文档 下载地址 说明
TPC-C 5.11.0 pdf n/a OLTP,用于测试数据库系统的事务处理能力
TPC-DI 1.1.0 pdf Download TPC-DI_Tools_v1.1.0.zip ETL
TPC-DS 2.13.0 pdf Download TPC-DS_Tools_v2.13.0.zip OLAP,商业智能/决策支持处理能力
TPC-E 1.14.0 pdf Download TPC-E_Tools_v1.14.0.zip OLTP,大型企业信息服务测试基准程序
TPC-H 2.18.0 pdf Download TPC-H_Tools_v2.18.0.zip OLAP,随机查询/商业智能处理能力
TPCx-BB 1.5.0 pdf Download TPCX-BB_Tools_v1.5.0.zip 大数据分析系统
TPCx-BB (valid until 2021-04-23) 1.4.0 pdf Download TPCX-BB_Tools_v1.4.0.zip 大数据分析系统
TPCx-HCI 1.1.7 pdf Download TPCx-HCI_Benchmarking_Kit_v1.1.7.zip 超融合基础架构
TPCx-HS 2.0.3 pdf Download TPCX-HS_Tools_v2.0.3.zip 大数据 Hadoop 系统
TPCx-IOT 1.0.5 pdf Download TPCX-IOT_Tools_v1.0.5.zip 物联网网关系统
TPCx-V 2.1.7 pdf Download TPCx-V_Benchmarking_Kit_v2.1.7.zip 虚拟数据库
  • 过时的基准
基准名称 当前版本 相关文档 下载地址 说明
TPC-A 2.0.0 pdf n/a OLTP, 废弃
TPC-APP 1.3.0 pdf n/a 废弃,用于测试7×24 环境下B2B 的应用服务和Web 服务的能力
TPC-B 2.0.0 pdf n/a OLTP, 废弃
TPC-D 2.1.0 pdf n/a OLAP, 废弃,商业智能/决策支持/长查询
TPC-R 2.1.0 pdf n/a OLAP, 废弃,商业智能/决策支持,QphR@Size
TPC-VMS 1.2.0 pdf n/a 数据虚拟化
TPC-W 2.0.0 pdf n/a OLTP, 废弃,基于web的电子商务

3. TPC-H

3.1 TPC-H 介绍

TPC-H 是 TPC 针对 OLAP 数据库推出的,针对随机查询/商业智能处理能力的决策支持基准。它由一套面向业务的临时查询和并发数据修改组成。选择查询和存储到数据库的数据具有广泛的行业范围相关性,同时又保持了足够的易于实现的程度。

TPC- H 主要目的是评价特定数据库的查询的决策支持能力,强调服务器在数据挖掘、分析处理方面的能力。查询是决策支持应用的最主要应用之一,数据仓库中的复杂查询可以分成两种类型:一种是预先知道的查询,如定期的业务报表;另一种则是事先未知的查询,称为动态查询(Ad- Hoc Query)。

通俗的讲,TPC-H就是当一家数据库开发商开发了一个新的数据库操作系统,采用 TPC-H 作为测试基准,来测试衡量数据库操作系统查询决策支持方面的能力.

3.2 应用场景

TPC H由一组业务查询组成,这些业务查询旨在模拟复杂业务分析场景。这些查询具有现实的背景,并描绘了业务系统的活动,以帮助测试者直观地了解基准的组成部分。

TPC-H并不代表任何特定业务部门的活动,而是代表必一系列行业的业务员场景(例如,汽车租赁,食品分销,零件,供应商等)。TPC-H并非试图成为如何构建实际信息分析应用程序的模型。

此基准的目的是减少信息分析应用程序中发现的操作的多样性,同时保留该应用程序的基本性能特征,即:系统利用率水平和操作复杂性。为了完全管理业务分析环境,需要执行各种类型和复杂性的大量查询。由于查询运行的时间长短,查询使用的系统资源以及执行的频率,因此对于性能分析而言,许多查询并不是最重要的。选择的查询具有以下特征:

  1. 查询具有高度的复杂性

  2. 查询会使用各种不同的访问方式

  3. 大多数查询都是临时性的

  4. 查询时会检查大量可用数据

  5. 模拟查询系统,根据不同需求查询不同的数据

  6. 查询执行期间,相关参数可能会发生变化

尽管重点放在信息分析上,但基准测试认识到需要定期刷新数据库。该数据库不是业务运营数据库的一次性快照,也不是OLTP应用程序同时运行的数据库。但是,数据库必须能够在7天24小时(7 x 24)的基础上支持对所有表的查询和刷新功能。

虽然基准测试对其中刷新功能是数据维护必不可少的一部分的业务环境进行建模,但是基准测试中实际需要的刷新功能并未尝试对业务环境的这一方面进行建模。他们的目的是演示DBMS的更新功能,同时评估维护辅助数据结构(例如二级索引)的适当性能成本。

TPC-H业务环境示意图

3.3 TPC-H的衡量指标

它模拟决策支持系统中的数据库操作,测试数据库系统复杂查询的响应时间,以每小时执行的查询数(TPC-H QphH@Siz)作为度量指标

3.4 数据库实体关系

  • 共有8 张表

  • 除Nation 和Region 表外,其它表与测试的数据量有关,即比例因SF(Scale Factor)

  • 表名后括号中的的该表中列名的前缀

  • 箭头方向表示与其他表的关系

3.5 表详细结构

3.5.1 PART

Column Name Datatype Requirements Comment
P_PARTKEY identifier PK,SF*200,000 are populated
P_NAME variable text, size 55
P_MFGR fixed text, size 25
P_BRAND fixed text, size 10
P_TYPE variable text, size 25
P_SIZE integer
P_CONTAINER fixed text, size 10
P_RETAILPRICE decimal
P_COMMENT variable text, size 23

3.5.2 SUPPLIER

Column Name Datatype Requirements Comment
S_SUPPKEY identifier PK,SF*10,000 are populated
S_NAME fixed text, size 25
S_ADDRESS variable text, size 40
S_NATIONKEY Identifier Foreign Key to N_NATIONKEY
S_PHONE fixed text, size 15
S_ACCTBAL decimal
S_COMMENT variable text, size 101

3.5.3 PARTSUPP

Column Name Datatype Requirements Comment
PS_PARTKEY Identifier PK,Foreign Key to P_PARTKEY
PS_SUPPKEY Identifier PK,Foreign Key to S_SUPPKEY
PS_AVAILQTY integer
PS_SUPPLYCOST Decimal
PS_COMMENT variable text, size 199

3.5.4 CUSTOMER

Column Name Datatype Requirements Comment
C_CUSTKEY Identifier PK,SF*150,000 are populated
C_NAME variable text, size 25
C_ADDRESS variable text, size 40
C_NATIONKEY Identifier Foreign Key to N_NATIONKEY
C_PHONE fixed text, size 15
C_ACCTBAL Decimal
C_MKTSEGMENT fixed text, size 10
C_COMMENT variable text, size 117

3.5.5 ORDERS

Column Name Datatype Requirements Comment
O_ORDERKEY Identifier PK,SF*1,500,000 are sparsely populated
O_CUSTKEY Identifier Foreign Key to C_CUSTKEY
O_ORDERSTATUS fixed text, size 1
O_TOTALPRICE Decimal
O_ORDERDATE Date
O_ORDERPRIORITY fixed text, size 15
O_CLERK fixed text, size 15
O_SHIPPRIORITY Integer
O_COMMENT variable text, size 79

注:订单表,只有约 三分之二的客户分配到订单,其余的三分之一客户是没有订单的,目的是为了在连接两个多个表时处理这些数据。

3.5.6 LINEITEM

Column Name Datatype Requirements Comment
L_ORDERKEY identifier PK, Foreign Key to O_ORDERKEY
L_PARTKEY identifier Foreign key to P_PARTKEY, first part of the compound Foreign Key to (PS_PARTKEY, PS_SUPPKEY) with L_SUPPKEY
L_SUPPKEY identifier Foreign key to S_SUPPKEY, second part of the compound Foreign Key to (PS_PARTKEY,PS_SUPPKEY) with L_PARTKEY
L_LINENUMBER integer PK
L_QUANTITY decimal
L_EXTENDEDPRICE decimal
L_DISCOUNT decimal
L_TAX decimal
L_RETURNFLAG fixed text, size 1
L_LINESTATUS fixed text, size 1
L_SHIPDATE date
L_COMMITDATE date
L_RECEIPTDATE date
L_SHIPINSTRUCT fixed text, size 25
L_SHIPMODE fixed text, size 10
L_COMMENT variable text size 44

3.5.7 NATION

Column Name Datatype Requirements Comment
N_NATIONKEY identifier PK, 25 nations are populated
N_NAME fixed text, size 25
N_REGIONKEY identifier Foreign Key to R_REGIONKEY
N_COMMENT variable text, size 152

3.5. 8 REGION

Column Name Datatype Requirements Comment
R_REGIONKEY identifier PK, 5 regions are populated
R_NAME fixed text, size 25
R_COMMENT variable text, size 152

文章作者: hnbian
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 hnbian !
评论
 上一篇
大数据 OLAP 系统(1)相关概念 大数据 OLAP 系统(1)相关概念
1. 什么是OLAP OLAP 是 OnLine Analytical Processing 的缩写,即联机分析处理 OLAP 对业务数据执行多维分析,并提供复杂计算、趋势分析和复杂数据建模的能力 OLAP 主要用于支持企业决策管理分析,是
2021-03-15
下一篇 
Ambari 添加 flink 服务 Ambari 添加 flink 服务
1. 安装 git# 检查是否安装 git [root@node1 ~]# git --help -bash: git: 未找到命令 # 如果没有安装 git 则需要先安装git [root@node1 ~]# yum install g
2021-02-24
  目录