SSTable(Sorted String Table)结构与用途详解
目录
- 一、SSTable 基本结构
- 二、SSTable 的核心特性
- 三、SSTable 的主要用途
- 四、SSTable 工作流程示例
- 五、SSTable 优势与局限
一、SSTable 基本结构
SSTable 是一种持久化的、不可变的、按键排序的磁盘数据结构,主要由以下部分组成:
-
数据块(Data Blocks)
- 存储实际的键值对数据
- 按键排序存储,便于二分查找
- 通常采用压缩存储以节省空间
-
索引块(Index Block)
- 记录每个数据块的起始键和磁盘位置
- 加速查找过程(先查索引再定位数据)
-
布隆过滤器(Bloom Filter)
- 快速判断某个键是否可能存在于该SSTable中
- 减少不必要的磁盘IO
-
元数据(Footer)
- 存储校验和、压缩信息等元数据
- 通常位于文件末尾
二、SSTable 的核心特性
-
不可变性(Immutable)
- 一旦写入磁盘就不再修改
- 更新和删除通过追加新记录实现
-
有序性(