PostgreSQL 開始支持 Zstd
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 支持。
本文轉自OSCHINA
本文標題:PostgreSQL 開始支持 Zstd
本文地址:https://www.oschina.net/news/183524/pgsql-zstd-start