美文网首页我爱编程
Hbase hfile索引初步探究

Hbase hfile索引初步探究

作者: 云狗狗狗狗狗 | 来源:发表于2017-05-18 10:20 被阅读0次

1、索引结构解析:

Root Index Block--根据Index Entry的个数,加载到内存,因为Index Entry并不定长

(single-level索引结构,其实也是简化版的multi-level)

Index Entry表示具体的索引对象,每个索引对象由3个字段组成,Block Offset表示索引指向数据块的偏移量,BlockDataSize表示索引指向数据块在磁盘上的大小,BlockKey表示索引指向数据块中的第一个key。除此之外,还有另外3个字段用来记录MidKey的相关信息,MidKey表示HFile所有Data Block中中间的一个Data Block,用于在对HFile进行split操作时,快速定位HFile的中间位置。


NonRoot Index Block

当HFile中Data Block越来越多,single-level结构的索引已经不足以支撑所有数据都加载到内存,需要分化为mutil-level结构。mutil-level结构中NonRoot Index Block作为中间层节点或者叶子节点存在,无论是中间节点还是叶子节点,其都拥有相同的结构,如下图所示:

1:也拥有index entry 但是 用于指向叶子节点块或者数据块

2:二分法查找

3:无midkey


相关文章

网友评论

    本文标题:Hbase hfile索引初步探究

    本文链接:https://www.haomeiwen.com/subject/rlfsxxtx.html