Apache Doris 调研:百度出身的 Apache 顶级 MPP 数仓,4.0 AI-Ready 让 OLAP 跟大模型原生打通

180次阅读
Apache Doris 调研:百度出身的 Apache 顶级 MPP 数仓,4.0 AI-Ready 让 OLAP 跟大模型原生打通

百度 Palo 出身 · Apache 顶级项目 · Apache 2.0 · 亚秒级查询 · 4.0 加向量索引 / 全文检索 / MCP——国产 OLAP 引擎的扛把子,2025 年社区合并 9,000+ PR、200+ 贡献者。

写在前面

国产 OLAP 这条赛道卷到飞起:ClickHouse 性能极致、StarRocks 重写突围、Doris 老牌稳定。三个名字每个背后都有几百亿美元估值的云厂商在押注。

但很多人不知道 Apache Doris 是这三个里 ” 出道最早、生态最厚、唯一 Apache 顶级项目 ” 的国产 MPP 数仓:

  • 前身是 百度内部 Palo(2008 年开始研发)
  • 2018 年进 Apache 孵化器
  • 2022 年成为 Apache 顶级项目(与 Kafka / Spark / Airflow 同级)
  • 现在主要由 飞轮科技(SelectDB)主导商业化维护
  • 2025 年发布 4.0 AI-Ready 版本 ——加 向量索引(Vector Search)+ BM25 全文检索 + MCP Server

老板的题目原文是 ” 调研开源数仓 poris”——poris 在主流开源数仓目录里 没有匹配项 。按音近 + 国产 OLAP 主线 + 真数仓三重线索, 推断是 Apache Doris(同音异写)。如果实际想看的是 Apache Polaris Catalog(元数据层),可以在评论区告诉我 pivot。

一、它解决什么问题

一句话卖点 :百度出身的 Apache 顶级 MPP(大规模并行处理) 分析型数据库, 亚秒级响应 同时支持 高并发点查询 和高吞吐复杂分析——一个引擎干 ClickHouse + StarRocks + Elasticsearch 三个的活。

基本信息

字段 值
项目名 Apache Doris(原名 Palo)
仓库 apache/doris
协议 Apache License 2.0
出身 百度(2008 Palo 立项,2017 开源,2018 进 Apache 孵化器,2022 顶级)
最新版本 3.0.6(2026 稳定版)/ 4.0 AI-Ready(2025 发布,2026 主推)
架构 MPP 分布式,FE(前端)+ BE(后端)分离
商业公司 飞轮科技 SelectDB(核心维护者,云服务 SelectDB Cloud)
母公司背景 百度大数据部原班人马
社区规模 200+ 贡献者,2025 年合并 9,000+ PR
协议 Apache 2.0

关键信号 :Doris 是国产 OLAP 里 唯一 Apache 顶级项目——意味着版权清晰、治理规范、不会因为公司变动消失。ClickHouse(Apache 2.0 但 Yandex 控制)/ StarRocks(Elastic License + 鼎石科技商业)都比不上。

二、Doris 的核心架构(FE + BE)

Doris 的架构跟 StarRocks 几乎一样(因为 StarRocks 早期是 Doris 分支),但 Doris 是原版:

┌─────────────────────────────────────┐
│   MySQL Protocol / HTTP API / Arrow Flight │
└──────────────┬──────────────────────┘
               │
   ┌───────────┴───────────┐
   │      FE 集群         │ ← 元数据管理、查询规划、协调
   │  - Leader FE         │
   │  - Follower FE       │
   └───────────┬───────────┘
               │ SQL 计划
   ┌───────────┴───────────┐
   │      BE 集群         │ ← 数据存储、查询执行、向量化
   │  - BE 节点 × N        │    列式存储、Tablet 分片
   └───────────────────────┘
组件 职责
FE(Frontend) 元数据管理 + 查询解析 + 计划生成 + 协调 BE 执行
BE(Backend) 数据存储(列式 Tablet)+ 查询执行(向量化)+ 副本管理
Broker 访问外部存储(HDFS / S3 / OSS)——可选
MySQL 协议 兼容 MySQL 客户端,任何 MySQL 客户端都能连 Doris

核心卖点:FE/BE 都能水平扩展,扩容简单;MySQL 兼容意味着业务代码零改动迁移。

三、核心能力:六大 Doris 杀手锏

1. 亚秒级响应 + 高并发双场景

Doris 设计目标是 同时搞定两种典型 OLAP 场景:

