HBase的写流程和读流程

本文详细介绍了HBase的写入和读取流程。在写流程中,client首先通过zookeeper获取meta表RegionServer信息,然后将数据写入WAL和MemStore并排序。读流程同样从zookeeper开始,经过BlockCache和MemStore查找数据,优化查询效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 HBase写流程

1、client向zookeeper发送请求,获取meta表所在的RegionServer的位置信息

2、zookeeper返回RegionServer信息

3、client向对应的RegionServer发送请求,获取meta表信息

4、相应的RegionServer返回meta表信息(客户端会对返回的meta表信息进行缓存 meta cache)

5、client根据表中的信息向对应的region所在的RegionServer发起写数据请求(通过表中的Rowkey查询到目标数据位于哪个RegionServer中的region中)

6、将数据写入预写日志WAL中,再由WAL写入MemStore中,并且再MemStore中对数据进行排序

7、RegionServer向客户端发送ack

 

HBase读流程

1、client向zookeeper发送请求,获取meta表所在的RegionServer的位置信息

2、zookeeper返回RegionServer信息

3、client向对应的RegionServer发送请求,获取meta表信息

4、相应的RegionServer返回meta表信息(客户端会对返回的meta表信息进行缓存 meta cache)

5、chient向RegionServer发送读数据请求,分别再BlockCache和MemStore中读取数据(BlockCache中有之前读取的数据缓存在那里),先读取BlockCache中的数据,如果没有找到再读取MemStore(HFile)中的数据,将查询到的数据块写入到BlockCache中,并对数据进行合并处理。(HFile中存储有数据信息以及数据的索引信息,根据索引查询数据效率更高)

6、将合并后的最终结果返回给客户端

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值