​[译文]怎样让您的备份只有之前一半大小

怎样让您的备份只有之前一半大小——Percona Xtrabackup 支持的 ZSTD 压缩算法介绍

对数据库备份就像保险一样,您必须每月支付一次费用,以确保在需要时提供可用服务。在谈到备份时,保存备份所需要的存储是考虑价格因素之一,备份越大,后者保留时期越长,成本就越高。

压缩备份是降低成本的常见做法。目前,Percona XtraBackup (PXB)支持两种压缩算法:quicklz(一个废弃项目,很快将在 PXB 中弃用)和 LZ4。

今天,我们很高兴介绍 Percona XtraBackup 8.0.30 中引入的新的压缩算法——Zstandard(ZSTD)。

Zstandard 是一种快速无损压缩算法,以 zlib 级别的实时压缩场景和更好的压缩比为目标。

用法

Xtrabackup --compress 选项引入了新的值。将 --compress=zstd 传给 PXB 将使用新的 Zstandard 算法进行压缩。

通过调整 --parallel=X 和 --compress-threads=x 选项可以并行文件复制和并行压缩。

对 PXB 和 xbstream 上的解压,用法保持不变。用户只需要传 --decompress选项,将使用与压缩相同的算法。

请注意,与 qpress 和 LZ4 一样,您需要 ZSTD 客户端运行 --decompress 操作。

压缩

xtrabackup --backup --compress=zstd --parallel=16 --compress-threads=8 --target-dir=/backup

解压

xtrabackup --decompress --parallel=16 --target-dir=/backup

测试

为了测试使用 ZSTD 压缩和 LZ4 压缩和不压缩的备份比较,我们用 AWS EC2 实例,规格为 c5.4xlarge (16C 32G内存)建立了一个测试环境,数据和备份使用同一磁盘分区,EBS IO2 配备 10K IOPS 的 SSD磁盘。

对每轮测试,我们创建了12张包含4千万的表的数据集,总大小为109G。

我们进行了五轮测试,每轮都创建一个新的数据库,数据量相同。

引用 --parallel=16 和 --compress-threads=8 。

生成备份的大小(未压缩、LZ4 和 ZSTD)、运行的备份时间(未压缩、LZ4 和 ZSTD)以及解压缩生成备份的时间(LZ4 和 ZSTD)。

第二轮测试探讨了将数据上传上传到 S3 时两种算法和未压缩备份的性能。

第一步是再次进行备份并将其上传到 S3,测量完成时间。

测试的第二部分是从 S3 下载备份,如果是未压缩备份,只需将其存储在磁盘上,对于压缩备份,我们首先将其解压,然后将其存储到磁盘上。

对于所有测试, ZSTD 压缩比都为1。

结果

​[译文]怎样让您的备份只有之前一半大小

​[译文]怎样让您的备份只有之前一半大小

​[译文]怎样让您的备份只有之前一半大小

​[译文]怎样让您的备份只有之前一半大小

​[译文]怎样让您的备份只有之前一半大小

总结

正如我们在上面的测试结果中看到的,ZSTD 不仅在所有测试中都超过了 LZ4 的结果,而且还将备份大小压缩到原始大小的一半。

在流处理中,我们看到了两种算法的最大差异,ZSTD 以更大的优势领先 LZ4。

这些可以为用户和组织带来大量的备份存储节省,无论是在本地还是云环境中,我们都要按使用的每GB存储付费。


原文始发于微信公众号(Mwkk):​[译文]怎样让您的备份只有之前一半大小

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/100521.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!