这个问题可能有点“基于意见”,但请考虑将其视为寻找有关压缩级别使用的权威信息来源。
我有一台服务器,其中有几个不同大小的数据库(从兆字节到 40GB)。目前我们正在使用gzip -9
压缩级别,备份速度很慢。
我们有每日备份政策,并且我们保留:
- 每日备份 14 天
- 每周备份 2 个月
- 每月备份 2 年
- 每年永久备份
数据库备份是这样完成的:mysqldump ... > | gzip -9 -c > $TIMESTAMP.sql.gz
我已经为一个小型数据库尝试了不同的压缩级别。以下是结果(服务器负载有点大,所以可能有点不准确):
level | time (real) | output file size
1 | 0m1.844s | 6.6M
3 | 0m1.902s | 6.1M
5 | 0m2.112s | 5.1M
7 | 0m2.447s | 4.9M
9 | 0m3.498s | 4.8M
此后我认为应该使用 5 或 7 压缩级别,并且我们应该避免 9 压缩级别。
问题是:
关于备份压缩级别的常见做法有哪些?
公司或机构是否使用任何标准?
答案1
关于备份压缩级别的常见做法有哪些?
没有,一切都严格取决于您的需求和能力。
公司或机构是否使用任何标准?
没有,使用任何对你有用的东西。
我强烈建议使用 ZSTD 而不是 gzip。它已经足够成熟,压缩比比gzip好很多,解压速度也快得惊人。它有 22 个压缩级别,包括--long
和--ultra
,因此您需要进行试验以找出最适合您的压缩级别。
请考虑对压缩数据使用 PAR2,并保留原始数据和压缩数据的校验和。如果没有校验和,在存储或检索数据时很容易由于位错误而丢失数据。