Hbase读写流程

一、hbase的读操作:

ZooKeeper---meta--regionserver--region--memstore--storefile

1、首先从zookerper找到meta表的region的位置,然后读取meta表中的数据。而meta中又存储了用户表的region信息

2、根据namespace、表名和rowkey根据meta表中的数据找到写入数据对于的region信息

3、然后找到对于的regionserver

4、查找对应的region

5、先从Memstore找数据,如果没有,再到StoreFile上读

Hbase读流程


二、hbase的写操作:

ZooKeeper---meta--regionserver--1、Hlog 1、MemStore--storefile

1、首先从zookerper找到meta表的region的位置,然后读取meta表中的数据。而meta中又存储了用户表的region信息

2、根据namespace、表名和rowkey根据meta表中的数据找到写入数据对于的region信息

3、然后找到对于的regionserver

4、把数据分别写到Hlog和memstore各一份

4、1当memstore达到阈值后把数据刷成一个storefile文件,当compact后,逐渐形成越来越大的storefile后触发spilt,

把当前的StoreFile分成两个,这里相当于把一个大的region分割成两个region

4、1若MemStore中的数据有丢失,则可以从HLog上恢复,当多个StoreFile文件达到一定的大小后,会触发Compact合并操作,

合并为一个StoreFile,这里同时进行版本的合并和数据删除

HBase写流程

出处

你可能感兴趣的:(Hbase读写流程)