zoukankan      html  css  js  c++  java
  • HBase的blockcache策略

    cache策略已经被研究的很多了,其基本概念见

    Wikipedia 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里面互相影响,有篇文章总结了这种想法(思想不完全相同):

    LIRS: Low Inter-reference Recency Set Replacement for VM and Buffer Caches...

  • 相关阅读:
    [SCOI2010] 生成字符串
    [NOIp2010] 机器翻译
    [CF792E] Colored Balls
    JS6-函数1
    JS6-字符串
    JS6-函数
    JS
    Bootstrap
    JQuery 自己的理解
    JQuery
  • 原文地址:https://www.cnblogs.com/raymondshiquan/p/2115397.html
Copyright © 2011-2022 走看看