hbase数据读写流程
作者:互联网
hbase写数据流程
- ⾸先从 zk找到meta表的region位置,然后读取meta表中的数据,meta表中存储了用户表的region信息
- 根据namespace、表名和rowkey信息。找到写入数据对应的 region信息
- 找到这个region对应的regionServer,然后发送请求
- 把数据分别写到HLog(write ahead log)和memstore各一份
- memstore达到阈值后把数据刷到磁盘,⽣成 storeFile文件
- 删除HLog中的历史数据(已经刷到磁盘的数据)
hbase读数据流程
-
首先从 zk找到meta表的region位置,然后读取meta表中的数据,meta表中存储了用户表的 region信息
-
根据要查询的namespace、表名和rowkey信息。找到写入数据对应的 region信息
-
找到这个region对应的regionServer,然后发送请求
-
查找对应的region
-
先从memstore查找数据,如果没有,再从BlockCache上读取
HBase上Regionserver的内存分为两个部分
- 一部分作为 Memstore,主要用来写;
- 另外一部分作为 BlockCache,主要用于读数据;
-
如果BlockCache中也没有找到,再到StoreFile上进行读取
从storeFile中读取到数据之后,不是直接把结果数据返回给客户端, 而是把数据先写入到 BlockCache中,目的是为了加快后续的查询;然后再返回结果给客户端。
标签:BlockCache,读取,流程,region,meta,表中,hbase,数据,读写 来源: https://www.cnblogs.com/kyle-blog/p/14288200.html