今天是第一天的源码活动,想着先从测试用例看起,无意发现了resources目录中有两个文件夹tpcds和tpch,这里面有很多sql语句。我猜测是测试性能的。
搜索了下,原来TPC是一个组织推出了多个TPC-X的衡量数据库性能的标准。
TPC-H和TPC-DS是针对OLAP数据库进行测试的。
OLTP&OLAP
OLTP的全称是On-line Transaction Processing,中文名称是联机事务处理。其特点是会有高并发且数据量级不大的查询,是主要用于管理事务(transaction-oriented)的系统。此类系统专注于short on-line-tansactions 如INSERT, UPDATE, DELETE操作。通常存在此类系统中的数据都是以实体对象模型来存储数据,并满足3NF(数据库第三范式)。
OLAP的全称是 On-line Analytical Processing,中文名称是联机分析处理。其特点是查询频率较OLTP系统更低,但通常会涉及到非常复杂的聚合计算。 OLAP系统以维度模型来存储历史数据,其主要存储描述性的数据并且在结构上都是同质的。
TPC-H
TPC-H是决策支持的基准测试。它由一套面向业务的即席查询和并发数据修改组成。 这些查询和填充数据库的数据具有广泛的行业相关性。 该基准测试展示了决策支持系统,它可以检索大量数据,执行高度复杂的查询,并为关键业务问题提供答案。 TPC-H报告的性能指标称为TPC-H每小时综合查询性能指标(QphH @ Size),并反映了系统处理查询的能力的多方面。 这些方面包括执行查询所选的数据库大小,单个流提交查询时的查询处理能力,以及多个并发用户提交查询时的查询吞吐量。
TPC-H是一款面向商品零售业的决策支持系统测试基准,它定义了8张表,22个查询,遵循SQL92;
TPCDS
TPC-DS是决策支持的基本测试,提供了决策支持系统的通用见面方式,包括数据查询和数据维护。TPC-DS基准测试提供了通用决策支持系统的性能评估。基准测试的结果衡量了单用户模式下的响应时间,多用户模式下的查询吞吐量,特定操作系统和硬件的数据维护性能,在受限复杂的环境下数据处理系统、支持多用户决策。TPC-DS基准测试为用户提供相关的 客观性能数据。TPC-DS v2则支持新兴技术如大数据 进行性能测试。
TPC-DS采用星型、雪花型等多维数据模式。它包含7张事实表,17张纬度表平均每张表含有18列。其工作负载包含99个SQL查询,覆盖SQL99和2003的核心部分以及OLAP。这个测试集包含对大数据集的统计、报表生成、联机查询、数据挖掘等复杂应用,测试用的数据和值是有倾斜的,与真实数据一致。可以说TPC-DS是与真实场景非常接近的一个测试集,也是难度较大的一个测试集。
自己的理解
由于工作中确实没接触过,发现这个TPC-X就是一种测试数据库性能的测试库,有固定的表,可以有工具随机生成大批量的数据,然后还有特定的查询语句,都是为了检测数据库的性能,相信在druid中出现,也是为了测试druid的性能的。
今天的内容有点跑偏,像我的思路一样,明天回归正题。