第 3 章 · Region 与读路径:数据的落点会移动 章节摘要:一行数据的落点不是固定的。Region 会因数据增长而分裂、会被 Master 迁移到别的 RegionServer、其下的 StoreFile 会被 Compaction 反复重写。本章先讲 Region 的划分、分裂与合并对"落点"的影响,再讲 Compaction 如何收拾第 2 章留下的小文件,最后补全读路径:跨 MemStore、BlockCache 与多个 HFile 的三层合并。 学习目标 阅读完本章,你应当能够: 说清 Region 的生命周期:预分区 → 增长 → 自动分裂 → 迁移 →(可选)合并; 解释 Region 分裂的过程与对客户端寻址缓存的影响;
章节摘要:一行数据的落点不是固定的。Region 会因数据增长而分裂、会被 Master 迁移到别的 RegionServer、其下的 StoreFile 会被 Compaction 反复重写。本章先讲 Region 的划分、分裂与合并对"落点"的影响,再讲 Compaction 如何收拾第 2 章留下的小文件,最后补全读路径:跨 MemStore、BlockCache 与多个 HFile 的三层合并。
阅读完本章,你应当能够:
Region 是逻辑连续、物理可迁的容器——行键不变,行键所属的 Region 及其宿主机一直在变。

Region 的定义与生命周期、预分区策略、自动分裂的过程、对客户端的影响,以及行键落点的动态计算。
Minor/Major 两档 Compaction、三种放大的三角关系、参数与停用自动 Major 的生产惯例。
get 与 scan 的统一视角:Region 定位、Store 内多文件键值归并、多版本与墓碑的处理、BlockCache 的位置。
Region 的"边界"怎么动(3.1) | 文件层面的整理(3.2 Compaction)—— Region 不动 HFile 在动 | 读的时候怎么把散落数据拼回一行(3.3 读路径合并)
三节合起来回答本册暗线的后半程:数据落点之后,落点如何随分裂与迁移漂移、落盘文件如何自我整理、读取如何逆着这些机制还原正确答案。