欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

HBase读写数据流程

时间:2023-06-26
写数据流程

1.客户端请求ZK获取存储元数据信息的meta表所在的机器

2.请求meta表所在的机器,下载meta表到客户端并缓存到本地

3.客户端解析meta表,获取到要写的数据所在的RegionServer的机器

4.请求对应的RegionServer下的Region写数据

5.RegionServer接收到数据后会分别在HLog和MemStore上写一份

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

7.当多个StoreFile文件达到一定的数量,会触发Compact和Major Compaction操作,

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

读取数据流程

 1.客户端请求ZK获取存储元数据信息的meta表的机器

2.请求meta表所在的机器,下载meta表到客户端并缓存

3.解析meta表,定位要读取的数据所在的RegionServer机器

4.请求RegionServer确定读取的数据在哪个region中

5.先从内存对象中获取数据.如果没有再查看缓存区域 ,缓存中没有再去Hfile中读取数据 , 为了快速的确定数据在哪个Hfile中, Hbase引入了布隆过滤器

6.如果数据是从Hfile中读取,会将数据缓存在缓存区中再返回给客户端,以便下次查询的时候提高查询效率

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。