版本:Latest-3.4
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 硬件环境
| 机器 | 4 台阿里云主机 |
|---|---|
| CPU | 16core Intel(R) Xeon(R) Platinum 8269CY CPU @ 2.50GHz |
| 内存 | 64 GB |
| 网络带宽 | 5 Gbits/s |
| 磁盘 | ESSD 云盘 |
2.2 软件环境
StarRocks 和 Trino 部署在相同配置的机器上进行测试,StarRocks 部署 1 个 FE 和 3 个 BE,Trino 部署 1 个 Coordinator 和 3 个 Worker。
-
内核版本: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 |
4. 测试流程
4.1 StarRocks 本地表测试流程
4.1.1 生成数据
下载 tpch-poc 工具包生成 TPC-H 标准测试集 scale factor=100 的数据。
wget https://starrocks-public.oss-cn-zhangjiakou.aliyuncs.com/tpch-poc-1.0.zip
unzip tpch-poc-1.0
cd tpch-poc-1.0
sh bin/gen_data/gen-tpch.sh 100 data_100
4.1.2 创建表结构
修改配置文件 conf/starrocks.conf,指定脚本操作的集群地址,重点关注 mysql_host 和 mysql_port,然后执行建表操作。
sh bin/create_db_table.sh ddl_100
4.1.3 导入数据
sh bin/stream_load.sh data_100
4.1.4 查询数据
sh bin/benchmark.sh
4.2 StarRocks Hive 外表测试流程
4.2.1 创建表结构
在 Hive 中创建外部表,外部表存储格式是 ORC,压缩格式是 zlib,详细建表语句见

最低0.47元/天 解锁文章
963

被折叠的 条评论
为什么被折叠?



