3-Hbase 合并

  • 合并非为两种: 大合并小合并。两者将重整存储在 HFile 里的数据。
  • 小合并

    • 小合并把多个小的HFile 合并生成一个大的HFile
    • HBase 根据文件的号码和大小决定合并哪些文件
    • 小合并是轻量级的, 可以频繁发生。
    • 小合并涉及出发点是轻微影响 HBase 的性能, 所以涉及的HFile 的数量有上限, 这些都可以设置.
    因为读出一条完整的行可能引用很多文件, 限制 HFile 的数量对于性能很重要。
    
    执行合并时:
        - HBase 读出已有的多个 HFile 的内容, 把记录写入一个新文件。 
        - 然后把新文件设置为激活状态,删除构成这个新文件的所有老文件。

  • 大合并

    • 大合并将处理给定 region 的一个列族的所有 HFile 。
    • 大合并完成后, 这个列族的所有 HFile 合并成一个文件。
    可以从 Shell 中手工触发整个表(或者特定的region)的大合并。
    这个动作非常耗资源, 不要经常使用.

    -大合并是 HBase 清理被删除记录的唯一机会。

    因为我们不能保证被删除的记录和墓碑标记记录在一个 HFile 里面。
    大合并是唯一机会, HBase 可以确保同时访问到两种记录。

你可能感兴趣的:(hbase)