Flink中的RocksDB的术语LSM具体是什么?
LSM(log-structed-merge-tree) 上述原理是使用LSM tree这种结构来实现的,上图也是LSM tree的一种直观体现,那为什么要选用LSM tree呢?
B+树(MySQL InnoDB索引)和log型(append)文件操作(数据库WAL日志)是数据读写效率的两个极端。 磁盘读写分为随机读写和顺序读写,一般来说随机读写的效率要低于顺序读写。
B+树解决的是磁盘随机读慢的问题,但随机写无法保证效率,因为写入数据时涉及到树的重构。 log型(append)文件操作解决的是磁盘随机写慢的问题,但读时需要遍历整个文件。
B+树读效率高而写效率差;log型文件操作写效率高而读效率差;因此要在排序和log型文件操作之间做个折中,于是就引入了log-structed merge tree模型,通过名称可以看出LSM既有日志型的文件操作,提升写效率,又在每个sstable中排序,保证了查询效率
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。