[转帖]TPC-C 、TPC-H和TPC-DS区别
https://zhuanlan.zhihu.com/p/339886289
针对数据库不同的使用场景TPC组织发布了多项测试标准。
TPC-C:
TPC Benchmark C于1992年7月获得批准,是一个在线事务处理(OLTP)基准。 与TPC-A等以前的OLTP基准测试相比,TPC-C更复杂,因为它具有多种事务类型,更复杂的数据库和整体执行结构。 TPC-C涉及五个不同类型和复杂性的并发事务的混合,这些事务可以在线执行或排队等待延迟执行。 该数据库由九种类型的表组成,具有广泛的记录和人口规模。 TPC-C以每分钟事务数(tpmC)衡量。 虽然基准描述了批发供应商的活动,但TPC-C并不限于任何特定业务领域的活动,而是代表必须管理,销售或分销产品或服务的任何行业。
TPC-H:
TPC BenchmarkH(TPC-H)是决策支持基准。 它由一套面向业务的即时查询(ad-hoc)和并发数据修改组成。 选择查询和填充数据库的数据具有广泛的行业相关性。 该基准测试说明了决策支持系统,该系统可检查大量数据,执行高度复杂的查询并为关键业务问题提供答案。 TPC-H报告的性能指标称为TPC-H每小时综合查询性能指标(QphH @ Size),它反映了系统处理查询能力的多个方面。 这些方面包括执行查询时所选择的数据库大小,单个流提交查询时的查询处理能力以及多个并发用户提交查询时的查询吞吐量。 TPC-H价格/性能指标
http://TPC.org官方提供的有测试包。
TPC-H是一款面向商品零售业的决策支持系统测试基准,它定义了8张表,22个查询,遵循SQL92;TPC-H基准的数据库模式遵循第三范式。新兴的数据仓库开始采用新的模型,如星型模型、雪花模型。TPC-H已经不能精准反映当今数据库系统的真实性能。为此,TPC组织推出了新一代的面向决策应用的TPC-DS 基准。
TPC-DS
TPC-DS是决策支持的基本测试,提供了决策支持系统的通用见面方式,包括数据查询和数据维护。TPC-DS基准测试提供了通用决策支持系统的性能评估。基准测试的结果衡量了单用户模式下的响应时间,多用户模式下的查询吞吐量,特定操作系统和硬件的数据维护性能,在受限复杂的环境下数据处理系统、支持多用户决策。TPC-DS基准测试为用户提供相关的 客观性能数据。TPC-DS v2则支持新兴技术如大数据 进行性能测试。
http://tpc.org 官方也提供规范和测试包。
TPC-DS采用星型、雪花型等多维数据模式。它包含7张事实表,17张纬度表平均每张表含有18列。其工作负载包含99个SQL查询,覆盖SQL99和2003的核心部分以及OLAP。这个测试集包含对大数据集的统计、报表生成、联机查询、数据挖掘等复杂应用,测试用的数据和值是有倾斜的,与真实数据一致。可以说TPC-DS是与真实场景非常接近的一个测试集,也是难度较大的一个测试集。
TPC-DS的这个特点跟大数据的分析挖掘应用非常类似。Hadoop等大数据分析技术也是对海量数据进行大规模的数据分析和深度挖掘,也包含交互式联机查询和统计报表类应用,同时大数据的数据质量也较低,数据分布是真实而不均匀的。因此TPC-DS成为客观衡量多个不同Hadoop版本以及SQL on Hadoop技术的最佳测试集。这个基准测试有以下几个主要特点:
- 一共99个测试案例,遵循SQL’99和SQL 2003的语法标准,SQL案例比较复杂
- 分析的数据量大,并且测试案例是在回答真实的商业问题
- 测试案例中包含各种业务模型(如分析报告型,迭代式的联机分析型,数据挖掘型等)
- 几乎所有的测试案例都有很高的IO负载和CPU计算需求
结论:
TPC-C是针对OLTP的测试,TPC-H和TPC-DS则是针对OLAP的测试,在新兴的HATP数据库兴起是则TPC-C、TPC-H和TPC-DS都需要进行测试测试验证,不过大部分数据库目前对TPC-DS的99个SQL查询支持尚不完善。
[转帖]TPC-C 、TPC-H和TPC-DS区别的更多相关文章
- <string> 与<string.h>、<cstring>的区别
<string.h> <string.h>是C版本的头文件,包含比如strcpy.strcat之类的字符串处理函数. <cstring> 在C++标准化(1998年 ...
- hpp头文件与h头文件的区别
hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该hpp文件即可,无需再将cpp加入到project中进行编译.而实现代码将直接 ...
- stdio.h及cstdio的区别
2013-07-04 16:45:19 找了很多资料,没有说的很明白的,下面是老外的一篇文章,解释的比较清楚,后面给出翻译. Clarifying stdio.h versus cstdio 转自:h ...
- .C .h 和 .CCP的区别
1.*.H:C语言规定使用一个变量或调用一个函数前必须声明,为了使用方便,经常把常用函数,例如Windows API的函数,MFC类写入头文件.h,这样每次需要引用时只要使用#include加入就可以 ...
- C/C++ - <string> 与<string.h>、<cstring>的区别
<string.h><string.h>是C版本的头文件,包含比如strcpy.strcat之类的字符串处理函数. <string><string>是C ...
- strings.h 与 string.h 头文件的区别
今天使用 man string 来查看 string 文件的使用的方法(毕竟里面的函数名字和传入参数和发挥参数的类型,如果一段时间不使用,会产生遗忘.) 偶然发现,string.h 的man page ...
- [转帖] IIS经典模式和集成模式的区别
在 IIS 7.0 中,应用程序池有两种运行模式:集成模式和经典模式. https://blog.csdn.net/hongwei_23/article/details/44300923 这里面添加一 ...
- [转帖]localhost与127.0.0.1的区别
localhost与127.0.0.1的区别 https://www.cnblogs.com/hqbhonker/p/3449975.html 前段时间用PG的时候总有问题 当时没有考虑 localh ...
- C++ .h 与 .hpp 的区别
原文地址:http://blog.csdn.net/f_zyj/article/details/51735416 .hpp,本质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件, ...
- [转帖] select、poll、epoll之间的区别总结[整理] + 知乎大神解答 https://blog.csdn.net/qq546770908/article/details/53082870 不过图都裂了.
select.poll.epoll之间的区别总结[整理] + 知乎大神解答 2016年11月08日 15:37:15 阅读数:2569 http://www.cnblogs.com/Anker/p/3 ...
随机推荐
- OpenSSL命令总结
OpenSSL命令总结 疑今者察之古,不知来者视之往. 导航 介绍 对称加密 公钥加密 信息摘要 数字证书 杂项 介绍 密码学标准和互联网协议一样,是一种大家都遵守的约定和标准,比如PKCS#1中规定 ...
- Pikachu漏洞靶场 URL重定向
URL重定向 点击 我就是我,放荡不羁的我 可以发现url是这样的: http://192.168.171.30/pikachu/vul/urlredirect/urlredirect.php?url ...
- 动态规划问题(六)最长公共子序列(LCS)
问题描述 给你两个字符串,要求得到这两个字符串的最长公共子序列长度. 比如:对于输入的字符串 S1 "AGGTAB" 和 S2 "GXTXAYB",它们 ...
- CodeForces 1141F2 贪心 离散化
CodeForces 1141F2 贪心 离散化 题意 给定一个序列,要求我们找出最多数量的不相交区间,每个区间和都相等. 思路 一开始没有头绪,不过看到 \(n \le 1500\) 后想到可以把所 ...
- 企业诊断屋:在线小说企业如何用A/B测试赋能业务
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近两年来,在线小说领域业务发展"降速",相较于几年前的快速扩张,2022年后国内在线小说企 ...
- Jenkins Pipeline 流水线 - 拉代码(SVN) + Maven 编译打包
Jenkins Pipeline 流水线 步骤 拉取SVN代码 -> Maven 构建 -> Docker 编译 -> 发布至阿里云仓库 -> K8S 更新 Jenkins插件 ...
- SpringBoot 引用仓库中没有 第三方包 - 将jar 包安装本地 maven
命令如下: mvn install:install-file -Dfile="D:\Projects\lib\com.ibm.mq-7.0.1.3.jar" -DgroupId=c ...
- Dom4j 保存XML HL7-V3
dom4j selectNodes 取不到值 因为XML带有命名空间 HL7 Dom4j 保存XML String xmlPath = "D:\\BS004.xml"; Strin ...
- Gcc内置原子操作__sync_系列函数
Gcc内置原子操作__sync_系列函数简述及例程 Gcc 4.1.2版本之后,对X86或X86_64支持内置原子操作.就是说,不需要引入第三方库(如pthread)的锁保护,即可对1.2.4.8字节 ...
- Maven 命令安装指定 jar 包到本地仓库
Maven 命令安装指定jar包到本地仓库: mvn install:install-file -Dfile=D:\Java\maven-repository\com\huawei\convert-p ...