
百度 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
七、风险与坑
- 资源消耗大 :MPP 架构对内存要求高, 小数据量场景不如 ClickHouse / DuckDB 经济
- 运维复杂度:FE/BE 集群管理、Tablet 均衡、副本修复——比 ClickHouse 复杂
- 写吞吐有上限 :高并发写入 Unique Key 表会有 compaction 压力, 超大写场景建议预先分桶
- 生态比 ClickHouse 小 :ClickHouse 在欧美 / 国际市场认知度更高,Doris 主要阵地是 国内 + 亚太
- 4.0 AI 能力是新功能:向量索引 + BM25 还在迭代,生产用先做 POC
- 文档质量参差:中英文社区都活跃,但版本迭代快文档容易过时
- Join 优化门槛:大表 Join 写 SQL 要懂 bucket shuffle / colocate join 原理
- 跟 StarRocks 的 ” 同源竞争 ”:StarRocks 是 Doris 早期分支(曾用名 DorisDB),两家都有忠实用户——选 Doris 更稳,选 StarRocks 更激进
八、总结
3 个最值得用的理由:
- Apache 顶级 + Apache 2.0 + 国产化根正苗红:版权清晰可上国企 / 金融 / 政府项目,不会因为公司变动消失
- 一个引擎覆盖 OLAP + 向量 + 全文 + MCP:4.0 AI-Ready 让 Doris 直接进 AI 数据底座赛道,省得维护 4 套系统
- MySQL 兼容 + 百度实战 + 飞轮商业:迁移成本最低,国内案例最多(小米 / 美团 / 京东 / 微博 / 字节都有)
一句话建议:
国产化 OLAP 选型、想做实时数仓、想进 AI 大模型数据底座——直接 Doris。如果极致单表性能优先看 ClickHouse;极致多表 Join 看 StarRocks。
参考
- apache/doris · GitHub — 主仓库,Apache 2.0
- Apache Doris 官网 — 文档 + 案例
- Apache Doris 3.0 中文文档 — 中文社区文档
- SelectDB 飞轮科技 — 商业云服务
- Apache Doris 4.0 社区回顾 — 9,000 PR + 200 贡献者
- Apache Doris vs StarRocks — 同源分支对比
- Apache Doris vs ClickHouse — 海外视角
- Doris 4.0 MCP Server — v0.5.1,2025-07
- Apache License 2.0 — 协议全文