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

83次阅读
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 — 协议全文
正文完