Hbase读写流程

写流程

Hbase读写流程

1. 客户端从zk中获取meta表位置,到对应regionServer上获取该表,或直接从缓存中读取该
表。
2. 客户端从meta表中获取要写的数据存放的region和所在的regionServer。
3. 客户端给数据设置版本(默认当前时间),往该regionServer的hlog上写日志数据
客户端同时往该regionServer的memstore上写入数据,
memstore溢写到磁盘,溢写的小文件达到阀值数量时会合并成一个storefile
region体积达到阀值时拆分成两个region
由Hmaster负责均衡负载,拆分规则为保留连续行键,根据前缀判断。

 

读流程

 

Hbase读写流程

1. 客户端从zk中获取meta表位置,到对应regionServer上获取该表,或直接从缓存中读取该
表。
2. 客户端从meta表中获取行键所在的region位置
3. 先从memstore读取,再从blockcache读取,最后才到hfile中查找,查找hfile前先用布隆过滤
器筛选出可能存在该行键的hfile,从hfile读取到的数据会复制一份到blockcache中。