HBase学习七:Compaction

1、简介

Compaction是从一个Region的一个Store中选择部分HFile文件进行合并。其目的为了减少 HFile 的个数跟清理掉过期和删除的数据。

合并原理是,先从这些待合并的数据文件中依次读出KeyValue,再由小到大排序后写入一个新的文件。之后,这个新生成的文件就会取代之前已合并的所有文件对外提供服务。

HBase根据合并规模将Compaction分为两类:Minor Compaction和Major Compaction。

  • Minor Compaction是指选取部分小的、相邻的HFile,将它们合并成一个更大的HFile。
  • Major Compaction是指将一个Store中所有的HFile合并成一个HFile,这个过程还会完全清理三类无意义数据:被删除的数据、TTL过期数据、版本号超过设定版本号的数据。一般情况下,Major Compaction持续时间会比较长,整个过程会消耗大量系统资源,对上层业务有比较大的影响。因此线上部分数据量较大的业务通常推荐关闭自动触发Major Compaction功能,改为在业务低峰期手动触发(或设置策略自动在低峰期触发)。

2、作用

  • 合并小文件,减少文件数,稳定随机读延迟。
  • 提高数据的本地化率。
  • 清除无效数据,减少数据存储量

3、优缺点

优点:

  • Compaction的另一个重要作用是提高数据的本地化率。本地化率越高,在HDFS上访问数据时延迟就越小;相反,本地化率越低,访问数据就可能大概率需要通过网络访问,延迟必然会比较大。Compaction合

相关推荐

  1. HBase学习Compaction

    2024-01-18 11:42:01       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-18 11:42:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-18 11:42:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-18 11:42:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-18 11:42:01       18 阅读

热门阅读

  1. 线上部署springboot和vue开发的博客需要替换的地方

    2024-01-18 11:42:01       28 阅读
  2. 剑指offer面试题6 重建二叉树

    2024-01-18 11:42:01       31 阅读
  3. Linux 常用的一些命令

    2024-01-18 11:42:01       33 阅读