赞
踩
LSM-Tree是一种分层有序,磁盘友好的数据结构。核心思想就是利用磁盘顺序写入性能远高于随机写。LSM-Tree并不是一种严格的树结构,而是一种内存+磁盘的多层存储结构。
MemTable
MemTable是LSM-Tree在内存中的数据结构,只用于保存最新的数据,按照key排序。HBase使用调表来实现
Immutable MemTable
MemTable达到一定大小后,会转换为Immutable MemTable。Immutable MemTable将MemTable转为磁盘上的SSTable的一种中间状态。转化过程中写操作由新的MemTable处理,过程中不阻塞数据更新操作。
SSTable
SSTable是有序键值对集合,是LSM数在磁盘中的数据结构。它是一种持久化、有序且不可变的键值对存储结构。
SSTable 内部包含一系列可配置大小的 Block 块。这些 Block 的 index 会被存储在 SSTable 的尾部,用于帮助快速查找特定的 Block。当一个 SSTable 被打开时,index 表会被加载到内存,然后根据 key 在内存 index 中进行一个二分查找,查到该 key 对应的磁盘的 offset 后,去磁盘把响应的块数据读取出来。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。