HBase读写数据流程

hbase的系统表

hbase:namespace    存储了hbase中的所有namespace的信息

HBase读写数据流程_第1张图片

hbase:meta    存储了hbase中所有的region的信息,包括rowkey范围,region所在的regionserver的地址。


HBase读写数据流程_第2张图片

hbase:meta  在zookeeper中,进入zookeeper中查看

HBase读写数据流程_第3张图片

读的流程:

1、连接zookeeper,找到meta表所在的regionserver的地址

2、访问对应的regionserver,读meta表的信息

3、通过命令找到rowkey对应的region,得到region的名称

4、访问region所在的regionserver

5、访问对应store  读内存(memstore  cache)  storefile

写的流程:

1、连接zookeeper,找到meta表所在的regionserver的地址

2、访问对应的regionserver,读meta表的信息

3、通过命令找到rowkey对应的region,得到region的名称

4、访问region所在的regionserver

5、正常情况

WAL(hlog),write ahead log

memstore

flush:将内存中的数据进行溢写到磁盘变成storefile

compact:将多个storefile进行合并,变成一个大文件    等到多个store中的storefile的和达到一定阈值,后进行split(region的等分成两个region,又master分配,当前region消失)

你可能感兴趣的:(HBase读写数据流程)