Hbase读写流程

Hbase读流程

在这里插入图片描述

读流程:

  1. Client 先访问 zookeeper,从 meta 表读取 region 的位置,然后读取 meta 表中的数据。meta 中又存储了用户表的 region 信息;
  2. 根据 namespace、表名和 rowkey 在 meta 表中找到对应的 region 信息;
  3. 找到这个 region 对应的 regionserver;
  4. 查找对应的 region;
  5. 先从 BlockCache 找数据,如果没有,再到 MemStore 里面读;
  6. MemStore 还没有,再到 StoreFile 上读(为了读取的效率);
  7. 如果是从 StoreFile 里面读取的数据,不是直接返回给客户端,而是先写入 BlockCache,再 返回给客户端

Hbase写流程

在这里插入图片描述

写流程:
1.Client 先访问 zookeeper,找到 Meta 表,并获取 Meta 表元数据。
2.确定当前将要写入的数据所对应的 HRegion 和 HRegionServer 服务器。
3. Client 向该 HRegionServer 服务器发起写入数据请求,然后HRegionServer 收到请求并响应。
4. Client 先把数据写入到 HLog,以防止数据丢失。
5. 然后将数据写入到 Memstore。
6. 如果 HLog 和 Memstore 均写入成功,则这条数据写入成功
7. 如果 Memstore 达到阈值,会把 Memstore 中的数据 flush 到 Storefile 中。
8. 当 Storefile 越来越多,会触发 Compact 合并操作,把过多的 Storefile 合并成一个大的 Storefile。
9. 当 Storefile 越来越大,Region 也会越来越大,达到阈值后,会触发 Split 操作,将Region 一分为二。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值