在hbase读流程中有一个很重要的组件就是Block Cache,这个是用来优化读取速度的,每个RegionServer中只有一个Block
Cache。 整个过程是这样的
Client首先请求Zookeeper获取到Meta所在的位置,然后请求该位置,获取到目标表的位置,该位置就是表具体所在的RegionServer了,hbase会去读取MemStore和StoreFile,如果Block
Cache有值也会返回Block
Cache的值,然后取TimeStamp最大的那个值返回给Client,然后把从StoreFile里面的值存储到Block
Cache,这样下次重复读取就不用在去磁盘扫描同一个File了。只需要去磁盘读取最新Flush进去的File。
以上就是Hbase的读流程,和所使用的的组件了。