说明
当 MemStore
超过阀值的时候,就要 flush
到 HDFS上生成一个HFile。
因此随着不断写入,HFile的数量将会越来越多,数量过多会降低读性能。
为了避免对读性能的影响,可以对这些HFile进行 compact
操作,把多个HFile合并成一个HFile。
compact操作需要对HBase的数据进行多次的重新读写,因此这个过程会产生 大量的IO。可以看到compact操作的本质就是以IO操作换取后续的读性能的提高。
Compact两种方式
Minor
只用来做 部分文件的合并操作
将多个小文件 合并 为数量较少的大文件,减少存储文件数量
不做任何删除数据、多版本数据的清理工作