Hbase压缩算法
HBase包含两类压缩机制:DataBlockEncode前缀压缩和文件级别的压缩Compress。
对于DataBlockEncode前缀压缩,提供了三种算法:PREFIX\DIFF\FAST_DIFF,其中FAST_DIFF的压缩比和性能最优,推荐使用。
对于文件级别的压缩,也提供了三种压缩算法:LZO\GZ\SNAPPY。
三种压缩算法比较如下:
GZ的压缩率最高,但是其实CPU密集型的,对CPU的消耗比其他算法要多,压缩和解压速度也慢。
LZO的压缩率居中,比GZIP要低一些,但是压缩和解压速度明显要比GZIP快很多,其中解压速度快的更多。
SNAPPY的压缩率最低,而压缩要稍微比LZO要快一些,解压速度与LZO相当,能够在CPU和IO之间较为平衡。
一般情况下,选择FAST_DIFF(使用该算法会提高系统性能并降低系统所需容量,默认所有计算公式均使用此算法)和SNAPPY压缩,并使用HDFS的3副本,基本可以认为,
原始业务数据量大小:存入HBase后数据量大小(占用HDFS文件系统的容量大小)≈1:1.3