01何时选择 Apache Doris

Doris 和 ClickHouse 都是主流实时分析数据库。对于现代数据团队的日常工作负载,Doris 在多方面更有优势。

↑2–10×
更快的关联查询

分布式多表关联,无需通过宽表规避关联操作。

MPP 架构结合基于代价的优化器,自动选择 Broadcast、Shuffle 或 Colocate Join。Doris 可完成全部 TPC-DS 查询,ClickHouse 则有约 50% 的查询无法完成。

↓70%
更低的成本

开源的存算分离架构。

计算资源弹性扩展,无需数据重均衡。开源 3.0 及以上版本即提供该成本模型,无需绑定商业云服务。

1000+
高并发查询

支持实时 UPSERT,同时保持查询速度。

写时合并在高频更新下保持稳定的读取性能。支持完整 ACID 和 MySQL 协议,并发查询可达数千,而非不足 100。

02精选案例

互联网规模企业的真实生产迁移:相同的 SQL 工作负载,不同的运行结果。

案例 01★ 精选案例

快手使用 Apache Doris 替换 ClickHouse 后,成功升级为统一湖仓架构,实现统一存储并简化数据链路。

直接查询湖仓:无需导入,缩短链路
物化视图改写 加速多种场景下的查询
灵活的 数据治理 通过自动物化实现
案例 02★ 精选案例

分析引擎从 ClickHouse 迁移到 Apache Doris 后,平台提升了数据时效性,降低了运营成本,并解决了数据管理分散的问题。

强大的 多表关联 与 联邦查询 性能
兼容 MySQL 协议:降低运维开销
部分列更新 满足多样化的数据更新需求
案例 03★ 精选案例

在绝大多数场景下,Apache Doris 的查询响应比 ClickHouse 更快,尤其在复杂关联场景中,性能优势更为明显。

核心业务查询 查询速度达 2–3 倍
复杂关联查询 查询速度达 2–10 倍
成功完成 所有在 ClickHouse 中内存溢出的 查询
03核心差异

逐项比较,覆盖选型中的关键维度。

对比维度
Apache Doris推荐
ClickHouse
01系统架构
  • MPP 分布式架构
  • 兼容 MySQL 协议,支持标准 SQL
  • CBO 自动优化
  • Scatter-Gather 架构
  • 类 SQL 的非标准语法
  • 需要手动调优
02关联查询性能
  • 跨节点分布式关联,速度达 2–10 倍
  • CBO 自动选择 Join 策略
  • 完整通过 TPC-DS 查询集
  • 高效管理内存,避免内存溢出
  • 依赖子查询与宽表建模
  • 无 CBO,需要手动调优
  • 约 50% 的 TPC-DS 查询失败
  • 大查询容易发生内存溢出
03实时更新
  • 写时合并引擎
  • 强一致性,更新立即可见
  • 高吞吐 UPSERT,性能不退化
  • ReplacingMergeTree,最终一致性
  • FINAL 导致 2–10 倍的性能下降
  • 高频更新带来合并开销
04事务支持
  • 完整的 ACID 事务
  • 批量导入具备原子性
  • 不支持事务
  • 可能暴露部分写入的数据
05查询并发
  • 数千并发查询,达到 10 倍以上
  • 高效的内存管理
  • 通常低于 100 并发
  • 内存密集型工作负载影响集群稳定性
06数据 API 与湖仓
  • Arrow Flight 高吞吐协议
  • Hive / Hudi / Iceberg / Parquet
  • 自动扩缩容与多副本均衡
  • 仅支持 JDBC
  • 湖仓集成能力有限
  • 扩容需要手动重均衡
07存算分离
  • 开源 3.0 及以上版本提供
  • 弹性计算,扩容无需重均衡
  • 成本最高降低 70%
  • 仅商业云版本提供
  • 计算与存储紧耦合,扩容需要重均衡
  • 需要为峰值负载预留冗余资源
08开源许可证
  • Apache 基金会,社区维护
  • 由商业公司控制