HFile V2介绍[0.92到0.98之前的版本]

HFile V2在HBase 0.92版本后引入,解决HFile V1内存消耗问题。通过多级索引(根索引和叶索引)和分块BloomFilter,提高效率和内存利用率。查找过程涉及根索引的二分查找和数据块的遍历。DataBlock存储KV数据,HFileIndex分为单级和多级索引,由HFileBlockIndex类管理。Meta信息和BloomFilter使用单级索引。文件结构包括Scanned Block、Non-Scanned Block、Load-on-open和trailer。
摘要由CSDN通过智能技术生成

     hbase 0.92版本中,为了改进在大数据存储下的效率,HFile做了改变。HFile V1的主要问题是,你需要加载(load)所有的单片索引和BloomFilter到内存中,这会导致每台服务器有数GB的内存被块索引消耗掉,这对域服务器的可扩展性和性能有显著的负面影响。此外,由于直到加载完所有块索引数据之后,才能认为域启动完成,因此这样的块索引大小会明显地拖慢域的启动速度。 为了解决这个问题,v2引入了多级索引[一个根索引块和多个叶块,只有根索引(索引数据块)必须一直保存在内存中,叶索引以块的级别存储,这意味着它是否在内存中出现取决于块是否在内存中出现。叶索引仅在加载块时被加载到内存中,并且在块移出时被移出内存。此外,叶级别索引的结构化方式允许在不进行反序列化的情况下,对键进行二叉搜索]和分块BloomFilterHFile v2改进了速度,内存和缓存利用率。

 HFile V2的文件存储格式如下图:

 

HFile的组成分成四部分,分别是Scanned Block(数据block)、Non-Scanned block(元数据block)、Load-on-open(在hbase运行时,HFile需要加载到内存中的索引、bloom filter和文件信息)以及trailer(文件尾)

HFile V2中根据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值