LSM树设计思想以及存储模型

LSM树是一种将随机写转换为顺序写,提高写入性能的数据存储系统。它包括WAL、MemTable、Immutable Memtable和SSTable等组件。通过Compaction合并SSTable以节省空间。读取操作涉及多层查找,可通过Mainfest和Bloom过滤器进行优化。LSM树适合写入大于读取且数据有序的场景。
摘要由CSDN通过智能技术生成

                                                                               LSM树设计思想以及存储模型

 

一. LSM树的设计思想

    1. 哈希存储系统
        哈希表的持久化实现,支持增、删、改以及随机读取操作,但不支持顺序扫描,对应的存储系统为key-value存储系统。对于key-value的插入以及查询,哈希表的复杂度都是O(1),明显比树的操作O(n)快,如果不需要有序的遍历数据,就可以使用哈希存储系统。


    2.  B树存储系统
       B树存储引擎是B树的持久化实现,不仅支持单条记录的增、删、读、改操作,还支持顺序扫描(B+树的叶子节点之间的指针),对应的存储系统就是关系数据库(Mysql等)。 
       
    3.  LSM树存储系统
       LSM树(Log-Structured Merge Tree)存储引擎和B树存储引擎一样,同样支持增、删、读、改、顺序扫描操作。而且通过批量存储技术规避磁盘随机写入问题。当然凡事有利有弊,LSM树和B+树相比,LSM树牺牲了部分读性能,用来大幅提高写性能。

 

二. LSM的实现原理

特点

总的来说就是通过将大量的随机写转换为顺序写,从而极大地提升了数据写入的性能,虽然与此同时牺牲了部分读的性能。

只适合存储 key 值有序且写入大于读取的数据,或者读取操作通常是 key 值连续的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值