数据库基准测试标准 TPC-C or TPC-H or TPC-DS

针对数据库不同的使用场景TPC组织发布了多项测试标准。其中被业界广泛接受和使用的有TPC-C 、TPC-H和TPC-DS。

TPC-C:

Approved in July of 1992, TPC Benchmark C is an on-line transaction processing (OLTP) benchmark. 
TPC-C is more complex than previous OLTP benchmarks such as TPC-A because of its multiple transaction types,
 more complex database and overall execution structure. TPC-C involves a mix of five concurrent 
transactions of different types and complexity either executed on-line or queued for deferred execution. 
The database is comprised of nine types of tables with a wide range of record and population sizes. 
TPC-C is measured in transactions per minute (tpmC). While the benchmark portrays the activity of a 
wholesale supplier, TPC-C is not limited to the activity of any particular business segment, 
but, rather represents any industry that must manage, sell, or distribute a product or service.

TPC-C于1992年7月获得批准,是针对OLTP的基准测试。TPC-C相对于此前的OLTP基准测试标准如TPC-A更加复杂,

因为多事务类型、更复杂的数据库和整体执行的结构。TPC-C混合五种不同类型的比并发事务及其复杂性,要么在线

执行成功要么排队等候延迟执行。这个数据库由九种类型的表,这些表具有广泛的数据记录和数据大小。TPC-C通过每分钟

事务数来衡量。TPC-C 基准测试描述了批发供应商的活动,他不局限于特定的商业活动,而是代表了包含管理、销售、

分发产品或者服务的任何行业。

目前针对MySQL,Percona仍然提供TPC-C测试包。

http://repo.percona.com/release/7/RPMS/x86_64/sysbench-tpcc-1.0.15-2.el7.x86_64.rpm

TPC-H:

The TPC Benchmark™H (TPC-H) is a decision support benchmark. It consists of a suite of business oriented 
ad-hoc queries and concurrent data modifications. The queries and the data populating the database have been 
chosen to have broad industry-wide relevance. This benchmark illustrates decision support systems that examine 
large volumes of data, execute queries with a high degree of complexity, and give answers to critical business
questions. The performance metric reported by TPC-H is called the TPC-H Composite Query-per-Hour Performance 
Metric (QphH@Size), and reflects multiple aspects of the capability of the system to process queries. 
These aspects include the selected database size against which the queries are executed, the query processing 
power when queries are submitted by a single stream,and the query throughput when queries are submitted 
by multiple concurrent users. The TPC-H Price/Performance metric is expressed as $/QphH@Size.

TPC-H是决策支持的基准测试。它由一套面向业务的即席查询和并发数据修改组成。 这些查询和填充数据库的数据具有广泛的行业相关性。 该基准测试展示了决策支持系统,它可以检索大量数据,执行高度复杂的查询,并为关键业务问题提供答案。 TPC-H报告的性能指标称为TPC-H每小时综合查询性能指标(QphH @ Size),并反映了系统处理查询的能力的多方面。 这些方面包括执行查询所选的数据库大小,单个流提交查询时的查询处理能力,以及多个并发用户提交查询时的查询吞吐量。 TPC-H的价格/性能指标表示为$ / QphH @ Size。

TPC.org官方提供的有测试包。

TPC-H是一款面向商品零售业的决策支持系统测试基准,它定义了8张表,22个查询,遵循SQL92;TPC-H基准的数据库模式遵循第三范式。新兴的数据仓库开始采用新的模型,如星型模型、雪花模型。TPC-H已经不能精准反映当今数据库系统的真实性能。为此,TPC组织推出了新一代的面向决策应用的TPC-DS 基准。

TPC-DS:

The TPC Benchmark DS (TPC-DS) is a decision support benchmark that models several generally applicable 
aspects of a decision support system, including queries and data maintenance. The benchmark provides a 
representative evaluation of performance as a general purpose decision support system. A benchmark result 
measures query response time in single user mode, query throughput in multi user mode and data maintenance 
performance for a given hardware, operating system, and data processing system configuration under a controlled, 
complex, multi-user decision support workload. The purpose of TPC benchmarks is to provide relevant, objective 
performance data to industry users. TPC-DS Version 2 enables emerging technologies, such as Big Data 
systems, to execute the benchmark.

TPC-DS是决策支持的基本测试,提供了决策支持系统的通用见面方式,包括数据查询和数据维护。TPC-DS基准测试提供了

通用决策支持系统的性能评估。基准测试的结果衡量了单用户模式下的响应时间,多用户模式下的查询吞吐量,特定操作系统和硬件的数据维护性能,在受限复杂的环境下数据处理系统、支持多用户决策。TPC-DS基准测试为用户提供相关的 客观性能数据。TPC-DS v2则支持新兴技术如大数据 进行性能测试。

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查询支持尚不完善。

参考:

http://www.tpc.org/tpcc/default.asp

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,423评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,339评论 1 289
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,241评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,503评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,824评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,262评论 1 207
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,615评论 2 309
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,337评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,989评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,300评论 2 240
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,829评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,193评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,753评论 3 230
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,970评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,708评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,295评论 2 267
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,207评论 2 258

推荐阅读更多精彩内容