HBase是如何应用LSM树存储思想的

前言

想了解HBase存储原理,最直观的方式是先了解它使用的存储思想,然后通过类比法,即可秒懂HBase为什么要这么设计了。所以再学习HBase如何实现存取的时候,最好先理解LSM树存储思想。

研究一种框架的心法

不要被所谓的XX思想所吓倒或者觉得他没什么作用,一般来说,XX思想都是非常简洁漂亮的,也是非常容易理解的。学习新知识最好要先掌握其大致思想,不要急于研究细节,因为"魔鬼都在细节当中"。掌握了思想脉络以后,就像有了张通关地图,然后再深入细节斩妖除魔。

一.什么是LSM存储思想

LSM存储思想

(LSM树结构图)

LSM树存储数据流程

LSM树,即日志结构合并树(Log-Structured Merge-Tree)。

1.数据先存储到内存C0中,这样可保证数据存储快。
2.当达到一定阈值后(内存宝贵),则开始转存到C1(硬盘)上。对数据持久化保存,防止数据丢失。
3.将许多的C1小文件进行合并,方便管理。

二.HBase中如何使用LSM树存储思想

存储数据过程解释:

1.用户数据到大RegionServer,先保存到memStore(内存,保证速度快)和log(日志,防止内存中数据丢失,保证HV)中。
2.内存中的数据达到一定的阈值,将数据保存到硬盘上(StoreFile)。
3.将硬盘上的数据文件合并成一个大文件。

数据写入HBase流程:

用户数据进入Region后,先会进入MemStore;数据在MemStore中达到一定阈值以后会写到StoreFile,StoreFile再将数据封装成HFile,然后再将HFile写到HDFS中。

LSM在HBase中的实现:

第一级:Hlog+MEMStore,保证了高速写入,降低延迟。
第二级:StoreFile + HFile,保证了不可靠数据的持久化(将内存数据保存在硬盘上)。

总结:

正如开头提到的,LSM树存储思想其实很简单,在HBase中体现在:将数据先存储到内存,达到一定量后,将其写入硬盘日志中,然后伺机将多个日志文件合并在一起。这就是日志结构合并(LSM)的存储思想了。

关于Hbase的其他内容,后续也将更新,喜欢就点个赞和关注吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值