数据驻留在HDFS(HFile)上时,HBase的读取性能如何?

时间:2019-06-10 02:09:25

标签: hbase

我们知道,当内存中的数据达到阈值时,内存中的数据将作为HFile刷新到HDFS

当我想通过行键获取一条数据,但是数据在HDFS上时,HBase如何保证检索速度(或随机访问速度)?看起来这比从内存存储中检索要慢得多?

1 个答案:

答案 0 :(得分:1)

从HBase Reference Guide

  

HBase提供了两种不同的BlockCache实现来缓存数据   从HDFS中读取:默认的堆上LruBlockCacheBucketCache,   通常是堆外的...

LruBlockCache是原始的   实现,并且完全在Java堆中。 “ BucketCache”为   可选,主要用于保持块缓存数据不在堆中。

HBase还收集块缓存统计信息,并通过其Web UI呈现它们。通过适当的调整,您可以达到90%-95%的命中率,因此您大部分时间仍在从内存中读取数据。