Apache Doris 架构与原理 专栏导览

专栏定位

本专栏聚焦 Apache Doris MPP 分析数据库的架构设计与实时分析能力——从 FE/BE 分离架构和 MySQL 协议兼容,到 Tablet 分桶存储与 Compaction 策略,再到向量化执行引擎和多种数据导入方式。Doris 以其极简架构(无外部依赖)、MySQL 协议兼容和实时导入能力,成为实时分析和联邦查询的热门选择。

目标读者

  • 使用 Doris 做实时数仓、报表分析的数据工程师
  • 需要在 Clickhouse、Doris、StarRocks 之间做选型的架构师
  • 对 MPP 数据库和向量化执行引擎设计感兴趣的技术爱好者

专栏目录

序号标题核心内容
0101 Doris 全局架构——FE BE 分离与 MPP 执行Frontend(元数据/查询规划)与 Backend(存储/执行)的职责分离、MySQL 协议兼容、与 Clickhouse 的定位差异
0202 存储引擎——Tablet、Rowset 与 CompactionTablet 的分桶机制、Rowset 的列式存储格式、Cumulative/Base Compaction 策略、前缀索引与 ZoneMap 索引
0303 查询引擎——向量化执行与 Pipeline查询规划(RBO → CBO)、Fragment 的分布式执行、向量化引擎的列式计算、Runtime Filter 的下推优化
0404 数据模型——Duplicate、Aggregate 与 Unique三种数据模型的适用场景、Aggregate 模型的预聚合机制、Unique 模型的 Merge-on-Read vs Merge-on-Write、物化视图与 Rollup
0505 实时数据导入——Stream Load、Routine Load 与 Flink Connector导入事务的两阶段提交、Stream Load 的 HTTP 接口、Routine Load 消费 Kafka、Flink-Doris-Connector 的 Exactly-Once 语义
0606 Doris 运维与调优——分区分桶设计、慢查询与扩缩容分区策略(Range/List/动态分区)、分桶数计算、Tablet 均衡与修复、BE 扩缩容的数据迁移、与 StarRocks 的技术对比

推荐阅读路径

核心原理路径:01 → 02 → 03 → 04

实战运维路径:05 → 06

前置知识

  • SQL 基础和数据仓库概念
  • 建议对比阅读 ClickHouse 专栏了解另一种 OLAP 引擎的设计思路

关联专栏

  • ClickHouse:同类 OLAP 引擎的设计对比
  • Trino:联邦查询 vs 单一引擎的选型
  • Kafka:Routine Load 消费 Kafka 实时数据
  • Flink:Flink-Doris-Connector 的 Exactly-Once 写入