上月,我们曾报道了 PostgreSQL 开始支持 Zstd。目前,这一举措已经有了最新进展;近期落地的代码工作中增加了对 Zstd 基础备份的压缩支持。PostgreSQL 客户端和服务器端压缩现在都支持使用 Zstd。此外,为了适应 -Fp 的使用,由服务器使用 Zstd 压缩的备份现在可以由客户端解压缩。
还有一项 commit 提供了对 WAL 中 full-page writes 操作的 Zstd 压缩。
wal_compression 获得了一个新的值"zstd",以允许使用同名的压缩方法压缩 full-page images。
压缩是使用库推荐的默认级别进行的, 如 ZSTD_CLEVEL_DEFAULT = 3。一些基准测试表明,对 FPI 压缩使用一个较低的级别可能是有意义的,比如级别 1 或 2;因为压缩率并没有因为消耗的 CPU 少而有很大的变化,但任何测试都只涵盖少数情况,所以很难得出一个明确的结论。总之,没有理由不使用默认级别,这是库中推荐的级别,所以对大多数情况来说应该是不错的。
zstd 很容易超越 pglz,而且在希望以额外的 CPU 为代价获得更多压缩的情况下,zstd 比 LZ4 更好;但两者在各自的情况下都足够好,所以在其中一个或另一个之间的选择主要是研究工作负载模式和涉及的模式。
预计在最终的 PostgreSQL 15 版本中,将会看到更多有关这个 Zstd 压缩工作的内容。
猜你喜欢:暂无回复。