• TPC-C 、TPC-H、TPC-DS和SSB测试基准(Benchmark)介绍


    《大数据平台架构与原型实现:数据中台建设实战》博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,京东购书链接:https://item.jd.com/12677623.html,扫描左侧二维码进入京东手机购书页面。

    简要概述:

    TPC-C是测试关系型数据库的,TPC-H、TPC-DS和SSB都是测试分析型数据库/数据仓库的,TPC-H没有星型/雪花模型,已不推荐,TPC-DS最为主流,SSB支持星型模型,是从TPC-H演化而来,比TPC-DS表少,schema更简单清爽。

    TPC是一个非盈利组织,致力于定义事务处理和数据库benchmark,其提供了面向不同应用场景的多种Benchmark: https://www.tpc.org/information/benchmarks5.asp 下图是对几个主要的benchmark的汇总:
    在这里插入图片描述
    接下来,我们着重介绍一上最广泛讨论的四种Benchmark.

    1. TPC-C

    面向OLTP的测试,也就是测试关系型数据库的数据集。

    2. TPC-H

    面向OLAP的测试,但是其Schema中没有星型模型和雪花模型,已不能准确反应当今分析型数据库/数据仓库的性能,TPC-DS是其新的发展版本”。

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

    在这里插入图片描述
    从TPC-H的Schema上我们也能看出:它确实不是根据数仓建模理论设计的,没有星型模型或雪花模型的结构在里面,所以不再是测试OLAP数据库首选的测试基准。

    3. TPC-DS

    面向OLAP的测试,也就是测试分析型数据库/数据仓库的数据集,业务场景是通用的“库存和销售”场景,业务场景要比TPC-H和SSB都大,所以数据表会多出很多。

    TPC-DS采用星型、雪花模型等多维数据模式。它包含7张事实表,18张纬度表平均每张表含有18列。其工作负载包含99个SQL查询,覆盖SQL99和2003的核心部分以及OLAP。这个测试集包含对大数据集的统计、报表生成、联机查询、数据挖掘等复杂应用,测试用的数据和值是有倾斜的,与真实数据一致。可以说TPC-DS是与真实场景非常接近的一个测试集,也是难度较大的一个测试集。

    TPC-DS的这个特点跟大数据的分析挖掘应用非常类似。Hadoop等大数据分析技术也是对海量数据进行大规模的数据分析和深度挖掘,也包含交互式联机查询和统计报表类应用,同时大数据的数据质量也较低,数据分布是真实而不均匀的。因此TPC-DS成为客观衡量多个不同Hadoop版本以及SQL on Hadoop技术的最佳测试集。

    TPC-DS涉及的数据表非常多,我们先梳理一下它的维表和事实表的情况:

    以下是7张事实表:

    TypeNameAbbreviation
    FactStore SalesSS
    FactStore ReturnsSR
    FactCatalog SalesCS
    FactCatalog ReturnsCR
    FactWeb SalesWS
    FactWeb ReturnsWR
    FactInventoryINV

    以下是18张维度表:

    TypeNameAbbreviation
    DimensionStoreS
    DimensionCall CenterCC
    DimensionCatalog PageCP
    DimensionWeb SiteWEB
    DimensionWeb PageWP
    DimensionWarehouseW
    DimensionCustomerC
    DimensionCustomer AddressCA
    DimensionCustomer DemographicsCD
    DimensionDate DimD
    DimensionHousehold DemographicsD
    DimensionItemI
    DimensionIncome BandIB
    DimensionPromotionP
    DimensionReasonR
    DimensionShip ModeSM
    DimensionTime DimT
    Dimensiondsdgen_versionNA

    下图仅给出Store_SalesStore_Returns两张事实表的Schema作为参考。

    请添加图片描述

    对于7个事实表构成的雪花模型或星型模型的Schema,请参考:https://datacadamia.com/data/type/relation/benchmark/tpcds/schema

    4. SSB

    面向OLAP测试,也就是测试分析型数据库/数据仓库的数据集,业务场景是“商品零售业”。

    注意:SSB是从TPC-H演变过来的(同一种场景,数据表也类似),它们都是围绕同一个业务场景:即商品零售业的决策分析设计的,它的Schema包含一张事实表订单lineorder和四张维表:消费者customer, 供应商supplier, 零件part, 日期date,构成了一个典型的星型模式。下图是SSB的Schema:

    在这里插入图片描述

    最后,特别留意一下的是:有的数据库产品可能会同时提供多种TPC-C 、TPC-H、TPC-DS等多种benchmark的测试报告,很有可能是因为:该产品是一个HATP数据库。

    参考:

    https://www.cnblogs.com/barneywill/p/10471289.html

    https://zhuanlan.zhihu.com/p/339886289

    https://datacadamia.com/data/type/relation/benchmark/tpcds/schema

  • 相关阅读:
    Spring的创建和使用
    MVC设计思想理解和ASP.NET MVC理解
    实现高效消息传递:使用RabbitMQ构建可复用的企业级消息系统
    栈的应用场景(三)
    本着什么原则,才能写出优秀的代码?
    GraalVM入门教程
    01-大语言模型发展
    机器人中的数值优化(十一)——高斯牛顿法、LMF方法、Dogleg方法
    PaddleMIX学习笔记(1)
    刷爆力扣之检查数组对是否可以被 k 整除
  • 原文地址:https://blog.csdn.net/bluishglc/article/details/128191244