PostgreSQL 在採用 Zstd 壓縮方面取得進展

2022-03-15 11:00:11

上月,我們曾報道了 ;近期落地的程式碼工作中增加了對 。PostgreSQL 使用者端和伺服器端壓縮現在都支援使用 Zstd。此外,為了適應 -Fp 的使用,由伺服器使用 Zstd 壓縮的備份現在可以由使用者端解壓縮。

還有一項  提供了對 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 壓縮工作的內容。

展開閱讀全文