TPC-H样例数据简介
TPC-H(商业智能计算测试)是美国交易处理效能委员会(TPC,Transaction Processing Performance Council) 组织制定的用来模拟决策支持类应用的一个测试集。目前,在学术界和工业界普遍用来评价决策支持技术方面应用的性能。这种商业测试可以全方位评测系统的整体商业计算综合能力,对厂商的要求更高,同时也具有普遍的商业实用意义,目前在银行信贷分析和信用卡分析、电信运营分析、税收分析、烟草行业决策分析中都有广泛的应用。
TPC-H 基准测试是由 TPC-D(由 TPC 组织于 1994 年指定的标准,用于决策支持系统方面的测试基准)发展而来的。TPC-H用3NF实现了一个数据仓库,共包含8个基本关系,其数据量可以设定从1G3T不等。TPC-H 基准测试包括 22 个查询(Q1Q22),其主要评价指标是各个查询的响应时间,即从提交查询到结果返回所需时间。TPC-H基准测试的度量单位是每小时执行的查询数( QphH@size),其中“H”表示每小时系统执行复杂查询的平均次数,“size”表示数据库规模的大小,能够反映出系统在处理查询时的能力。TPC-H 是根据真实的生产运行环境来建模的,这使得它可以评估一些其他测试所不能评估的关键性能参数。总而言之,TPC组织颁布的TPC-H 标准满足了数据仓库领域的测试需求,并且促使各个厂商以及研究机构将该项技术推向极限。
本示例将演示DLI直接对存储在OBS中的TPC-H数据集进行查询的操作,DLI已经预先生成了100M的TPC-H-2.18的标准数据集,已将数据集上传到了OBS的tpch文件夹中,并且赋予了只读访问权限,方便用户进行查询操作。
TPC-H的测试和度量指标
TPC-H 测试分解为3 个子测试:数据装载测试、Power测试和Throughput测试。建立测试数据库的过程被称为装载数据,装载测试是为测试DBMS装载数据的能力。装载测试是第一项测试,测试装载数据的时间,这项操作非常耗时。Power 测试是在数据装载测试完成后,数据库处于初始状态,未进行其它任何操作,特别是缓冲区还没有被测试数据库的数据,被称为raw查询。Power测试要求22 个查询顺序执行1 遍,同时执行一对RF1 和RF2 操作。最后进行Throughput 测试,也是最核心和最复杂的测试,更接近于实际应用环境,与Power 测试比对SUT 系统的压力有非常大的增加,有多个查询语句组,同时有一对RF1 和RF2 更新流。
测试中测量的基础数据都与执行时间有关,这些时间又可分为:装载数据的每一步操作时间、每个查询执行时间和每个更新操作执行时间,由这些时间可计算出:数据装载时间、Power@Size、Throughput@Size、QphH@Size 和$/QphH@Size。
Power@Size 是Power 测试的结果,被定义为查询时间和更改时间的几何平均值的倒数,公式如下:
其中:Size 为数据规模;SF 为数据规模的比例因子;QI (i,0)为第 i个查询的时间,以秒为单位;R(I j,0)为 RFj更新的时间,以秒为单位。
Throughput@Size 是Throughput 测试的结果,被定义为所有查询执行时间平均值的倒数,公式如下:
业务场景
用户可以通过DLI内置的TPC-H测试套件进行简单高效的交互式查询,无需用户上传数据,即可以体验DLI的核心功能。
DLI内置TPC-H的优势
- 用户只需要登录DLI,完成授予权限,即可操作SQL语句,无需用户自己创建表和导入数据。
- 预置22条TPC-H SQL查询模板,功能丰富,可满足大部分的商业场景,无需用户自行下载TPC-H的查询语句,省时省力。
- 用最小的时间代价体验serverless化的DLI产品,领略数据湖带给我们的全新体验。
注意子账号使用TPC-H测试套件时,需要主账号为子账号赋权OBS访问权限和查看主账号表的权限;如果主账号未登录过DLI服务,子账号除上述权限外,还需要创建数据库和创建表的权限。
操作说明
具体操作指导详见 SQL模板管理。