HBase读写数据流程(通俗易懂)

HBase读数据流程

HBase读数据流程图如下:
在这里插入图片描述
HBase读数据具体流程:

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

从整体的方面看,如下图:
在这里插入图片描述

HBase写数据流程

HBase写数据流程图如下:
在这里插入图片描述
HBase写数据具体流程:

(1)Client访问ZooKeeper,获取Meta表所处位置(ip)。
(2)访问Meta表,然后读取Meta表中的数据。
(3)根据namespace(类似于关系型数据库中的数据库)、表名和RowKey在Meta表中找到该RowKey应该写入到哪个Region。
(4)找到这个Region对应的RegionServer,并发送写数据请求。
(5)HRegionServer将数据写写到HLog(Write Ahead Log)。为了数据的持久化和恢复。
(6)HRegionServer将数据写到内存(MemStore)。
(7)反馈Client写入成功。

写数据这一块也可以看出,HBase将数据写入到内存中后,就返回给客户端写入成功,响应非常快。这也是为什么HBase写数据速度快的原因。

ps:望多多支持,后续更新中。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值