HBase中LSM树的应用

1. 输入数据首先存储在日志文件 [文件内数据完全有序,按键排序]

2. 然后当日志文件修改时,对应更新会被先保存在内存中来加速查询

3. 数据经过多次修改,且内存空间达到设定阈值,LSM树将有序的"键记录"flush到磁盘,同时创建一个新的数据存储文件。[内存中的数据由于已经被持久化了,就会被丢弃]

4. 查询时先从内存中查找数据,然后再查找磁盘上的文件

5. 删除只是“逻辑删除”即将要删除的数据或者过期数据等做删除标记,查找时会跳过这些做了删除标记的数据

6. 多次数据刷写之后会创建许多数据存储文件,后台线程会自动将小文件合并成大文件。合并过程是重写一遍数据,major compaction会略过做了删除标记的数据[丢弃]

7. LSM树利用存储的连续传输能力,以磁盘传输速率工作并能较好地扩展以处理大量数据。使用日志文件和内存存储将随机写转换成顺序写

8. LSM树对磁盘顺序读取做了优化

9. LSM树的读和写是独立的

你可能感兴趣的:(大数据,HBase,大数据,HBase,LSM,分布式存储数据库)