写点什么

亚马逊将自有服务数据的压缩从 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:338679

评论

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

更方便的集成使用!IoTDB plugin 上线 Grafana 官网!

Apache IoTDB

CCF C³ 走进百度:大模型与可持续生态发展

飞桨PaddlePaddle

人工智能 百度飞桨 文心大模型 重磅活动

使用Logstash同步Mysql到Easysearch

极限实验室

MySQL Logstash ELK easysearch

SpringBoot3集成Redis

Java redis 架构 springboot SpringBoot3

NLP文本匹配任务Text Matching 有监督训练:PointWise(单塔)、DSSM(双塔)、Sentence BERT(双塔)项目实践

汀丶人工智能

人工智能 自然语言处理 文本匹配算法

使用 Amazon MemoryDB for Redis 作为 JuiceFS 的元数据引擎

亚马逊云科技 (Amazon Web Services)

Amazon

质效提升 | QA不做业务需求测试,你怎么看?

laofo

DevOps cicd 研发效能 持续交付 质量赋能

华为云GaussDB(for Influx)单机版上线,企业降本增效利器来了

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 8 月 PK 榜

NLP文本匹配任务Text Matching 有监督训练:PointWise(单塔)、DSSM(双塔)、Sentence BERT(双塔)项目实践

汀丶人工智能

人工智能 自然语言处理 文本匹配

Go 常量

小万哥

Go 程序员 云原生 后端 开发

深度开发者故事 | 华为云API Explorer 自动化运维的得力助手

华为 API 华为云

低代码平台轻松玩转业务规则

鲸品堂

低代码 低代码开发 企业号 8 月 PK 榜

读《芯片浪潮》,学习台积电张忠谋的管理之道

博文视点Broadview

RHG之人工智能漏洞挖掘

云起无垠

2023-08-14:用go语言写算法。给出两个长度相同的字符串 str1 和 str2 请你帮忙判断字符串 str1 能不能在 零次 或 多次 转化 后变成字符串 str2 每一次转化时,你可以将

福大大架构师每日一题

福大大架构师每日一题

浅谈统一权限管理服务的设计与开发

百度Geek说

百度 数据中心 企业号 8 月 PK 榜 权限服务

火山引擎DataLeap的Data Catalog系统公有云实践

字节跳动数据平台

大数据 数据中台 企业号 8 月 PK 榜

【第1讲】Python3.11的下载、安装和卸载,有手就能学会

程序员晚枫

Python 安装 入门

可行性研究报告编制方案

金陵老街

分布式那些事儿-浅谈高并发分布式架构演进路径

HelloGeek

分布式 微服务

生成式AI助力人工智能下半场

百度开发者中心

人工智能 百度文心一言

C++11时间日期库chrono的使用

芯动大师

“数智未来 因你而来”,鲲鹏&昇腾创新大赛2023湖北赛区决赛正式启动

彭飞

鱼龙混杂的网络营销行业:入行新人如何规划职业

石头IT视角

ARTS 打卡第 5 天

自由

ARTS 打卡计划

华为云API Explorer:自动化运维的得力助手

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 8 月 PK 榜

CPU 缓存行

红袖添香

Java 多线程 MESI 缓存行 伪共享

如何精准预测天气?火山引擎ByteHouse与大地量子这么做

字节跳动数据平台

数据库 大数据 云原生 数仓 企业号 8 月 PK 榜

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