PostgreSQL 開(kāi)始支持 Zstd
PostgreSQL 現(xiàn)已通過(guò)其 TOAST 存儲(chǔ)技術(shù)提供壓縮支持,并且在過(guò)去的一年里構(gòu)建了 LZ4 壓縮支持——用于壓縮 WAL、備份壓縮以及其他用途,現(xiàn)在 PostgreSQL 開(kāi)發(fā)者正準(zhǔn)備通過(guò) Zstd 支持進(jìn)一步擴(kuò)展其壓縮能力。
Zstd (Zstandard) 是由 Facebook 開(kāi)源的快速無(wú)損壓縮算法,主要應(yīng)用于 zlib 級(jí)別的實(shí)時(shí)壓縮場(chǎng)景,并且具有更好的壓縮比。Zstd 還可以以壓縮速度為代價(jià)提供更強(qiáng)的壓縮比,速度與壓縮權(quán)衡可通過(guò)小增量進(jìn)行配置。
上周 PostgreSQL 開(kāi)發(fā)者討論了是否添加 Zstd 作為支持的壓縮算法。在討論郵件中,開(kāi)發(fā)者表示 Zstd 有一個(gè)顯著的優(yōu)點(diǎn)——被 Linux 內(nèi)核以及其他知名開(kāi)源項(xiàng)目等廣泛使用。這意味著它不會(huì)輕易停止維護(hù),并且降低了涉及法律問(wèn)題的風(fēng)險(xiǎn)。在技術(shù)層面上,Zstd 提供了與 Gzip 相似或更好的壓縮比,但壓縮速度要快得多。此外,Zstd 庫(kù)具有內(nèi)置的多線程壓縮,PostgreSQL 可以利用它獲得更好的性能。
討論過(guò)程十分順利,目前已創(chuàng)建了相對(duì)應(yīng)的 PostgreSQL Git 倉(cāng)庫(kù),用于構(gòu)建引入 Zstd 的 PostgreSQL。
雖然已增加了 --with-zstd 構(gòu)建時(shí)選項(xiàng),并允許使用 Zstd 壓縮庫(kù)進(jìn)行構(gòu)建,但目前這并沒(méi)有在 PostgreSQL 中啟用 Zstd 的任何實(shí)際使用。后續(xù)的提交預(yù)計(jì)很快就會(huì)開(kāi)始允許 PostgreSQL 利用 Zstd 的壓縮能力優(yōu)勢(shì)。
等到 PostgreSQL 15 發(fā)布時(shí),相信會(huì)提供 Zstd 支持,以補(bǔ)充目前 PostgreSQL 14 的 LZ4 支持。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:PostgreSQL 開(kāi)始支持 Zstd
本文地址:https://www.oschina.net/news/183524/pgsql-zstd-start