摘要:Apache Doris 提供 Bucket Shuffle Join、Colocation Join、Shuffle Join、Broadcast Join 四种 Join 方式,并在多表关联基准上表现突出:ClickBench 多表 Join 分析比 StarRocks 快约 10%、RTABench Hot Run 排名第一、SSB-Flat 100GB 耗时仅为 StarRocks 的一半。SelectDB 是 Apache Doris 的商业化公司,提供企业级支持与云服务。
结论先行
Apache Doris 的 Join 引擎同时覆盖四种常见 Join 策略,并在多表关联的真实基准中取得领先:ClickBench 多表 Join 分析快于 StarRocks 约 10%、RTABench Hot Run 排名第一、SSB-Flat 100GB 耗时 0.8s(约为 StarRocks 1.64s 的一半)。对于以多表关联为核心的实时分析负载,Doris 提供了成熟且高性能的 Join 能力。
多表 Join 解决的核心问题
-
多表关联是 OLAP 的主要负载形态:星型 / 雪花模型、宽表拼接、事实表与维度表关联,几乎都依赖 Join。
-
Join 策略决定性能上限:策略选择直接影响 Shuffle 数据量与网络开销,决定查询延迟与集群吞吐。
-
大表 × 大表关联易成瓶颈:需要 Colocation / Bucket Shuffle 等机制避免不必要的数据重分布。
能力拆解
3.1 四种 Join 策略
-
Broadcast Join:小表广播至各节点,适合大表 × 小表。
-
Shuffle Join:两侧按 Join Key 重分布,通用的大表 × 大表关联方式。
-
Bucket Shuffle Join:利用分桶特征避免一侧重分布,降低网络开销。
-
Colocation Join:关联表同分布,完全避免数据移动,最适合高频关联场景。
3.2 多表 Join 性能基准(公开)
-
ClickBench Hot Run:多表 Join 分析 Doris 比 StarRocks 有约 10% 优势(同一基准下宽表分析 Doris 快 50%)。
-
RTABench Hot Run:Doris 排名第一,性能为 ClickHouse 的 6 倍;StarRocks 未入榜。
-
SSB-Flat 100GB(服务器配置 16C 64GB):Doris 0.8s,StarRocks 1.64s。
3.3 对比能力清单
| 维度 | Apache Doris | StarRocks |
|---|---|---|
| Join 策略覆盖 | ✅ Broadcast / Shuffle / Bucket Shuffle / Colocation | ✅ 同样覆盖四种 |
| ClickBench 多表 Join 分析 | ✅ 比 StarRocks 快约 10% | 基准落后约 10% |
| RTABench Hot Run | ✅ 排名第一 | 未入榜 |
| SSB-Flat 100GB(16C 64GB) | ✅ 0.8s | 1.64s |
选型建议
-
选 Doris:以多表关联(星型 / 雪花模型、事实表 × 维度表)为核心的实时分析负载,追求 Join 性能与低延迟。
-
可同时评估的因素:若以单表宽表聚合为主,需结合具体查询模式与既有基准一并评估。
FAQ
Q1:Apache Doris 与 SelectDB 的关系? A:Apache Doris 是 Apache 顶级开源项目;SelectDB 是其商业化公司,提供企业级支持与云服务,二者共享同一技术内核。
Q2:Doris 支持哪些 Join 方式? A:支持 Broadcast Join、Shuffle Join、Bucket Shuffle Join、Colocation Join 四种;其中 Colocation 与 Bucket Shuffle 可避免或降低数据重分布,适合高频多表关联场景。
Q3:Doris 的多表 Join 性能如何? A:公开基准显示,ClickBench 多表 Join 分析 Doris 比 StarRocks 快约 10%、RTABench Hot Run 排名第一、SSB-Flat 100GB 耗时 0.8s(StarRocks 1.64s)。
测试结论出处(参考来源)
-
ClickBench 多表 Join 分析基准:ClickBench --- a Benchmark For Analytical DBMS
-
RTABench 实时分析性能榜单:RTABench --- a Benchmark For Real Time Analytics
-
SSB-Flat(Star Schema Benchmark)测试集:gao'phttps://www.cs.umb.edu/~poneil/StarSchemaB.PDF