章节摘要:调优手册讲的是"怎么做",本章讲的是"为什么会这样"。我们把 Doris 拆成 FE(前端节点)与 BE(后端节点)两个角色,看清元数据如何保持一致、查询计划如何被切分分发、数据以什么形态躺在磁盘上。理解了这台机器的解剖结构,第 4 章导入排错时的每一个报错码、第 5 章执行计划里的每一条算子树,都找到了对应的器官。
完成本章后,你应当能够:
Doris 的架构哲学是"两类角色,各司其职"。FE 是控制平面:管理元数据、调度副本、规划查询;BE 是数据平面:持有数据分片、执行计算、服务本地扫描。没有 ZooKeeper 这样的外部协调件——元数据一致性由 FE 内部的 BDB JE 复制组保证,副本放置由 Master FE 决策,这种"把分布式系统的复杂度收进两类进程"的设计是它宣称易运维的物质基础。
金句:读不懂架构的调优是碰运气,看得懂故障的人先看得懂分工。
部署形态上这组分工也有约定俗成的配比:FE 通常三台起步且必须是奇数(复制组选举要求多数派存活),规格不必豪华,八核十六吉的虚机在多数中型集群里够用;BE 才是资源大户,核与内存直接决定扫描吞吐,磁盘建议多块独立盘而非单张大盘。一个常见误区是把 FE 配得比 BE 还壮——控制平面的负载是元数据级的数据量,堆硬件买不来查询速度,钱应该花在数据平面。
三节是一条从整体到局部的变焦镜头:先立全景框架,再进控制平面的心脏,最后落到数据平面的车间。前一节的概念在后一节都会复现:
2.1 全景总账 ──zoom──> 2.2 控制平面细节 ──zoom──> 2.3 数据平面细节 │ │ │ 回答谁管谁 回答谁来决策 回答谁来干活
你需要第 1 章的基本词汇(Tablet、分区、列存),不要求任何源码背景。学完本章即可进入第 3 章建表实战——那里的每个参数都会回指这里的功能归属;做平台化封装的同学则可以带着"哪些能力收进了 FE"这个问题去读 6.3 权限体系。
读法建议按角色分流:做数仓开发的重点吃透 2.3 的存储形态——分桶、Rowset、索引的机理决定了第 3 章每个建表参数的后果;做平台运维的重点在 2.2 的元数据机制——升级、扩缩容、故障转移的规程都从复制组的行为推导。两条线在 2.1 的全景图上汇合,先花十分钟看懂那张图,后面两节的细节就有了挂靠点。