TPC-H 基准测试
TPC-H 是美国交易处理效能委员会 TPC(Transaction Processing Performance Council)组织制定的用来模拟决策支持类应用的测试集。它包括一整套面向业务的 ad-hoc 查询和并发数据修改。
TPC-H 根据真实的生产运行环境来建模,模拟了一套销售系统的数据仓库。该测试共包含 8 张表,数据量可设定从 1 GB~3 TB不等。其基准测试共包含了 22 个查询,主要评价指标为各个查询的响应时间,即从提交查询到结果返回所需时间。
1. 测试结论
在 TPC-H 100G 规模的数据集上进行对比测试,共 22 个查询,结果如下:
StarRocks 测试了使用本地存储查询和 Hive 外表查询两种方式,其中 StarRocks Hive 外表和 Trino 查询的是同一份数据,数据采用 ORC 格式存储,zlib 格式压缩。
最终,StarRocks 本地存储查询总耗时为 17s,StarRocks Hive 外表查询总耗时为 92s,Trino 查询总耗时为187s。
2. 测试准备
2.1 硬件环境与成本
机器 | 3台 阿里云主机 |
---|---|
CPU | 16core Intel(R) Xeon(R) Platinum 8269CY CPU @ 2.50GHz |
内存 | 64 GB |
网络带宽 | 5 Gbits/s |
磁盘 | ESSD 云盘 |
2.2 软件环境
-
内核版本:Linux 3.10.0-1127.13.1.el7.x86_64
-
操作系统版本:CentOS Linux release 7.8.2003
-
软件版本:StarRocks 社区版 3.0,Trino-419,Hive-2.3.9
3 测试数据与结果
3.1 测试数据
表 | 行数 |
---|---|
customer | 1500万 |
lineitem | 6亿 |
nation | 25 |
orders | 1.5亿 |
part | 2000万 |
partsupp | 8000万 |
region | 5 |
supplier | 100万 |
3.2 测试结果
查询结果的单位是 ms。
Query | StarRocks-native-3.0 | StarRocks-3.0-Hive external | Trino-419 |
---|---|---|---|
Q1 | 1540 | 5660 | 8811 |
Q2 | 100 | 1593 | 3009 |
Q3 | 700 | 5286 | 7891 |
Q4 | 423 | 2110 | 5760 |
Q5 | 1180 | 4453 | 9181 |
Q6 | 56 | 2806 | 4029 |
Q7 | 903 | 4910 | 7158 |
Q8 | 546 | 4766 | 8014 |
Q9 | 2553 | 8010 | 18460 |
Q10 | 776 | 8190 | 9997 |
Q11 | 206 | 920 | 2088 |
Q12 | 166 | 2916 | 4852 |
Q13 | 1663 | 3420 | 7203 |
Q14 | 146 | 3286 | 4995 |
Q15 | 123 | 4173 | 9688 |
Q16 | 353 | 1126 | 2545 |
Q17 | 296 | 3426 | 18970 |
Q18 | 2713 | 7960 | 21763 |
Q19 | 246 | 4406 | 6586 |
Q20 | 176 | 3280 | 6632 |
Q21 | 1410 | 7933 | 16873 |
Q22 | 350 | 1190 | 2788 |
SUM | 16625 | 91820 | 187293 |