知识卡片
压缩换传输
内容
压缩的核心不是永远追求最高压缩率,而是在 CPU、磁盘、网络之间重新定价。Snappy 选择较快压缩解压速度,适合 MapReduce 中间结果这类受吞吐和流水线延迟约束的场景。
参考来源
- 位置:《大数据日知录:架构与算法》第3章《大数据常用的算法与数据结构》"3.5 Snappy与LZSS算法"一节(源文件:_epub-src/OEBPS/text00008.html)
- 结论依据:原文明确"Snappy……其目标并非是最高的数据压缩率,而是在合理的压缩率基础上追求尽可能快的压缩和解压缩速度",并说明"数据压缩与解压缩本质上是通过增加CPU计算时间成本来换取较小的存储成本,以及网络和I/O传输成本",以MapReduce的Map/Reduce阶段流水线为例说明速度比压缩率更重要。
- 原始内容:Snappy是Google开源出的高效数据压缩与解压缩算法库,其目标并非是最高的数据压缩率,而是在合理的压缩率基础上追求尽可能快的压缩和解压缩速度……数据压缩与解压缩本质上是通过增加CPU计算时间成本来换取较小的存储成本,以及网络和I/O传输成本……以MapReduce计算为例,Reduce阶段只有在Map阶段完成后才能开始……所以此时压缩和解压缩速率对于加快MR任务的完成就非常重要。