HBase 读取

2024年8月28日 | 1分钟阅读

针对 HBase 的读取必须在 HFiles、MemStore 和 BLOCKCACHE 之间进行协调。BlockCache 旨在将 HFiles 中经常访问的数据保存在内存中,以避免磁盘读取。每个列族都有自己的 BlockCache。BlockCache 包含以“块”形式存在的数据,作为 HBase 一次从磁盘读取的数据单元。HFile 在物理上被布置为块序列加上这些块的索引。这意味着从 HBase 读取一个块只需要在索引中查找该块的位置并从磁盘检索它。

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

首选较小块大小的场景: 用于执行随机查找。拥有较小的块会创建一个较大的索引,从而消耗更多的内存。

首选较大块大小的场景: 经常执行顺序扫描。这允许您节省内存,因为较大的块意味着较少的索引条目,从而产生较小的索引。

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

下一主题HBase 写入