hbase存储设计原理

本文深入剖析了HBase如何利用LogStructuredMergeTrees(LSM树)的存储思想,在海量数据中实现快速读写。通过理解HBase的存储设计,包括RegionServer、MemStore、HLog、StoreFile和HFile等关键组件的工作原理,读者可以更好地掌握HBase的使用和维护。

简介

hbase为何能如此高效的在海量数据中进行快速读写,和其内存存储结构设计是有必然关系的,理解其存储设计思想,将会非常有助大家对hbase的使用和维护。

存储思想

HBase采用Log Structured Merge Trees(LSM)的存储思想。

LSM树

核心思想的核心就是放弃部分读能力,换取写入的最大化能力。LSM Tree ,这个概念就是结构化合并树的意思,它的核心思路其实非常简单,就是假定内存足够大,因此不需要每次有数据更新就必须将数据写入到磁盘中,而可以先将最新的数据驻留在内存中,等到积累到最后多之后,再使用归并排序的方式将内存内的数据合并追加到磁盘队尾 (因为所有待排序的树都是有序的,可以通过合并排序的方式快速合并到一起)。

简易模型

lsm简易模型

存储模块简介

RegionServer 是hbase存储基本单元。
RegionServer = HLog + HRegion (一个server中可以含多个region)
HRegion = Store + MemStore + HFile (Store是列式结构,就可以代表着列族)
regionServer

hbase具体存储实现

LSM的具体实现

level 0

写 MemStore (内存)+ HLog WAL(Write Ahead Log预写日志,如果系统突然宕机,hbase可以通过WAL读取日志回复系统状态,保证高可用)。实现低延迟,实时交互。此时hbase中的数据状态是不可靠数据。

level 1

MemStore达到预值后会刷写文件成storeFile。

level 2

compaction(合并),操作将文件合并。storeFile采用多路归并算法合并成写入HFile,HFile为hbase最小存储单元,保存在hdfs上成为可靠数据。compaction分为minor和major类似于虚拟机GC,major比较耗时和资源。

Compaction

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值