当前位置:Gxlcms > 数据库问题 > 小记--------hbase数据库读写流程

小记--------hbase数据库读写流程

时间:2021-07-01 10:21:17 帮助过:28人阅读

-ROOT-的region服务器获取含有.META.表所在regionserver地址
  • Client会将保存着regionserver位置信息的元数据表.META.进行缓存,然后在表中确定待检索rowkey所在regionserver信息。
  • Client会向在.META.表中确定的regionserver发送真正的数据读取请求
  • 先从memstore中查找,如果没有再到storefile中查找
  •  

    写过程

    1. client先从缓存中定位region,如果缓存中没有region位置信息则需要访问zookeeper,从.META.表获取要写入的region信息
    2. 找到小于rowkey并且最接近rowkey的startkey对应的region
    3. 将更新的数据首先写入WAL(HLog)防止中途发生宕机也可以通过WAL还原初始数据
    4. 将更新写入memstore中,当memstore的大小达到设定的flush memstore的阈值时,会触发flush memstore操作,把memstore的数据写入到hdfs,生成一个HFile文件
    5. 随着HFile文件的不断增多,当达到一定的阈值之后,触发Compact合并操作(分为两种minor Compaction、major Compaction)
    6. HFile文件通过不断的compact合并操作,逐步形成越来越大的storefile
    7. 当单个storefile大小超过一定的阈值后,触发split操作,把当前的region拆分为两个,新拆分的region会被hbase master分配到相应的两个regionserver上

    小记--------hbase数据库读写流程

    标签:pac   更新   region   ems   hbase   store   strong   com   master   

    人气教程排行