Hbase读写数据流程

在这里插入图片描述

HBase 读数据流程

1.HRegionServer 保存着meta 表以及表数据,要访问表数据,首先 Client 先去访问
zookeeper,从 zookeeper 里面获取meta 表所在的位置信息,即找到这个meta 表在哪个
HRegionServer 上保存着。
2.接着Client 通过刚才获取到的 HRegionServer 的 IP 来访问 Meta 表所在的

HRegionServer,从而读取到 Meta,进而获取到 Meta 表中存放的元数据。
3.Client 通过元数据中存储的信息,访问对应的HRegionServer,然后扫描所在
HRegionServer 的Memstore 和 Storefile 来查询数据。
4.最后 HRegionServer 把查询到的数据响应给Client。

HBase 写数据流程

1.Client 也是先访问 zookeeper,找到 Meta 表,并获取 Meta 表信息。
2.确定当前将要写入的数据所对应的 RegionServer 服务器和Region。
3.Client 向该 RegionServer 服务器发起写入数据请求,然后RegionServer 收到请求并响应。
4.Client 先把数据写入到 HLog,以防止数据丢失。
5.然后将数据写入到Memstore。
6.如果 Hlog 和Memstore 均写入成功,则这条数据写入成功。在此过程中,如果 Memstore
达到阈值,会把 Memstore 中的数据 flush 到 StoreFile 中。
7.当 Storefile 越来越多,会触发Compact 合并操作,把过多的 Storefile 合并成一个大的
Storefile。当 Storefile 越来越大,Region 也会越来越大,达到阈值后,会触发 Split 操作, 将 Region 一分为二。
特别提示:因为内存空间是有限的,所以说溢写过程必定伴随着大量的小文件产生。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值