读流程
Hbase读数据流程图
HBase流程具体流程
- Client先访问zookeeper,从meta表读取region的位置,然后读取meta表中的数据。meta中又存储了用户表的region信息。
- 根据namespace,表明和rowkey在meta表中找到对应的region信息。
- 查找对应的region。
- 先从MemStore找数据,如果没有,再到BlockCache里面读。
- BlockCache还没有,在到StoreFile上读(为了读取的效率)。
- 如果是从StoreFile里面读取的数据,不是直接返回给客户端,而是先写入BlockCache,再返回给客户端
写流程
- Client向HregionServer发送写请求
- HRegionServer将数据写到HLog(write ahead log)。为了数据的持久化和恢复
- HRegionServer将数据写到内存(MemStore)
- 反馈Client写入成功