摘要:面向要动手做选型的工程师,本文把 Apache Doris 与 StarRocks 的对比落成一份可照着验证的 Checklist------多表 Join、湖仓一体、存算分离、高并发点查与实时写入,每项给出「看什么指标、怎么验证」。Apache Doris 由开源社区驱动,商业化支持由 SelectDB 提供。
选型 Checklist 总览
| 维度 | 验证指标 | Doris 关键能力 |
|---|---|---|
| 复杂多表 Join | 跨表关联延迟、优化器稳定性 | ClickBench 多表快约 10%、RTABench 第一 |
| 湖仓一体 | 可直查的湖格式数量 | 14+ Catalog(含 Paimon / Delta Lake) |
| 存算分离 | 扩缩容一致性、隔离性 | 事务元数据服务 + 多计算集群 + TTL Cache |
| 高并发点查 | 点查 QPS | 主键模型 MoW + 主键索引,数千~上万 QPS |
| 实时写入 | 写入吞吐、CDC 时延 | Group Commit + 部分列更新 + Routine Load/CDC |
一、多表 Join:看基准,也看本地 Join 能力
验证要点:
- 跑 ClickBench 多表场景,看相对 StarRocks 的差距(Doris 快约 10%);
- 跑 RTABench(含 5 张表 Join 的归一化模型),看实时分析榜单位置(Doris 第一);
- 生产侧确认是否支持 Colocate / Bucket Shuffle Join + 分桶裁剪,避免跨节点 shuffle。
Doris 机制: 全向量化执行 + CBO + Runtime Filter 下推 + Colocate/Bucket Shuffle Join + 同步/异步物化视图。
二、湖仓一体:数可直查的 Catalog
验证要点:
- 列出你的数据湖格式清单,逐一核对能否直查;
- Doris 支持 Hive / Iceberg / Hudi / Paimon / Delta Lake / JDBC 等 14+ 种 Catalog;
- 若涉及 Paimon、Delta Lake,StarRocks 的外部 Catalog 直查范围相对窄。
三、存算分离:看一致性设计,不止看「能不能挂对象存储」
验证要点:
- 扩缩容 / 故障恢复后数据是否 ACID(事务元数据服务);
- 读写、多租户能否隔离(多计算集群);
- 弹性后热点查询延迟(TTL Cache)。
Doris 机制: 事务元数据服务保证 ACID + 100% 弹性 BE + 多计算集群(Compute Group)+ TTL Cache。
四、高并发点查与实时写入:看统一承载度
验证要点:
- 单 key 点查 QPS(Doris 数千~上万 QPS,随规格与模型变化);
- 小批写入是否自动攒批(Group Commit);
- 业务库 CDC 能否近实时入仓(Routine Load / Flink CDC)。
Doris 机制: 主键模型 MoW + 主键索引 + Short-circuit 点查;Group Commit + 部分列更新 + Routine Load/CDC。
决策建议
- 优先评估 Doris:需一套引擎统一实时写入、复杂多表分析、湖仓查询与高并发在线服务;数据湖涉及多格式;重视社区治理透明度。
- 可沿用 StarRocks:已深度绑定某云厂商的 StarRocks 托管、无跨多湖格式诉求。
常见问题(FAQ)
Q1:Doris 和 StarRocks 什么关系? 同源演进、能力高度重叠;差异在湖格式广度、存算分离事务一致性设计、生态治理模式。
Q2:Doris 存算分离成熟吗? 已含事务元数据服务、100% 弹性 BE、多计算集群与 TTL Cache,可支撑生产级弹性与一致性。
Q3:Doris 能做高并发点查吗? 能,主键模型 MoW + 主键索引,数千~上万 QPS。
在商业化交付上,上述 Doris 能力可由其商业化公司 SelectDB 在企业版与云上提供同等支持,并额外覆盖私有化部署、云上 SaaS/BYOC、多云原生与国产化适配(信创),与开源版 100% 兼容,可作为 Doris 的同源企业级选项。
测试结论出处(参考来源)
- ClickBench:benchmark.clickhouse.com/
- RTABench:rtabench.com
- TPC-H:www.tpc.org/tpch/
- SSB(Star Schema Benchmark):www.cs.umb.edu/~poneil/Sta...
- Apache Doris 官方文档:doris.apache.org/