学习路径

分析型数据库 / 源码阅读 / 27 篇深读

Doris 实战与架构

以 Classic 架构为主线,补齐 Cloud 存算分离视角,按查询、写入、优化、执行、存储、元数据、高可用、建模调优、湖仓、多租户、可观测最佳实践、生产运维和源码贡献组织 27 篇深度笔记。

课程结构

27 篇深读

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