写点什么

亚马逊将自有服务数据的压缩从 Gzip 切换为 Zstd

作者:Renato Losio

  • 2022-10-09
    北京
  • 本文字数:1149 字

    阅读完需:约 4 分钟

亚马逊将自有服务数据的压缩从Gzip切换为Zstd

最近,亚马逊前副总裁Adrian Cockcroft在推文中特别指出了从 gzip 切换到 Zstandard 压缩所带来的好处,这在社区中引发了关于压缩算法的讨论。其他大公司,包括 Twitter 和 Honeycomb,也分享了使用 zstd 获得的收益。

 

最近,Dan Luu分析了推特存储节省的情况,并在推特上发起了一场对话:

我想知道 Yann Collect 创建 zstd 到底消除了多少浪费。我估算了下 Twitter 的数值(与大型科技公司相比微不足道),从 HDFS 切换到 zstd 每年节省的数量大约为 8 位数的中值。在世界范围内(非年化),这个数值应该不低于 9 位数?

 

Cockcroft 回复说:

亚马逊从 gzip 切换到 zstd,压缩 S3 存储量减少了大约 30%,达艾字节的规模。

 

Zstandard(其 C 语言实现 zstd 更为知名)是由 Facebook 公司的Yann Collet开发的无损数据压缩算法,在多种数据集上提供了很高的压缩比和非常好的性能。该参考实现库是一个遵循 BSD 许可的开源软件,它提供了一个速度极快的解码器,允许我们在速度和压缩比之间做大范围权衡。

 

起初,Cockcroft 的表述在社区中引发了质疑,一些开发人员询问亚马逊如何在 S3 上压缩客户数据。亚马逊一名内部员工澄清道

Adrian 说错了,或许是所有人都误解了他的意思。他的意思并不是说 S3 改变了存储压缩客户数据的方式。他的意思是亚马逊改变了在 S3 中存储自有服务数据(主要是日志)的方式——从 gzip 日志切换到 ztsd 日志,我们(作为 S3 的一个客户)能够将 S3 存储成本降低 30%。

 

Honeycomb 首席开发者大使Liz Fong-Jones赞同切换到 zstd:

我们不把它用于列文件,因为那太慢了,但我们把它用于 Kafka(…),在生产环境中从 snappy 切换到 zstd 后,Honeycomb 节省了 25%的带宽。(…)不仅仅是存储和计算,对我们来说,是网络。亚马逊跨 AZ 的数据传输非常昂贵。

 

Reddit一个热门的帖子中,noirknight 是众多提供正反馈的用户之一:

我的公司几年前也做过类似的事情,也看到了类似的好处。只要可能,我们都使用 zstandard,不仅仅是存储,还有其他东西,比如内部 HTTP 通信。

 

以下是用户treffer在Hacker News上的评论

速度特别快的压缩算法(zstd、lz4、snappy、lzo……)是值得我们付出 CPU 成本的,而且几乎没有什么缺点。问题在于找到最佳契合点,在不产生 CPU 瓶颈的情况下减少当前的瓶颈,不过在这方面,zstd 也提供了最大的灵活性。

 

亚马逊在一些托管服务的 API 中公开了 Zstandard 和对其他压缩算法的支持。例如,在Amazon Redshift中引入Zstandard支持后,这家云提供商针对云数据仓库开发了自己的算法AZ64。按照他们的说法,其专有压缩算法比 zstd 编码节省 5-10%的存储空间,并且速度快 70%。

 

亚马逊官方没有就其内部数据使用的压缩技术或相关的 S3 存储节省发表任何评论。

 

原文链接:

https://www.infoq.com/news/2022/09/amazon-gzip-zstd/


相关阅读:

Node.js|使用 zlib 内置模块进行 gzip 压缩

一种优于 gzip 的压缩方式 Brotli

2022-10-09 15:338293

评论

发布
暂无评论
发现更多内容

实现一键部署与高效集群管理,SphereEx-Boot 正式上线

SphereEx

开源 开源社区 SphereEx ShadingSphere 一键安装

模块八作业

panxiaochun

架构实战营

基于Gradle的Spring源码下载及构建技巧

Tom弹架构

Java spring 源码

2022 年你必须知道的 Serverless 云产品

开源之巅

Serverless 云开发

网易有道项目实践技术分享合集

有道技术团队

技术分享 网易有道 技术专题合集

社区原生的 Go Agent 即将开源

火线安全

DevSecOps IAST

架构训练营 - 模块三作业

伊静西蒙

助车企升级,旺链科技与南方电网、联想等名企同斩获「创新案例奖」

旺链科技

区块链 产业区块链 供应链金融

千万级日志回放引擎设计稿

FunTester

性能测试 测试框架 FunTester 流量回放 GOREPLAY

腾讯云容器安全获得云安全守卫者计划优秀案例

腾讯安全云鼎实验室

容器安全

一文带你了解数据库安全基础

坚果

数据库 28天写作 12月日更

恒源云(GPUSHARE)_云GPU服务器如何使用SpaCy?

恒源云

gpu 服务器 自然语言

使用Docker Configs存储配置信息

yombo

Docker Docker Swarm

30个类手写Spring核心原理之自定义ORM(下)(7)

Tom弹架构

Java spring 源码

How old are you | 尚硅谷大数据之Canal视频教程

编程江湖

大数据 canal

Dubbo 框架学习笔记十七

风翱

dubbo 12月日更

人工智能(NLP)|社交网络中的网络表示学习技术研究

索信达控股

人工智能 算法 网络结构

接口文档自动更改?百度程序员开发效率MAX的秘诀

百度Geek说

百度 前端 工具 后端 软件开发

域名基本信息查询小技巧

喀拉峻

网络安全 安全 信息安全

seata分布式事务AT模式介绍(二)

恒生LIGHT云社区

分布式 分布式事务 seata

爆肝30天,肝出来史上最透彻Spring原理和27道高频面试题总结

Tom弹架构

Java spring 源码

用EasyRecovery恢复手残误删的文件

淋雨

EasyRecovery

基于DataX的数据同步(下)-应用DataX进行数据同步

恒生LIGHT云社区

数据库 数据同步 DataX

用300行代码手写1个Spring框架,麻雀虽小五脏俱全

Tom弹架构

Java spring 源码

三位一体,网易智企的融合与进击

ToB行业头条

揭秘字节跳动基于Hudi的实时数据湖平台

字节跳动数据平台

大数据 实时数据湖

一次完整的渗透测试&仅供学习研究

H

黑客 网络安全 渗透测试·

谈谈Golang的同步等待组

恒生LIGHT云社区

golang Go 语言

Spring框架基础知识(03)

海拥(haiyong.site)

28天写作 12月日更

整理了一些JPA常用注解

yombo

Java Spring JPA

Apsara Stack 技术百科|标准化的云时代:一云多芯

云计算 芯片 科技 混合云

亚马逊将自有服务数据的压缩从Gzip切换为Zstd_架构_InfoQ精选文章