HBase的blockcache策略
cache策略已經被研究的很多了,其基本概念見
HBase里面將cache分為三類:
1. InMemory:希望其內容能夠常駐memory
2. Single:被訪問一次的block放入這里
3. Multi:被訪問不止一次的block放入這里
InMemory容易理解,在系統中的一些meta數據會被經常的訪問到,同時size又比較小,讓其能夠常駐內存而不因為內存size的限制而被替換掉是非常合理的想法。
Single和Multi的出現是為了避免scan的影響,試想如果cache的size配置為100M,而一次scan的數據大小為200M,則所有cache中的數據都將被remvoed,但是fill進cache的block卻永不會被訪問第二遍(scan的語義),這是多么的浪費。
以上想法的核心思想是將cache分級,而不是大家都呆在一層cache里面互相影響,有篇文章總結了這種想法(思想不完全相同):
浙公網安備 33010602011771號