当数据驻留在hdfs(hfile)上时,hbase的读取性能如何

wgx48brx  于 2021-06-09  发布在  Hbase
关注(0)|答案(1)|浏览(352)

众所周知,当内存中的数据达到某个阈值时,内存中的数据将作为hfile被刷新到hdfs中
当我想通过row键获取一段数据,但数据在hdfs上时,hbase如何保证检索速度(或随机访问速度)?看起来比从内存中检索要慢得多?

tf7tbtn2

tf7tbtn21#

来自hbase参考指南:
hbase提供了两种不同的blockcache实现来缓存从hdfs读取的数据:默认的on heap LruBlockCache 以及 BucketCache ,通常是堆外的。。。 LruBlockCache 是原始实现,并且完全在java堆中。bucketcache是可选的,主要用于保持块缓存数据远离堆。。。
hbase还收集块缓存统计数据,并通过其web用户界面显示这些数据。通过适当的调整,你可以达到90%-95%的命中率,所以你大部分时间还是在读内存。

相关问题