分析型数据库 / 源码阅读 / 27 篇深读
Doris 实战与架构
以 Classic 架构为主线,补齐 Cloud 存算分离视角,按查询、写入、优化、执行、存储、元数据、高可用、建模调优、湖仓、多租户、可观测最佳实践、生产运维和源码贡献组织 27 篇深度笔记。
课程结构
27 篇深读
- 00Apache Doris 架构概览先建立 FE、BE、Catalog、Pipeline、Storage 与外部系统之间的 Doris 整体架构地图。
- 01SQL 查询端到端——从 MySQL 协议到磁盘读取的全源码级穿越追踪一条 SQL 如何从 MySQL 协议进入 FE,再被优化、调度并在 BE 端读盘返回。
- 02数据写入端到端——从 HTTP 到 Rowset 的全源码级穿越沿 Stream Load 等写入路径理解数据如何进入事务、Tablet、Rowset 与 Segment。
- 03Nereids 优化器深度解析从 Nereids 与 Cascades 框架出发,理解 Doris 的逻辑计划、规则、代价和物理计划生成。
- 04Pipeline 执行引擎——查询如何在 BE 端并行执行拆解 Pipeline 执行引擎,理解 Fragment、Pipeline、Operator 和 Task 如何在 BE 端并行运行。
- 05向量化计算框架——如何以列向量为单位执行查询解释 Block、Column、SIMD 与表达式执行如何让 Doris 以列向量为单位处理查询。
- 06存储引擎——Tablet / Rowset / Segment 文件格式从 Tablet、Rowset、Segment 到 Page,读懂 Doris 列存文件格式和扫描边界。
- 07存储引擎——Compaction 与版本管理理解版本链、Publish、Compaction 与数据可见性如何共同维持写入后的读一致性。
- 08存储引擎——索引梳理 Short Key、ZoneMap、Bloom Filter、Bitmap 等索引如何减少扫描成本。
- 09Catalog 元数据管理与 Journal从 Catalog 层级和 Journal 日志理解 Doris 元数据的组织、持久化与恢复。
- 10数据导入体系全览比较 Stream Load、Routine Load、Broker Load 等导入方式及其事务生命周期。
- 11FE 高可用与元数据复制解释 FE Master/Follower/Observer、BDBJE 选举与 Journal 复制如何支撑高可用。
- 12BE 副本一致性与修复理解 BE 副本一致性、Clone、Repair 与 Tablet 健康治理的协作方式。
- 13RPC 通信框架梳理 FE 与 BE 之间 Thrift、Brpc、Protobuf 等通信栈的职责边界。
- 14资源管理与 Workload Group从 Workload Group、MemTracker 和 RuntimeFilter 理解资源隔离、内存控制与查询治理。
- 15Doris Cloud 存算分离对比 Doris Classic 与 Cloud 存算分离架构,理解对象存储、缓存和弹性计算的权衡。
- 16Doris 监控 & 性能 & 排障把监控指标、性能瓶颈、导入异常、查询慢和副本问题组织成可执行的排障手册。
- 17表设计与数据建模——从业务问题到可扩展 OLAP Schema把业务访问模式翻译成数据模型、Sort Key、分区、分桶、索引和 Colocate 设计。
- 18慢 SQL 与 Query Profile——从现象到算子级瓶颈定位用慢 SQL、EXPLAIN 和 Query Profile 建立从现象到算子瓶颈的系统调优流程。
- 19物化视图与查询加速——从 Rollup 到透明改写从同步 Rollup、异步物化视图、透明改写、刷新策略和资源隔离理解查询加速设计。
- 20实时写入、更新与删除——CDC 场景的正确打开方式围绕 CDC、Label 幂等、版本堆积、Unique Key、删除语义和 Routine Load 建立实时写入方法论。
- 21湖仓与联邦查询——External Catalog、Data Cache 与小文件治理理解 External Catalog、湖表分区裁剪、Data Cache、小文件治理和内外表混合加速边界。
- 22可观测与半结构化分析——日志、Trace、VARIANT 与倒排索引面向日志、Trace、指标、VARIANT 和倒排索引设计可观测分析表与冷热分层。
- 23生产运维与灾备——容量、扩缩容、备份、升级和事故处理把容量、Tablet 健康、扩缩容、FE/BE 高可用、备份恢复、升级和事故处理组织成生产运维体系。
- 24权限治理与多租户——从账号安全到资源隔离从账号、角色、LDAP/Ranger、Workload Group、SQL 熔断、审计和脱敏建立多租户治理模型。
- 25源码贡献与调试——从读懂 Doris 到能改 Doris从 Query ID、EXPLAIN、Profile 和源码地图出发,学习复现、调试、测试和贡献 Doris。
- 26Doris 可观测数据最佳实践——日志、Trace、指标的一体化落地手册从采集、建模、分区分桶、索引、导入、冷热分层、物化视图、资源隔离和排障建立 Doris 可观测数据落地手册。