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