📜  HBase读取

📅  最后修改于: 2020-12-03 01:50:21             🧑  作者: Mango

HBase读取

必须在HFiles,MemStore和BLOCKCACHE之间协调对HBase的读取.BlockCache旨在将HFiles中经常访问的数据保留在内存中,以避免磁盘读取。每个列族都有自己的BlockCache.BlockCache包含以下形式的数据“块'',是HBase一次通过磁盘从磁盘读取的数据单位.HFile物理布局为一系列块以及这些块上的索引。这意味着从HBase读取块仅需要在索引中查找该块的位置并从磁盘中检索它。

块:它是最小的索引数据单元,也是可以从磁盘读取的最小数据单元。默认大小为64KB。

方案,当首选较小的块大小时:执行随机查找。具有较小的块会创建较大的索引,从而消耗更多的内存。

方案,当首选更大的块大小时:频繁执行顺序扫描。这样可以节省内存,因为较大的块意味着较少的索引条目,因此较小的索引。

从HBase读取一行需要首先检查MemStore,然后检查BlockCache,最后,访问磁盘上的HFile。