HBase 读写流程

Hbase读写流程

写流程:

HBase 读写流程_第1张图片

·  zookeeper中存储了meta表的region信息,从meta表获取相应region信息,然后找到meta表的数据

·  根据namespace、表名和rowkey根据meta表的数据找到写入数据对应的region信息

·  找到对应的regionserver

·  把数据分别写到HLog和MemStore上一份

·  MemStore达到一个阈值后则把数据刷成一个StoreFile文件。若MemStore中的数据有丢失,则可以在HLog上恢复

·  当多个StoreFile文件达到一定的大小后,会触发Compact合并操作,合并为一个StoreFile,这里同时进行版本的合并和数据删除。

·  当Compact后,逐步形成越来越大的StoreFIle后,会触发Split操作,把当前的StoreFile分成两个,这里相当于把一个大的region分割成两个region。

 

读流程:

·  zookeeper中存储了meta表的region信息,所以先从zookeeper中找到meta表region的位置,然后读取meta表中的数据。meta中又存储了用户表的region信息。

·  根据namespace、表名和rowkey在meta表中找到对应的region信息

·  找到这个region对应的regionserver

·  查找对应的region

·  先从MemStore找数据,如果没有,再到StoreFile上读(为了读取的效率)。

你可能感兴趣的:(HBase)