Hbase架构和读写流程图解

在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HBase读写流程如下: 1. 客户端向 HMaster 发送请求,获取对应表的 HRegionServer 列表。 2. 客户端根据 HRegionServer 列表,向对应的 HRegionServer 发送请求。 3. HRegionServer 根据请求的操作类型,将请求转发给对应的 HRegion。 4. HRegion 读取或写入数据,并将结果返回给 HRegionServer。 5. HRegionServer 将结果返回给客户端。 具体地,对于写入数据,HBase 采用了 Write-Ahead-Log(WAL)和 MemStore 的机制: 1. 客户端向 HMaster 发送写入请求。 2. HMaster 获取对应表的 HRegionServer 列表,并向每个 HRegionServer 发送写入请求。 3. HRegionServer 接收到写入请求后,将数据写入 WAL。 4. 同时,HRegionServer 将数据写入内存中的 MemStore。 5. 当 MemStore 达到一定大小时,将 MemStore 中的数据写入 HDFS 中的 StoreFile。 6. HRegionServer 返回写入成功的结果。 对于读取数据,HBase 采用基于 LSM-Tree 的机制: 1. 客户端向 HMaster 发送读取请求。 2. HMaster 获取对应表的 HRegionServer 列表,并向每个 HRegionServer 发送读取请求。 3. HRegionServer 接收到读取请求后,根据请求的 RowKey,查找 MemStore 和 StoreFile 中的数据。 4. 如果在 MemStore 中找到数据,则直接返回。 5. 如果在 MemStore 中未找到数据,则在 StoreFile 中查找。 6. 如果在 StoreFile 中找到数据,则返回。 7. 如果在 StoreFile 中未找到数据,则向更高层级的 StoreFile 查找,直到找到或查找到最顶层的 StoreFile。 8. 如果在所有的 StoreFile 中都未找到数据,则返回不存在的结果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值