PostgreSQL 开始支持 Zstd

PostgreSQL 现已通过其 TOAST 存储技术提供压缩支持,并且在过去的一年里构建了 LZ4 压缩支持…

PostgreSQL 现已通过其 TOAST 存储技术提供压缩支持,并且在过去的一年里构建了 LZ4 压缩支持——用于压缩 WAL、备份压缩以及其他用途,现在 PostgreSQL 开发者正准备通过 Zstd 支持进一步扩展其压缩能力。

Zstd (Zstandard) 是由 Facebook 开源的快速无损压缩算法,主要应用于 zlib 级别的实时压缩场景,并且具有更好的压缩比。Zstd 还可以以压缩速度为代价提供更强的压缩比,速度与压缩权衡可通过小增量进行配置。

上周 PostgreSQL 开发者讨论了是否添加 Zstd 作为支持的压缩算法。在讨论邮件中,开发者表示 Zstd 有一个显著的优点——被 Linux 内核以及其他知名开源项目等广泛使用。这意味着它不会轻易停止维护,并且降低了涉及法律问题的风险。在技术层面上,Zstd 提供了与 Gzip 相似或更好的压缩比,但压缩速度要快得多。此外,Zstd 库具有内置的多线程压缩,PostgreSQL 可以利用它获得更好的性能。

讨论过程十分顺利,目前已创建了相对应的 PostgreSQL Git 仓库,用于构建引入 Zstd 的 PostgreSQL。

虽然已增加了 –with-zstd 构建时选项,并允许使用 Zstd 压缩库进行构建,但目前这并没有在 PostgreSQL 中启用 Zstd 的任何实际使用。后续的提交预计很快就会开始允许 PostgreSQL 利用 Zstd 的压缩能力优势。

等到 PostgreSQL 15 发布时,相信会提供 Zstd 支持,以补充目前 PostgreSQL 14 的 LZ4 支持。

关于作者: qwephp

.

为您推荐