`
greemranqq
  • 浏览: 975427 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

snappy,lz4 的对比

阅读更多

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

 

Compressor name Compression Decompress Compr. size Ratio
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/

 

分享到:
评论

相关推荐

    将 Snappy、LZO、LZ4 和 Zstandard 移植到Java_代码_下载

    该库包含 用纯 Java 编写的LZ4、 Zstandard (Zstd)、 Snappy和 LZO的实现。它们通常比本地库的 JNI 包装器快 10-40%。 Hadoop 压缩编解码器 除了原始块编码器之外,每个算法都有 Hadoop CompressionCodec 的实现。...

    source_lzo_lz_snappy1.rar

    标题中的"source_lzo_lz_snappy1.rar"暗示了这个压缩包可能包含了与数据压缩相关的源代码或库,特别是LZO、LZ和Snappy这三种不同的压缩算法。LZO(Lempel-Ziv-Oberhumer)是一种快速但压缩率较低的压缩算法,适用于...

    lz4_win32_v1_9_3.zip

    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...

    snappy压缩,解压算法

    4. **应用场景**: - **大数据处理**:Snappy常被Hadoop、Spark等大数据框架用于中间数据的压缩,以减少I/O开销。 - **数据库系统**:例如,Google的Bigtable和Apache Cassandra都使用Snappy压缩存储数据。 - **...

    windows下的snappy动态库

    4. 使用Snappy提供的API进行数据的压缩和解压缩操作,例如`snappy::Compress`和`snappy::Uncompress`函数。 在实际开发中,为了确保跨平台兼容性,开发者可能会选择使用CMake等构建工具来管理依赖和编译过程,尤其...

    snappy-1.1.9.tar.gz

    4. **Snappy的特性**: - 高速压缩和解压缩:Snappy的突出特点是快速,尤其在处理大量数据时。 - 低压缩率:相比其他高级压缩算法,Snappy的压缩比例较低,但能保证处理速度。 - 适合流式处理:Snappy可以有效地...

    Snappy vc2010版

    4. Snappy.h:这是Snappy库的主要头文件,提供了对外的API接口,供用户在自己的代码中调用Snappy的功能。 5. Snappy-internal.h:可能包含了库内部使用的辅助结构和函数,不建议用户直接使用。 6. Snappy-sinksource...

    谷歌官网的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 ...

    snappy-java-1.1.8.2-API文档-中文版.zip

    赠送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文档...

    hadoop3.x带snappy(可用于windows本地开发)

    4. **测试验证**:完成安装后,通过Hadoop命令行工具进行测试,如`hadoop fs -text`或`hadoop fs -cat`,检查Snappy压缩文件是否能正常读取。 总之,"hadoop3.x带snappy(可用于windows本地开发)"是一个专为Windows...

    snappy压缩算法源码

    Snappy(旧称:Zippy)是Google基于LZ77的思路用C++语言编写的快速数据压缩与解压程序库,并在2011年开源。其目标并非最大压缩率或与其他压缩程序的兼容性,而是非常高的速度和合理的压缩率。使用一个运行在64位模式...

    snappy library

    Snappy库是一个高效的数据压缩和解压缩库,主要由Google开发,用于提高大...如果需要更高的压缩比,可以考虑使用其他如gzip或lz4等压缩库。在选择压缩库时,应根据具体需求权衡压缩效率、解压缩速度和压缩比等因素。

    Snappy:用于生成缩略图,快照,PDF,URL或HTML页面的php类库

    4. **配置灵活**:Snappy允许设置各种转换参数,如纸张大小、页面方向、图像质量等,以满足不同的需求。 5. **错误处理**:当转换过程中出现问题时,Snappy会抛出异常,便于开发者捕获并处理错误。 6. **内存管理*...

    Hadoop源码编译支持Snappy压缩教程

    为了更好地理解Snappy的适用场景,可以通过与Hadoop中其他常用压缩算法进行对比分析。下表展示了不同压缩算法的主要特性: | 压缩算法 | 压缩比 | 压缩速度 | 解压缩速度 | CPU消耗 | |----------|--------|-------...

    11Snappy-压缩工具-windows

    4. 配置CMake:Caffe通常使用CMake进行跨平台的构建配置。在CMake中,需要指定各个依赖库的路径,包括Snappy的头文件和库文件位置。 5. 构建项目:使用CMake生成解决方案文件,然后在Visual Studio中打开并编译项目...

    snappy-windows-1.1.7.rar

    4. **错误处理**:Snappy的API函数通常会通过返回值(例如,`false`表示失败)来报告错误。在实际应用中,需要对这些错误进行适当的处理。 标签"snappy-stubs"表明这个版本的Snappy可能包含了库的一些内部实现的...

    snappy-1.1.3.tar

    snappy压缩包

    snappy-java-1.0.4.1-API文档-中英对照版.zip

    赠送jar包:snappy-java-1.0.4.1.jar; 赠送原API文档:snappy-java-1.0.4.1-javadoc.jar; 赠送源代码:snappy-java-1.0.4.1-sources.jar; 赠送Maven依赖信息文件:snappy-java-1.0.4.1.pom; 包含翻译后的API文档...

    hadoop snappy编译安装包

    4. 使用`./configure`命令进行配置。 5. 运行`make`进行编译。 6. 运行`make check`进行测试,确保编译无误。 7. 使用`sudo make install`将编译好的库安装到系统路径。 六、部署到Hadoop与HBase 1. 将编译好的...

Global site tag (gtag.js) - Google Analytics