HBase表的架构原理

本文详细介绍了HBase的存储架构,从Table到Region再到Store层级的组织方式,并深入探讨了MemStore与StoreFile的工作原理及数据存储流程。
HBase总体架构图



Hbase Table的基本单位是Region,一个Table相应多个Region。Table层级关系例如以下:
Table       (HBase table)
    Region       (Regions for the table)
         Store          (Store per ColumnFamily for each Region for the table)
              MemStore         (MemStore for each Store for each Region for the table)
              StoreFile            (StoreFiles for each Store for each Region for the table)
                    Block             (Blocks within a StoreFile within a Store for each Region for the table)
Region
每台RegionServerserver中包括多个Region和一个Hlog(WAL),每一个Region中包括多个Store
Store
每一个Store(HStore)中包括一个MemStore和多个StoreFile(HFile)。每一个Store相应了某个Table中的一个column family的存储
MemStore
MemStore在内存中维护着对Store的改动日志。日志是KeyValue结构的。一旦MemStore被触发flush操作。当前的MemStore被标记为SnapShot。与此同一时候
Hbase创建新的MemStore并继续处理改动操作。直到标记为SnapShot的MemStore被通知已经成功刷写到StoreFile,则销毁该MemStore
StoreFile (HFile)
表数据真正存储的地方,HFile是HDFS上详细的文件格式
Blocks
StoreFile由多个Block组成,BlockSize是依据每一个ColumnFamily级别配置的,在StoreFiles中,压缩也是基于Block级别


查看HFile
使用HFile工具查看StoreFile(HFile)(版本号:0.98.6+cdh5.2.1)
hbase org.apache.hadoop.hbase.io.hfile.HFile -v -f /hbase/data/default/s_table1/1744a33060309b4aaecfca1639444411/fm1/97f63077d177429497551fbc22e4be75

转载于:https://www.cnblogs.com/blfbuaa/p/6703310.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值