LSM是什么简述?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2428个文字,预计阅读时间需要10分钟。
LSM-Tree,即Log Structured Merge Tree,是一种分层有序的、适合于磁盘的数据结构。其核心思想是利用磁盘的顺序写特性,将数据有序地写入磁盘,从而提高写入性能,同时通过合并操作保持数据的有序性。LSM-Tree并非一种严格的树结构。
简述LSM-Tree LSM-Tree 1. 什么是LSM-TreeLSM-Tree 即 Log Structrued Merge Tree,这是一种分层有序,硬盘友好的数据结构。核心思想是利用磁盘顺序写性能远高于随机写。
LSM-Tree 并不是一种严格的树结构,而是一种内存+磁盘的多层存储结构。HBase、LevelDB、RocksDB这些 NoSQL 存储都使用了 LSM-Tree。
2. LSM的组成部分 2.1 MemTableMemTable 是 LSM-Tree 在内存中的数据结构,只用于保存最新的数据,按照 Key 有序地组织这些数据。
LSM-Tree 没有规定用怎样的数据结构实现 MemTable,例如 HBase 使用跳表来保证内存中 Key 的有序性。
存在内存中的数据会因为断电丢失,所以我们通常使用 WAL,即预写日志的方式来保证数据的可靠。
2.2 Immutable MemTableWAL:预写日志,即事务的所有修改在提交之前要先写入 log 文件中
MemTable 达到一定大小后,会转化为 Immutable MemTable。Immutable MemTable 是将 MemTable 转为磁盘上的 SSTable 的一种中间状态。
转化过程中写操作由新的 MemTable 处理,过程中不阻塞数据更新操作。
本文共计2428个文字,预计阅读时间需要10分钟。
LSM-Tree,即Log Structured Merge Tree,是一种分层有序的、适合于磁盘的数据结构。其核心思想是利用磁盘的顺序写特性,将数据有序地写入磁盘,从而提高写入性能,同时通过合并操作保持数据的有序性。LSM-Tree并非一种严格的树结构。
简述LSM-Tree LSM-Tree 1. 什么是LSM-TreeLSM-Tree 即 Log Structrued Merge Tree,这是一种分层有序,硬盘友好的数据结构。核心思想是利用磁盘顺序写性能远高于随机写。
LSM-Tree 并不是一种严格的树结构,而是一种内存+磁盘的多层存储结构。HBase、LevelDB、RocksDB这些 NoSQL 存储都使用了 LSM-Tree。
2. LSM的组成部分 2.1 MemTableMemTable 是 LSM-Tree 在内存中的数据结构,只用于保存最新的数据,按照 Key 有序地组织这些数据。
LSM-Tree 没有规定用怎样的数据结构实现 MemTable,例如 HBase 使用跳表来保证内存中 Key 的有序性。
存在内存中的数据会因为断电丢失,所以我们通常使用 WAL,即预写日志的方式来保证数据的可靠。
2.2 Immutable MemTableWAL:预写日志,即事务的所有修改在提交之前要先写入 log 文件中
MemTable 达到一定大小后,会转化为 Immutable MemTable。Immutable MemTable 是将 MemTable 转为磁盘上的 SSTable 的一种中间状态。
转化过程中写操作由新的 MemTable 处理,过程中不阻塞数据更新操作。

