hbase数据流详解

上文讲解了hbase的基本架构,对hbase框架各个组件有一定的了解,本文通过一张图解析以下hbase在读和写的情况下数据流是如何获取和落地的。

hbase数据流详解

hbase读操作

在 Hbase 中读取操作(read)涉及以下步骤:

1、首先客户端向 Zookeeper 发送读取请求,它从元数据(meta data)中提供表的地址。

2、然后进程根据地址走到各个区域服务器,如果找到数据就返回给客户端,没有就继续。

3、这里读取数据的时候,会先找WAL文件当中寻找数据,没有到缓存(menstore)中寻找,再没有才到物理存储HFile中寻找。一旦找到所属数据,就会把数据和确认标志(ACK)一起返回给客户端。

hbase写操作

在 Hbase 中写操作(put/delete)涉及以下步骤:

1、当客户端收到写的操作请求时,数据被定向写到预写日志(WAL).

2、当WAL日志达到阈值后,就把预写入的日志数据转发到MemStore当中,之后MemStore当中的数据会持久化到HDFS文件系统当中进行物理存储。

3、一旦写的操作完成后,ACK确认标志被发送回客户端作为任务完成的确认。