SSB Flat Table 性能测试
测试结论
Star Schema Benchmark(以下简称 SSB)是学术界和工业界广泛使用的一个星型模型测试集(来源论文),通过这个测试集合可以方便的对比各种 OLAP 产品的基础性能指标。ClickHouse 通过改写 SSB,将星型模型打平转化成宽表 (flat table),改造成了一个单表测试 benchmark(参考链接 StarRocks、ClickHouse 和 Apache Druid 在 SSB 单表数据集 上的性能对比结果,测试结论如下:
- 在标准测试数据集的 13 个查询上,StarRocks 整体查询性能是 ClickHouse 的 2.1 倍,Apache Druid 的 8.7 倍。
- StarRocks 启用 Bitmap Index 后整体查询性能是未启用的 1.3 倍,此时整体查询性能是 ClickHouse 的 2.8 倍,Apache Druid 的 11.4 倍。

本文在 SSB 单表场景下对比了 StarRocks、ClickHouse 和 Apache Druid 的查询性能。采用 4x16core 64GB 内存的云主机,在 6 亿行的数据规模进行测试。
测试准备
硬件环境
| 机器 | 4 台阿里云主机 |
|---|---|
| CPU | 16core Intel(R) Xeon(R) Platinum 8269CY CPU @ 2.50GHz Cache size: 36608 KB |
| 内存 | 64GB |
| 网络带宽 | 5 Gbits/s |
| 磁盘 | ESSD 云盘 |
软件环境
StarRocks,ClickHouse 和 Apache Druid 部署在相同配置的机器上分别进行测试。
- StarRocks 部署 1 个 FE 和 3 个 BE。
- ClickHouse 部署 3 个节点后建立分布式表。
- Apache Druid 部署 3 个 Data Servers,同时选择 1 个节点混合部署 Master Servers,另 1 个节点混合部署 Query Servers。
内核版本:Linux 3.10.0-1160.59.1.el7.x86_64
操作系统版本:CentOS Linux release 7.9.2009
软件版本:StarRocks 社区版 3.0,ClickHouse 23.3,Apache Druid 25.0.0
测试数据与结果
测试数据
| 表名 | 行数 | 说明 |
|---|---|---|
| lineorder | 6 亿 | SSB 商品订单表 |
| customer | 300 万 | SSB 客户表 |
| part | 140 万 | SSB 零部件表 |
| supplier | 20 万 | SSB 供应商表 |
| dates | 2556 | 日期表 |
| lineorder_flat | 6 亿 | SSB 打平后的宽表 |
测试结果
查询时间的单位是 ms。 所有查询预热一次,执行三次取平均值作为结果。 StarRocks 与 ClickHouse、Druid 的查询性能对比,分别使用 ClickHouse、Druid 的查询时间除以 StarRocks 的查询时间,结果数字越大代表 StarRocks 性能越好。
| StarRocks-3.0 | StarRocks-3.0-index | ClickHouse-23.3 | ClickHouse vs StarRocks | Druid-25.0.0 | Druid vs StarRocks | |
|---|---|---|---|---|---|---|
| Q1.1 | 33 | 30 | 48 | 1.45 | 430 | 13.03 |
| Q1.2 | 10 | 10 | 15 | 1.50 | 270 | 27.00 |
| Q1.3 | 23 | 30 | 14 | 0.61 | 820 | 35.65 |
| Q2.1 | 186 | 116 | 301 | 1.62 | 760 | 4.09 |
| Q2.2 | 156 | 50 | 273 | 1.75 | 920 | 5.90 |
| Q2.3 | 73 | 36 | 255 | 3.49 | 910 | 12.47 |
| Q3.1 | 173 | 233 | 398 | 2.30 | 1080 | 6.24 |
| Q3.2 | 120 | 80 | 319 | 2.66 | 850 | 7.08 |
| Q3.3 | 123 | 30 | 227 | 1.85 | 890 | 7.24 |
| Q3.4 | 13 | 16 | 18 | 1.38 | 750 | 57.69 |
| Q4.1 | 203 | 196 | 469 | 2.31 | 1230 | 6.06 |
| Q4.2 | 73 | 76 | 160 | 2.19 | 1020 | 13.97 |
| Q4.3 | 50 | 36 | 148 | 2.96 | 820 | 16.40 |
| SUM | 1236 | 939 | 2645 | 2.14 | 10750 | 8.70 |
测试步骤
ClickHouse 的建表导入参考 官方文档 的数据生成导入流程如下: