一、写流程
1、Client先访问zookeeper,找到meta表的数据
2、根据meta表的数据找到写入数据对应的region信息
3、找到对应的regionserver
4、把数据分别写到HLog和MemStore上一份
5、MemStore达到一个阈值后则把数据刷成一个StoreFile文件。(若MemStore中的数据有丢失,则可以总HLog上恢复)
6、 当多个StoreFile文件达到一定的大小后,会触发合并操作,合并为一个StoreFile,(这里同时进行版本的合并和数据删除。)
7、 当Storefile大小超过一定阈值后,会把当前的Region分割为两个(Split),并由Hmaster分配到相应的HRegionServer,实现负载均衡。
二、读流程
1、Client先访问zookeeper,从zookeeper中找到meta表。
2、根据namespace、表名和rowkey在meta表中找到对应的region信息
3、找到这个region对应的regionserver
4、查找对应的region
5、先从MemStore找数据,如果没有,再到StoreFile上读(为了读取的效率)。