HBase读写流程底层原理
读流程1
我们还是以三个RegionServer为例,一个客户端,一个zk。
我们读的时候肯定是要发get请求了。我们要通过Table,RowKey寻找数据,我们通过RowKey就可以判断出在哪个Region,然后通过Region就可以找到哪个RegionServer,然后我们客户端就可以通过RegionServer去读我们想要的数据了。实际上我们读的时候也是获取源数据表的信息,通过谁获取?通过zk,拿到源数据表的信息之后我们还是放到缓存中,方便下一次读取,然后我们根据元数据表中的信息,源数据表中记录了每一个RowKey的范围,也就是我们上一次说的起始位置,以及这个Region在哪个RegionServer上,然后我们就可以寻找到文件的所在位置,这样一来,我们就拿到数据了。
第一步还是客户端向zk去拿meta表所在位置,第二步zk给它返回所在位置信息。
客户端拿到元数据之后,会向对应的RegionServer请求,请求完毕之后我干嘛呢?我仍然继续缓存。这里的步骤和写流程的步骤其实是很像的。
拿到元数据信息后,还是