第 2 章 · 写入路径:从 PUT 到 HDFS 章节摘要:本章沿着一次 put 请求在 RegionServer 内部的旅程,讲透 HBase 的 LSM-Tree 写入模型:先写 WAL 保证宕机可恢复,再写 MemStore 攒批,Flush 落成 HFile,最终多副本存进 HDFS。理解"顺序写换吞吐"的取舍,就理解了 HBase 为什么写得快、又为什么会读放大。 学习目标 阅读完本章,你应当能够: 画出写入路径全图:WAL → MemStore → Flush → HFile → HDFS; 解释 WAL 的滚动、回放与 sync 策略对持久性与吞吐的影响; 说清 MemStore 的结构、Flush 触发条件与阻塞机制;
章节摘要:本章沿着一次 put 请求在 RegionServer 内部的旅程,讲透 HBase 的 LSM-Tree 写入模型:先写 WAL 保证宕机可恢复,再写 MemStore 攒批,Flush 落成 HFile,最终多副本存进 HDFS。理解"顺序写换吞吐"的取舍,就理解了 HBase 为什么写得快、又为什么会读放大。
阅读完本章,你应当能够:
写入路径的精髓是"前台只做顺序追加,繁重的整理交给后台"——用可控的读放大换取极高的写吞吐。

写路径的第一站。WAL 的结构、滚动与 sync 策略,RegionServer 宕机后靠它回放恢复;也讲多 WAL 与异步 WAL 这两个常见的吞吐优化。
写路径的第二站。跳表结构、四种 Flush 触发条件、阻塞水位的连锁反应,以及"写 hang 住"最常见的原因。
写路径的终点站。块结构、索引与布隆过滤器的位置、KeyValue 编码,多版本与墓碑在文件里的物理形态。
WAL(保命) → MemStore(攒批) → HFile(归档) │ │ │ │ └─ Flush 是二者的桥 ─┘ └─ 三站共同回答:为什么写得快,为什么读要合并 ↓ 第 3 章:HFile 堆积之后怎么办(Compaction 与 Region)
三节是同一条流水线的三站,建议连读。每节都带着同一个问题读:这一站如果出问题,业务侧会看到什么现象?——这个视角在第 7 章故障排查会直接复用。