zstd – Algoritmus rychlé komprese dat, který používá Facebook
Zstandard (také známý jako zstd) je bezplatný open source program pro rychlou kompresi dat v reálném čase s lepšími kompresními poměry vyvinutý Facebookem. Jedná se o bezeztrátový kompresní algoritmus napsaný v C (je zde reimplementace v Java) – jde tedy o nativní linuxový program.
Přečtěte si také: 10 příkladů příkazů 7zip (komprese dat) v systému Linux
V případě potřeby může vyměnit rychlost komprese za silnější kompresní poměry (postup mezi rychlostí komprese a poměrem komprese lze konfigurovat po malých přírůstcích), naopak. Má speciální režim pro malou kompresi dat, známý jako slovníková komprese, a dokáže vytvářet slovníky z libovolné poskytnuté ukázkové sady. Dodává se s nástrojem příkazového řádku pro vytváření a dekódování .zst, .gz, .xz a .lz4 soubory.
Důležité je, že Zstandard má bohatou sbírku rozhraní API, podporuje téměř všechny oblíbené programovací jazyky včetně Pythonu, Java, JavaScript, Nodejs, Perl, Ruby, C#, Go, Rust, PHP, Switft a mnoha dalších.
Aktivně se používá ke kompresi velkých objemů dat v různých formátech a případech použití na Facebooku; služby jako je datové sklady Amazon Redshift; databáze jako Hadoop a Redis; síť Tor a mnoho dalších aplikací včetně her.
Následující výsledky byly získány provedením několika testů rychlých kompresních algoritmů na serveru se systémem Linux Debian pomocí lzbench, open-source nástroje pro benchmark v paměti.
Jak nainstalovat Zstandard Compression Tool v Linuxu
Chcete-li nainstalovat Zstandard na distribuci Linuxu, musíte jej zkompilovat ze zdrojů, ale předtím musíte do systému nainstalovat potřebné vývojové nástroje pomocí správce distribučních balíčků, jak je znázorněno.
sudo apt update && sudo apt install build-essential #Ubuntu/Debian
yum group install "Development Tools" #CentOS/REHL
dnf groupinstall "C Development Tools and Libraries" #Fedora 22+
Jakmile jsou nainstalovány všechny potřebné vývojové nástroje, nyní si můžete stáhnout zdrojový balíček, přesunout se do adresáře lokálního repo, sestavit binární soubor a nainstalovat jej podle obrázku.
cd ~/Downloads
git clone https://github.com/facebook/zstd.git
cd zstd
make
sudo make install
Po instalaci Zstandard se nyní můžeme posunout dále a naučit se základní použití příkladů příkazů Zstd v následující části.
Naučte se 10 příkladů použití příkazů Zstd v Linuxu
Syntaxe příkazového řádku Zstd je obecně podobná syntaxi nástrojů gzip a xz s několika rozdíly.
1. Chcete-li vytvořit kompresní soubor .zst
, jednoduše zadejte název souboru pro komprimaci nebo použijte příznak -z
, který také znamená komprimovat, což je výchozí akce.
zstd etcher-1.3.1-x86_64.AppImage
OR
zstd -z etcher-1.3.1-x86_64.AppImage
2. K dekomprimaci kompresního souboru .zst
použijte příznak -d
nebo nástroj unzstd, jak je znázorněno.
zstd -d etcher-1.3.1-x86_64.AppImage.zst
OR
unzstd etcher-1.3.1-x86_64.AppImage.zst
3. Chcete-li zdrojový soubor po operaci odstranit, ve výchozím nastavení se zdrojový soubor po úspěšné kompresi nebo dekompresi neodstraní. Chcete-li jej odstranit, použijte volbu --rm
.
ls etcher-1.3.1-x86_64.AppImage
zstd --rm etcher-1.3.1-x86_64.AppImage
ls etcher-1.3.1-x86_64.AppImage
4. Chcete-li nastavit úroveň komprese, zstd má řadu modifikátorů operací, například můžete určit úroveň komprese jako -6
(číslo 1-19, výchozí je 3) jak je znázorněno.
zstd -6 --rm etcher-1.3.1-x86_64.AppImage
5. Pro nastavení rychlosti komprese má zstd poměr rychlosti komprese 1–10, výchozí rychlost komprese je 1. Kompresní poměr můžete vyměnit za rychlost komprese pomocí možnosti --fast
, čím vyšší číslo, tím vyšší rychlost komprese.
zstd --fast=10 etcher-1.3.1-x86_64.AppImage
6. Chcete-li zobrazit informace o komprimovaném souboru, použijte příznak -l
, který se používá například k zobrazení informací o komprimovaném souboru.
zstd -l etcher-1.3.1-x86_64.AppImage.zst
7. Chcete-li otestovat integritu komprimovaných souborů, použijte příznak -t
, jak je znázorněno.
zstd -t etcher-1.3.1-x86_64.AppImage.zst
8. Chcete-li povolit podrobný režim, použijte volbu -v
.
zstd -v -5 etcher-1.3.1-x86_64.AppImage
9. Chcete-li použít jiné formáty komprese nebo dekomprese souborů, jako je gzip, xz, lzma a lz4, použijte --format=FORMAT
podle obrázku.
zstd -v --format=gzip etcher-1.3.1-x86_64.AppImage
zstd -v --format=xz etcher-1.3.1-x86_64.AppImage
10. Chcete-li nastavit prioritu procesu zstd na reálný čas, můžete použít volbu –priority=rt, jak je uvedeno na obrázku.
$zstd --priority=rt etcher-1.3.1-x86_64.AppImage
Příznak -r
instruuje zstd, aby pracoval se slovníky rekurzivně. Mnoho užitečných a pokročilých možností, jak číst nebo vytvářet slovníky, najdete na manuálové stránce zstd.
man zstd
Zstandard Github Repository: https://github.com/facebook/zstd
Zstandard je rychlý bezztrátový algoritmus pro kompresi dat a nástroj pro kompresi dat v reálném čase, který nabízí vysoké kompresní poměry. Vyzkoušejte to a podělte se o své názory na to nebo se zeptejte prostřednictvím formuláře pro zpětnou vazbu níže.