LabHub

博客

OLAP 引擎 2025 对比指南:DuckDB、ClickHouse、Snowflake、StarRocks、Pinot、Druid、Trino,基准测试的陷阱,引擎布局(2025)

한국어English日本語中文

Season 5 Ep 3 — 如果说 Ep 1 是存储、Ep 2 是流动,那么 Ep 3 就是查询。“一个引擎包办一切”的时代已经结束,引擎布局(Engine placement)成为新的设计领域。

Prologue — “引擎是工具,问题在工作负载”

2015–2020 年的 OLAP 争论是“哪个引擎最快”。2025 年不一样了:

本文梳理 2025 年主要 OLAP 引擎的现实优缺点与布局策略。


第1章 · OLAP 引擎分类

1.1 四个维度

1.2 主要引擎分类

引擎部署主要工作负载模式
DuckDB单节点Ad-hoc, Embedded开源
ClickHouse分布式Real-time, Log开源 + Cloud
Snowflake无服务器BI, ELTSaaS
BigQuery无服务器BI, ELTSaaS
Databricks SQL分布式BI + ML托管
Redshift分布式BI托管
StarRocks分布式Real-time BI开源 + SaaS
Apache Doris分布式Real-time BI开源
Apache Pinot分布式超低延迟开源
Apache Druid分布式时序、流开源
Trino/Presto分布式联邦查询开源

第2章 · DuckDB — “单节点 OLAP 的革命”

2.1 身份

2.2 强项

2.3 2024–2025 的势头

2.4 限制

2.5 使用场景


第3章 · ClickHouse — “实时 OLAP 之王”

3.1 身份

3.2 强项

3.3 2024–2025 动向

3.4 限制

3.5 使用场景


第4章 · Snowflake、BigQuery — “托管巨头”

4.1 Snowflake

4.2 BigQuery

4.3 强项

4.4 限制

4.5 2025 年的策略


第5章 · StarRocks、Doris — “MPP 实时 BI”

5.1 共同点

5.2 StarRocks

5.3 Apache Doris

5.4 强项

5.5 使用场景


第6章 · Apache Pinot、Druid — “超低延迟 OLAP”

6.1 Apache Pinot

6.2 Apache Druid

6.3 使用场景

6.4 运维难度

6.5 与 ClickHouse、StarRocks 的差异


第7章 · Trino、Presto — “联邦查询(Federated Query)”

7.1 身份

7.2 强项

7.3 Starburst

7.4 限制

7.5 Presto vs Trino


第8章 · Databricks SQL、Redshift

8.1 Databricks SQL

8.2 Redshift

8.3 使用场景

8.4 2025 策略


第9章 · 基准测试的陷阱

9.1 TPC-H、TPC-DS

9.2 ClickBench

9.3 StarSchema、JOB

9.4 实战评估流程

  1. 采样自有数据(10–100GB)
  2. 挑出 5–15 条常用查询
  3. 模拟 10–100 的并发
  4. 计算性能与成本之比
  5. 评估运维复杂度(基础设施、监控、on-call)

9.5 “性价比”才是真正的指标


第10章 · 引擎布局(Engine Placement)模式

10.1 “一个引擎”反模式

10.2 “2–4 个引擎”的现实模式

模式 A:Startup(小规模)

模式 B:SaaS(以实时仪表盘为中心)

模式 C:Enterprise(大企业)

模式 D:高性能面向用户

10.3 数据共享


第11章 · 韩国企业选型指南

11.1 现状

11.2 韩国的特殊性

11.3 实务推荐矩阵

场景首选辅助
全公司 BI(大企业)Snowflake/BigQueryDuckDB、Trino
实时日志与 APMClickHouseDruid/Pinot
面向用户的仪表盘Pinot/StarTreeClickHouse
ML + BI 整合Databricks SQLSnowflake
Lakehouse 联邦TrinoDuckDB
初创公司的第一个 DWBigQuery/SnowflakeDuckDB
本地部署与金融StarRocks/DorisClickHouse

第12章 · 性能调优的通用原则

12.1 模式设计

12.2 分区与排序

12.3 索引与投影(Projection)

12.4 缓存

12.5 Materialized view


第13章 · 十大反模式

13.1 “用一个引擎搞定一切”

注定失败。按工作负载拆分。

13.2 只看基准测试就做选择

必须用自有数据与查询重新评估。

13.3 没有生产负载就批准 PoC

并发与 SLA 测试不足。

13.4 无视星型模型

Denormalization 过度 → 维护变成噩梦。

13.5 分区过度

数万个小文件 → 规划地狱。

13.6 缺乏对 Materialized view 的管理

它们逐渐过时,只剩成本在堆积。

13.7 没有 on-call 准备就自托管

ClickHouse、Trino、Druid 的 on-call 负担很大。

13.8 无视锁定全面押注 SaaS

数据主权 + 成本风险。

13.9 不做查询调优只做扩容

成本增加而问题没有根本解决。

13.10 缺少用户配额与护栏

会导致“一个人搞垮整体可用性”。


第14章 · 检查清单 — 引入 OLAP 引擎前的 12 项


第15章 · 下一篇预告 — Season 5 Ep 4:“dbt、SQLMesh、Dagster、Airflow、Prefect”

如果说引擎查询数据,那么编排器治理流水线。Ep 4 讲的是数据转换与编排的工具生态。

数据流水线的 CI/CD”才是 2025 年数据工程真正的前线。

下一篇文章再见。


总结:2025 年的 OLAP 已经摆脱“用一个引擎搞定一切”的幻想,进入按工作负载布局引擎的时代。DuckDB 承担单节点与开发、CI,ClickHouse 承担实时分析,Snowflake、BigQuery、Databricks SQL 承担托管 BI,StarRocks、Doris 承担实时 BI + Lakehouse,Pinot、Druid 承担超低延迟的面向用户场景,Trino 承担联邦查询。基准测试只是起点,评估自有工作负载才是必需,而 2–4 个引擎的布局是现实中的主导模式。韩国企业要结合网络隔离、韩语 BI 工具、游戏与金融的特殊性来设计自己的引擎组合。“引擎布局是数据平台设计的核心”正是 2025 年的教训。

评论

还没有评论。

登录后即可发表评论