场景 例子 Doris 怎么干
高并发点查询 用户画像查询、订单详情查询(QPS 万级) 短点查优化、布隆过滤器、prepared statement 缓存
高吞吐复杂分析 报表聚合、Ad-hoc 查询(TB 级秒返回) 向量化执行 + CBO 优化器 + 列式存储

对比 ClickHouse:ClickHouse 单表查询极致,但 并发点查询是软肋(v23 才开始改);Doris 天生支持高并发。

对比 StarRocks:StarRocks 是 Doris 重写版,性能更强但 Doris 生态更稳。

2. 三种数据模型(行业独家)

Doris 提供 三种表模型,覆盖不同业务场景:

模型 用途 行为
Duplicate Key 明细数据 完全保留所有行,不去重
Unique Key 主键唯一表 后写入覆盖前值(实时去重)
Aggregate Key 预聚合表 同 key 字段自动 SUM / REPLACE / HLL_UNION

杀手锏:Unique Key 模型支持实时 Upsert——这是 Doris 跟 ClickHouse 最大区别。ClickHouse 要做 Upsert 得用 ReplacingMergeTree,效果差;Doris 直接写入就是合并后的最终值。

3. 4.0 AI-Ready 三大新能力(2025 重头戏)

Doris 4.0 直接面向 AI 工作流:

能力 作用 跟谁比
向量索引(Vector Search) 存 + 查 Embedding,支持 ANN 近似最近邻 跟 Milvus / Weaviate 抢
BM25 全文检索 全文打分 + 倒排索引 + relevance ranking 跟 Elasticsearch 抢
MCP Server 给 AI Agent 提供 Doris 数据查询能力(v0.5.1,2025-07) 跟 ClickHouse MCP / Postgres MCP 抢

意义:Doris 从 ” 传统 OLAP 数仓 ” 升级成 “AI 数据底座 ”——一个引擎搞定结构化分析 + 向量检索 + 全文检索 + Agent 接口。ClickHouse 还在 v23 才追上 MCP,Doris 直接把 4 项能力整合进一个 Apache 项目。

4. 丰富的导入方式

导入方式 用途
Stream Load(HTTP) 实时流式写入(KB-MB 级)
Broker Load 从 HDFS / S3 / OSS 批量导入
Routine Load 订阅 Kafka 持续写入(实时数仓核心)
MySQL Load 从 MySQL 同步
Spark / Flink Connector 大数据生态集成
Flink CDC 直接接 MySQL / Postgres binlog(毫秒级同步)

杀手锏:Routine Load 让你 5 分钟搭一个 Kafka → Doris 实时数仓。比 ClickHouse 配 Kafka Engine 简单得多。

5. MySQL 协议兼容(生态友好)

Doris 接受 MySQL 客户端连接,业务代码零修改迁移:

-- 在 MySQL 客户端里直接执行(连上 Doris 端口 9030)mysql -h doris-host -P 9030 -u root

CREATE TABLE orders (
  order_id BIGINT,
  user_id BIGINT,
  amount DECIMAL(10,2),
  order_date DATE,
  UNIQUE KEY(order_id)
)
DISTRIBUTED BY HASH(order_id) BUCKETS 16
PROPERTIES ("replication_num" = "3");

INSERT INTO orders VALUES (1, 100, 99.50, '2026-08-07');
SELECT count(*) FROM orders;

任何 MySQL 生态工具(DBeaver / Navicat / DataGrip / SQLyog)都能直接连。

6. 多表关联 + 物化视图 + Rollup

能力 作用
多种 Join 方式 Broadcast / Shuffle / Bucket Shuffle / Colocation
物化视图 预计算加速,自动刷新
Rollup 上卷表加速特定维度查询
Bitmap 索引 高基数列快速过滤
HLL 近似去重 亿级 UV 统计秒级返回

四、商业生态:飞轮科技 SelectDB

Doris 的商业实体是 飞轮科技(SelectDB):

产品 定位
SelectDB Cloud 云原生 Doris(AWS / 阿里云 / 腾讯云)
SelectDB Enterprise 私有部署企业版 + 技术支持
Doris Manager 可视化管理平台(监控 / 告警 / 扩容)

重要观察 :飞轮科技 不控制 Doris 版权 ——Doris 是 Apache 顶级项目,版权归 ASF(Apache 软件基金会)。这跟 sqlmesh 进 Linux Foundation / DuckDB DuckDB Foundation 是同一治理逻辑: 商业公司在开源项目之上做云服务赚钱,但不开源核心。

五、对比:Doris vs ClickHouse vs StarRocks vs Snowflake

