1.介绍
bzip2:一个完全免费,免费专利和高质量的数据压缩
LZ4 :非常快速的压缩算法
LZHAM :无损压缩数据库,压缩比率跟LZMA接近,但是解压缩速度却要快得多。
LZMA :7z格式默认和通用的压缩方法。
LZMAT :及其快速的实时无损数据压缩库
Snappy :快速压缩和解压缩
ZLib :非常紧凑的数据流压缩库
ZZIPlib:提供ZIP归档的读权限
这里主要看看snappy 和LZ4 的对比
原文地址:https://www.percona.com/blog/2016/04/13/evaluating-database-compression-methods-update/
2.压缩和解压的速度比对
可以看出:lz4 最快,snappy 第二
2.压缩比例
可以看出:lzma 压缩比最高,毕竟是最慢的, lz4 , snappy ,QuickLZ 相当
3.压缩和解压缩
可以看出: lz4 解压和压缩都比较高,snappy 表现一般
4.压缩速度和 文件块块 压缩速度对比
可以看出:lz4 最佳压缩块是64KB , snappy 变化并不大
5. 压缩速度 和 文件大小 对比
可以看出:LZ4 的压缩速度 850M/S 最快,snappy 第二
6. 各版本的差异对比
测试代码:https://github.com/inikep/lzbench
lz4 1.7.5 | 452 MB/s | 2244 MB/s | 100880800 | 47.60 |
lz4fast 1.7.5 -3 | 522 MB/s | 2244 MB/s | 107066190 | 50.52 |
lz4fast 1.7.5 -17 | 785 MB/s | 2601 MB/s | 131732802 | 62.15 |
lz4hc 1.7.5 -1 | 100 MB/s | 2056 MB/s | 87591763 | 41.33 |
lz4hc 1.7.5 -4 | 56 MB/s | 2200 MB/s | 79807909 | 37.65 |
lz4hc 1.7.5 -9 | 23 MB/s | 2253 MB/s | 77892285 | 36.75 |
lz4hc 1.7.5 -12 | 3.52 MB/s | 2281 MB/s | 77268977 | 36.46 |
snappy 1.1.4 | 327 MB/s | 1075 MB/s | 102146767 | 48.19 |
小结:
1.snappy 从各个方面是相对均衡的压缩算法,使用场景比较多
2.lz4 是了解到各方面都比较优越的算法,能用的地方可以参考上面的表,进行选择。但是hbase 由于许可证的原因,至少目前用不了这个东西
3.当然还有其他的 lzo,gz,zlib 等等,相比上面两种来说要差一些,当然特殊场景下可以择优选取,但是通用场景选 snappy 或者 lz4 是比较不错的。
参考别人的结果:http://developer.51cto.com/art/201501/463096.htm
参考压缩结果:http://java-performance.info/performance-general-compression/
相关推荐
该库包含 用纯 Java 编写的LZ4、 Zstandard (Zstd)、 Snappy和 LZO的实现。它们通常比本地库的 JNI 包装器快 10-40%。 Hadoop 压缩编解码器 除了原始块编码器之外,每个算法都有 Hadoop CompressionCodec 的实现。...
LZ4 (r59) 2.084 330 915 LZO 2.05 1x_1 2.038 311 480 QuickLZ 1.5 -1 2.233 257 277 Snappy 1.0.5 2.024 227 729 LZF 2.076 197 465 FastLZ 2.030 190 420 zlib 1.2.5 -1 2.728 39 195 LZ4 HC (r66) 2.712...
source_lzo_lz_snappy1.rar
对snappy压缩研究后的算法详解,有兴趣的可以看看
Snappy is a compression/decompression library. It does not aim for maximum compression, or compatibility with any other compression library; instead, it aims for very high speeds and reasonable ...
赠送jar包:snappy-java-1.1.8.2.jar; 赠送原API文档:snappy-java-1.1.8.2-javadoc.jar; 赠送源代码:snappy-java-1.1.8.2-sources.jar; 赠送Maven依赖信息文件:snappy-java-1.1.8.2.pom; 包含翻译后的API文档...
snappy压缩包
snappy-1.0.5源码
snappy-0.4.jar
EasyCompressor 一个压缩库,可实现许多压缩算法,例如LZ4,Zstd,LZMA,Snappy,Brotli,GZip和Deflate 。 它通过减少用于缓存的内存使用量和网络流量来帮助您提高性能。Nuget软件包包裹名字版本描述 包含GZip,...
Snappy(旧称:Zippy)是Google基于LZ77的思路用C++语言编写的快速数据压缩与解压程序库,并在2011年开源。其目标并非最大压缩率或与其他压缩程序的兼容性,而是非常高的速度和合理的压缩率。使用一个运行在64位模式...
snappy-1.1.9.tar.gz
配置hadoop支持LZO和snappy压缩
snappy压缩技术的源码,是google云存储的基础
snappy源码,php模拟浏览器的工具。
谷歌Snappy在平台的开发包,包括:snappy.lib,snappy.h,snappy-stubs-public.h
github官网还要编译 非常麻烦 找了好久才找到的编译好的dll库文件
hadoop本地库加载时snappy库显示false,需配置snappy库
赠送jar包:snappy-java-1.1.8.2.jar; 赠送原API文档:snappy-java-1.1.8.2-javadoc.jar; 赠送源代码:snappy-java-1.1.8.2-sources.jar; 赠送Maven依赖信息文件:snappy-java-1.1.8.2.pom; 包含翻译后的API文档...
赠送jar包:snappy-java-1.1.7.1.jar; 赠送原API文档:snappy-java-1.1.7.1-javadoc.jar; 赠送源代码:snappy-java-1.1.7.1-sources.jar; 赠送Maven依赖信息文件:snappy-java-1.1.7.1.pom; 包含翻译后的API文档...