目录
LSVM(Log-Structured Merge Tree)
共同点
都是底层数据存储的数据结构
区别
B+树
- 通常用于数据库和操作系统的文件系统
- 插入和修改有较稳定的Logn时间复杂度
- 自底向上插入
- 寻道方式的磁盘使用
LSVM(Log-Structured Merge Tree)
- 用于为具有很高记录更新(插入或删除)频率的文件提供索引机制
- 一个内存组件和一个或多个磁盘组件(通过类似归并排序联合使用)
- 适用于索引插入比查询更常见的情况
- 常用与历史记录表和日志文件
- 传输方式的磁盘使用
- 把随机写转化成顺序写,减少磁盘寻道时间
实现原理
LSVM树
- 划分不同等级树,一棵树位于内存(B树或者AVL树),一棵树位于磁盘
- 数据先插入内存中的树,内存中的树达到阈值时从左到右与磁盘中的树合并,合并后的数据量达到磁盘的存储页大小时,持久化到磁盘,同时更新父子节点指针
- 查找时先从内存树找,没有再去磁盘树找
- 定期合并,并flush到磁盘,可设置TTL,合并进程根据TTL删除无效的已删除数据