LSM是一种基于日志追加写的数据结构,非常适合为具有高写入数据提供索引访问
LSM基于以下前提
WAL(write-ahead log)是用于在系统错误时提供持久化,在写入数据的时候会首先写入到WAL文件中
LSM中在内存中的数据结构称之为memtable,通常是红黑树结构。
SSTable(sorted strings table)是在磁盘中有序字符串表。

LSM是多层结构,在内存中的是C0层,保存了最近写入的数据。当C0层达到阈值后将合并C1层形成新的C1层,如此循环往复下去
查询是从C0查起,逐层查
可以采用稀疏索引来优化。

此外,还可以运用bloom filter过滤掉一定不在的key

每次删除时仅仅只是标记删除了,实际删除过程由后台进程compaction负责。
compaction会持续合并新旧segment

上一篇:js变量和函数提升
下一篇:DS内排—2-路归并排序