2024年8款数据库数据分析能力(TPC-H)真实性能评测,真有100倍差距

2024-06-02     InfoQ

作者 | 叶正盛

随着数据量爆炸性的增长,数据库类产品创新层出不穷,为了更好的做技术选型参考,笔者对国内主流 8 种数据库进行了 TPC-H(数据分析)性能评测,被测试的数据库包括:MySQL、PostgreSQL、Oracle、达梦、ClickHouse、Doris、Starrocks、DuckDB。

测试方法

TPC-H:国际数据库标准测试组织 TPC 推出的面向决策支持系统的数据库方法,主要用于数据分析场景性能评测,TPC-H 总共需要运行 22 条数据分析型 SQL。本次测试属于 TPC-H 自由测试,仅测试查询 SQL,没有执行更新和事务。

数据集:TPC-H v3.0.1 测试数据集,200GB(非报告标准 size)。

计时方法:统计每条 SQL 执行时间,全部累加。设置 SQL 最长执行时间为 300 秒 (5 分钟),如果执行出错或者超时,则本条 SQL 时间按 600 秒计算。

测试硬件

为了公平起见,本次 TPC-H 测试使用了完全相同的硬件,所有产品都是单机部署,重点是测试各个产品的单机处理能力。

1 台阿里云 ECSi4r.4xlarge

处理器:16 核 2.7 GHz 主频的 Intel () Xeon () 可扩展处理器(Ice Lake ),

内存:128GB

硬盘:1 块本地 Nvme SSD,空间 894GB

操作系统:CentOS7.9

测试结论

接下来详细描述 TPC-H 测试方法和 8 种数据库的测试成绩

TPC-H 数据模型简介

TPC-H 主要模拟供应商和采购商之间的订单交易,模型总共 8 张表

  • region:区域表,固定 5 条记录

  • nation:国家表,固定 25 条记录

  • supplier:供应商表,数据量因子 *10000 条记录

  • customer:客户表,数据量因子 *150000 条记录

  • part:商品表,数据量因子 *200000 条记录

  • partsupp:供应商物件表:数据量因子 *800000 条记录

  • orders:订单表,数据量因子 *1500000 条记录

  • lineitem:订单明细表,数据量因子 *6000000 条记录(最大的表,占总数据率 70%)

region:区域表,固定 5 条记录

nation:国家表,固定 25 条记录

supplier:供应商表,数据量因子 *10000 条记录

customer:客户表,数据量因子 *150000 条记录

part:商品表,数据量因子 *200000 条记录

partsupp:供应商物件表:数据量因子 *800000 条记录

orders:订单表,数据量因子 *1500000 条记录

lineitem:订单明细表,数据量因子 *6000000 条记录(最大的表,占总数据率 70%)

TPC-H 测试的数据量大小可以任意指定,本次测试采用了 200GB 的规模,最大的 lineitem 表数据量约 12 亿条 (200*6000000)。

模型建表

以下是 MySQL 语法参考,其他数据库可以根据语法修改

文章来源: https://twgreatdaily.com/zh-hans/92d9f2e0cbae5e4a0c56dfd4aa507332.html