美文网首页
Habase读流程

Habase读流程

作者: 你值得拥有更好的12138 | 来源:发表于2020-04-10 16:20 被阅读0次

    整体流程

    image.png

    扫描Storfile的具体流程

    盗图,侵权即删

    1.首先构造Scanner体系(RegionScanner -> StoreScanner -> StoreFileScanner&MemStoreScanner)
    2.构成StoreScanner优先队列队列,与列族一 一映射
    3.根据rowkey,timestamp过滤掉不符合条件的StoreFileScanner(即保留符合条件的HFile)
    4.使用HFile中块索引定位到符合条件的起始行(K-V键值对)
    5.使用上一步的KV进行排序,并构建一个StoreFileScanner的优先队列
    6.从第一个HFile开始扫描,并判断是否符合条件
    7.然后从第二个HFile扫描,第一个StoreFileScanner内部指针移动到下一行,并入优先队列的最后
    8.重复6-7直到扫描完所有的满足条件的数据


    盗图,侵权即删

    Habase 的K-V结构

    K: 行键,列族,列信息,时间戳,类型(Get/Scan/Put/Delete)

    上文提到KeyValue中Key由RowKey,ColumnFamily,Qualifier ,TimeStamp,KeyType等5部分组成,HBase设定Key大小首先比较RowKey,RowKey越小Key就越小;RowKey如果相同就看CF,CF越小Key越小;CF如果相同看Qualifier,Qualifier越小Key越小;Qualifier如果相同再看Timestamp,Timestamp越大表示时间越新,对应的Key越小。如果Timestamp还相同,就看KeyType,KeyType按照DeleteFamily -> DeleteColumn -> Delete -> Put 顺序依次对应的Key越来越大。

    BoomFilter

    1.Hash函数
    2.bit数组
    3.判定不存在,一定不存在
    4.判定存在,可能存在

    相关文章

      网友评论

          本文标题:Habase读流程

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