写点什么

TiDB 5.0 在 TPCH 和 SSB 基准测试下 OLAP 方面的能力表现

  • 2022 年 7 月 11 日
  • 本文字数:2096 字

    阅读完需:约 7 分钟

作者: ORA-600 原文来源:https://tidb.net/blog/2370aaa4


【是否原创】是


【首发渠道】TiDB 社区


【首发渠道链接】


【目录】


一、服务器的配置


二、集群部署模式


三、TPC-H 基准压测


四、SSB 基准压测


五、总结


【正文】


一、服务器配置


1、3 台腾讯云服务器


2、服务器配置


CPU: 32c (Intel® Xeon® Platinum 8255C CPU @ 2.50GHz)


MEM: 128G


Disk: 3.5T Nvme 盘 1 块


二、集群部署模式


1、自建集群数据库组件均采用混合部署方式


2、腾讯云 Doris 和 ClickHouse 采用独立部署


三、TPC-H 基准压测


TPC-H 基准测试是由 TPC-D 发展而来的,是面向商品零售业的决策支持系统测试基准,它定义了 8 张表,22 个查询,遵循 SQL92;基准的数据库模式遵循第三范式;新兴的数据仓库开始采用新的模型,如星型模型、雪花模型。


数据规模:数据文件 100G,数据条数如下



表的信息:2 个事实表:lineorder,orders 6 个维度表:customer,part,parsupp,supplier,region,nation


数据查询:22 条标准 SQL 查询测试语句:统计查询、多表关联、sum、复杂条件、group by、order by 等组合方式



备注:greenplum 和 spark+parquet 两款产品的压测数据是摘自 pingcap 官方。


TiFlash 开启 MPP 功能,DorisDB 和 Doris 分别配置并行度为 (set parallel_fragment_exec_instance_num = 8;)。从该基准测试结果看,TiDB TiFlash、DorisDB、Doris、Greenplum、Spark+parquet 5 款产品 TiDB 和 DorisDB 性能表现最佳,整体上 DorisDB 相对优越点,TiDB 5.0 在 OLAP 场景下性能有显著提升。


四、SSB 基准压测


SSB(Star Schema Benchmark)是麻省州立大学波士顿校区的研究人员定义的基于现实商业应用的数据模型,业界公认用来模拟决策支持类应用,比较公正和中立。


数据规模:数据文件 100G,数据条数如下:



表的信息:1 张大宽表:lineorder_flat;1 张事实表:lineorder4 张维度表:customer,part,dates,supplier


数据查询:2 类查询场景(单表和多表 join)每类场景下有 13 条标准 SQL 查询测试语句:统计查询、多表关联、sum、复杂条件、group by、order by 等组合方式


单表聚合计算压测结果:



备注: DorisDB 和 Doris 分别配置并行度为 (set parallel_fragment_exec_instance_num = 8;)


在该压测场景中对 lineorder_flat 宽表按照 LO_ORDERDATE 字段进行范围分区比不分区性能要好,由于 TiFlash MPP 功能暂时不支持分区表,所以本次压测 TiFlash MPP 能力未生效。在 Q1 的 3 个聚合查询表现还可以,但在后面的 Q2-Q4 宽表聚合查询场景下 TiFlash 的能力还有很大的提升空间。


如下是宽表的表结构:


CREATE TABLE lineorder_flat (


LO_ORDERKEY int(11) NOT NULL,


LO_ORDERDATE date NOT NULL,


LO_LINENUMBER tinyint(4) NOT NULL,


LO_CUSTKEY int(11) NOT NULL,


LO_PARTKEY int(11) NOT NULL,


LO_SUPPKEY int(11) NOT NULL,


LO_ORDERPRIORITY varchar(100) NOT NULL,


LO_SHIPPRIORITY tinyint(4) NOT NULL,


LO_QUANTITY tinyint(4) NOT NULL,


LO_EXTENDEDPRICE int(11) NOT NULL,


LO_ORDTOTALPRICE int(11) NOT NULL,


LO_DISCOUNT tinyint(4) NOT NULL,


LO_REVENUE int(11) NOT NULL,


LO_SUPPLYCOST int(11) NOT NULL,


LO_TAX tinyint(4) NOT NULL,


LO_COMMITDATE date NOT NULL,


LO_SHIPMODE varchar(100) NOT NULL,


C_NAME varchar(100) NOT NULL,


C_ADDRESS varchar(100) NOT NULL,


C_CITY varchar(100) NOT NULL,


C_NATION varchar(100) NOT NULL,


C_REGION varchar(100) NOT NULL,


C_PHONE varchar(100) NOT NULL,


C_MKTSEGMENT varchar(100) NOT NULL,


S_NAME varchar(100) NOT NULL,


S_ADDRESS varchar(100) NOT NULL,


S_CITY varchar(100) NOT NULL,


S_NATION varchar(100) NOT NULL,


S_REGION varchar(100) NOT NULL,


S_PHONE varchar(100) NOT NULL,


P_NAME varchar(100) NOT NULL,


P_MFGR varchar(100) NOT NULL,


P_CATEGORY varchar(100) NOT NULL,


P_BRAND varchar(100) NOT NULL,


P_COLOR varchar(100) NOT NULL,


P_TYPE varchar(100) NOT NULL,


P_SIZE tinyint(4) NOT NULL,


P_CONTAINER varchar(100) NOT NULL


) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin


PARTITION BY RANGE ( YEAR(LO_ORDERDATE) ) (


PARTITION p0 VALUES LESS THAN (1991),


PARTITION p1 VALUES LESS THAN (1992),


PARTITION p2 VALUES LESS THAN (1993),


PARTITION p3 VALUES LESS THAN (1994),


PARTITION p4 VALUES LESS THAN (1995),


PARTITION p5 VALUES LESS THAN (1996),


PARTITION p6 VALUES LESS THAN (1997),


PARTITION p7 VALUES LESS THAN (1998),


PARTITION p8 VALUES LESS THAN (1999),


PARTITION p9 VALUES LESS THAN (MAXVALUE)


)


多表关联聚合计算压测结果:



备注:TiFlash 开启 MPP 功能,DorisDB 和 Doris 分别配置并行度为 (set parallel_fragment_exec_instance_num = 8;)


在该压测场景中 TiFlash 的性能优于 Apache Doris;而 DorisDB 性能表现最佳。


五、总结


本次测试从架构角度出发不对产品好坏进行评价,目前没有大一统的数据库,每款主流的数据库都有其存在的理由和价值,根据场景选择适合或者适度超前的技术架构解决企业的痛点才是王道。最后引起玄姐的话:“一切脱离场景谈架构都是耍流氓”


发布于: 刚刚阅读数: 2
用户头像

TiDB 社区官网:https://tidb.net/ 2021.12.15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
TiDB 5.0 在TPCH和SSB基准测试下OLAP方面的能力表现_版本测评_TiDB 社区干货传送门_InfoQ写作社区