维度 Apache Doris ClickHouse StarRocks Snowflake
协议 Apache 2.0 ✅ Apache 2.0 Elastic License 闭源
治理 Apache 顶级 ✅ Yandex 单公司 鼎石科技 Snowflake Inc
架构 MPP FE+BE Shared-nothing MPP(重写) 云数仓
单表查询 中 极致 ✅ 强 强
高并发点查 强 ✅ 弱 强 强
实时 Upsert Unique Key 模型 ✅ 弱 强 强
向量检索 4.0 内置 ✅ 实验 无 Cortex
MCP / AI Agent v0.5.1 ✅ v23+ 弱 强
国产化生态 强(飞轮 / 百度) 中 中 无
学习曲线 中(MySQL 兼容) ✅ 高 中 低
商业云 SelectDB Cloud ClickHouse Cloud StarRocks Cloud 自身

核心判断:

  • 国产化 + Apache 顶级 + AI 就绪 → Doris 是首选
  • 极致单表查询性能 → ClickHouse 还是领先
  • 极致多表 Join + 大宽表 → StarRocks(性能更强)
  • 不想运维 + 全球团队 → Snowflake(贵但省心)

六、实战:3 步跑通 Doris

# 1. Docker 快速跑(5 分钟)docker run -d --name doris \
  -p 9030:9030 -p 8030:8030 -p 8040:8040 \
  apache/doris:3.0.6

# 2. MySQL 客户端连
mysql -h 127.0.0.1 -P 9030 -u root

CREATE DATABASE demo;
USE demo;

CREATE TABLE events (
  event_id BIGINT,
  user_id BIGINT,
  event_type VARCHAR(32),
  ts DATETIME
)
UNIQUE KEY(event_id)
DISTRIBUTED BY HASH(event_id) BUCKETS 16
PROPERTIES ("replication_num" = "1");

-- 3. Stream Load 导入数据
curl -X POST 'http://127.0.0.1:8030/api/demo/events/_stream_load' \
  -H 'Authorization: Basic cm9vdDo=' \
  -F 'file=@events.json'

跑通后能用:
– MySQL 客户端连 9030
– Stream Load 实时写
– Routine Load 订阅 Kafka
– Flink CDC 同步 MySQL binlog

七、风险与坑

  1. 资源消耗大 :MPP 架构对内存要求高, 小数据量场景不如 ClickHouse / DuckDB 经济
  2. 运维复杂度:FE/BE 集群管理、Tablet 均衡、副本修复——比 ClickHouse 复杂
  3. 写吞吐有上限 :高并发写入 Unique Key 表会有 compaction 压力, 超大写场景建议预先分桶
  4. 生态比 ClickHouse 小 :ClickHouse 在欧美 / 国际市场认知度更高,Doris 主要阵地是 国内 + 亚太
  5. 4.0 AI 能力是新功能:向量索引 + BM25 还在迭代,生产用先做 POC
  6. 文档质量参差:中英文社区都活跃,但版本迭代快文档容易过时
  7. Join 优化门槛:大表 Join 写 SQL 要懂 bucket shuffle / colocate join 原理
  8. 跟 StarRocks 的 ” 同源竞争 ”:StarRocks 是 Doris 早期分支(曾用名 DorisDB),两家都有忠实用户——选 Doris 更稳,选 StarRocks 更激进

八、总结

3 个最值得用的理由:

  1. Apache 顶级 + Apache 2.0 + 国产化根正苗红:版权清晰可上国企 / 金融 / 政府项目,不会因为公司变动消失
  2. 一个引擎覆盖 OLAP + 向量 + 全文 + MCP:4.0 AI-Ready 让 Doris 直接进 AI 数据底座赛道,省得维护 4 套系统
  3. MySQL 兼容 + 百度实战 + 飞轮商业:迁移成本最低,国内案例最多(小米 / 美团 / 京东 / 微博 / 字节都有)

一句话建议:

国产化 OLAP 选型、想做实时数仓、想进 AI 大模型数据底座——直接 Doris。如果极致单表性能优先看 ClickHouse;极致多表 Join 看 StarRocks。

参考

  1. apache/doris · GitHub — 主仓库,Apache 2.0
  2. Apache Doris 官网 — 文档 + 案例
  3. Apache Doris 3.0 中文文档 — 中文社区文档
  4. SelectDB 飞轮科技 — 商业云服务
  5. Apache Doris 4.0 社区回顾 — 9,000 PR + 200 贡献者
  6. Apache Doris vs StarRocks — 同源分支对比
  7. Apache Doris vs ClickHouse — 海外视角
  8. Doris 4.0 MCP Server — v0.5.1,2025-07
  9. Apache License 2.0 — 协议全文
正文完