HBase读写数据流程(通俗易懂)

    技术2023-08-19  70

    HBase读写数据流程

    HBase读数据流程HBase写数据流程

    HBase读数据流程

    HBase读数据流程图如下: HBase读数据具体流程:

    (1)Client先访问zookeeper,从meta表读取region的位置,然后读取meta表中的数据。meta中又存储了用户表的region信息。 (2)根据Rowkey在meta表中找到对应的region信息。 (3)找到这个Region对应的RegionServer。 (4)查找对应的Region。 (5)先从MemStore找数据,如果没有,再到BlockCache里面读。 (6)BlockCache还没有,在到StoreFile上读(为了读取的效率)。 (7)如果是从StoreFile里面读取的数据,不是直接返回给客户端,而是先写入BlockCache,再返回给客户端。

    从整体的方面看,如下图:

    HBase写数据流程

    HBase写数据流程图如下: HBase写数据具体流程:

    (1)Client访问ZooKeeper,获取Meta表所处位置(ip)。 (2)访问Meta表,然后读取Meta表中的数据。 (3)根据namespace(类似于关系型数据库中的数据库)、表名和RowKey在Meta表中找到该RowKey应该写入到哪个Region。 (4)找到这个Region对应的RegionServer,并发送写数据请求。 (5)HRegionServer将数据写写到HLog(Write Ahead Log)。为了数据的持久化和恢复。 (6)HRegionServer将数据写到内存(MemStore)。 (7)反馈Client写入成功。

    写数据这一块也可以看出,HBase将数据写入到内存中后,就返回给客户端写入成功,响应非常快。这也是为什么HBase写数据速度快的原因。

    ps:望多多支持,后续更新中。。。

    Processed: 0.009, SQL: 9