zstd - E séieren Datekompressiounsalgorithmus benotzt vu Facebook


Zstandard (och bekannt als zstd) ass e gratis Open Source, séier Echtzäit Datekompressiounsprogramm mat bessere Kompressiounsverhältnisser, entwéckelt vu Facebook. Et ass e lossless Kompressiounsalgorithmus geschriwwen an C (et gëtt eng nei Ëmsetzung am Java) - et ass also en gebiertege Linux Programm.

Wann néideg, kann et Kompressiounsgeschwindegkeet fir méi staark Kompressiounsverhältnisser handelen (Kompressiounsgeschwindegkeet vs Kompressiounsverhältnis Trade-off ka vu klengen Inkremente konfiguréiert ginn), vice versa. Et huet e spezielle Modus fir kleng Datekompressioun, bekannt als Wierderbuchkompressioun, a kann Dictionnairen aus all geliwwert Probe-Set bauen. Et kënnt mat engem Kommandozeil-Utility fir .zst, .gz, .xz an .lz4 Dateien ze kreéieren an ze decodéieren.

Wichteg ass, Zstandard huet eng räich Sammlung vun APIen, ënnerstëtzt bal all populär Programméierungssproochen dorënner Python, Java, JavaScript, Nodejs, Perl, Ruby, C#, Go, Rust, PHP, Switft, a vill méi.

Et gëtt aktiv benotzt fir grouss Bänn vun Donnéeën a verschidde Formater ze kompriméieren a Fäll op Facebook ze benotzen; Servicer wéi Amazon Redshift Datelagerung; Datenbanken wéi Hadoop a Redis; den Tor Netzwierk a vill aner Applikatiounen dorënner Spiller.

Déi folgend Resultater gi kritt andeems Dir verschidde séier Kompressiounsalgorithmen Tester op engem Server deen Linux Debian benotzt mat lzbench, en Open-Source In-Memory Benchmark Tool.

Wéi installéiere ech Zstandard Compression Tool op Linux

Fir Zstandard op enger Linux Verdeelung z'installéieren, musst Dir et aus Quellen kompiléieren, awer virdru musst Dir déi néideg Entwécklungsinstrumenter op Ärem System installéieren mat Ärem Verdeelungspaketmanager wéi gewisen.

$ 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+

Wann all déi néideg Entwécklungsinstrumenter installéiert sinn, elo kënnt Dir de Quellpaket eroflueden, an de lokale Repo Verzeechnes réckelen, de Binär bauen an installéieren wéi gewisen.

$ cd ~/Downloads
$ git clone https://github.com/facebook/zstd.git
$ cd zstd
$ make
$ sudo make install 

Wann Zstandard installéiert ass, kënne mir elo weider réckelen fir e puer Basisnotzung vun Zstd Kommando Beispiller an der folgender Sektioun ze léieren.

Léiert 10 Zstd Command Usage Beispiller am Linux

D'Zstd Kommandozeil Syntax ass allgemeng ähnlech wéi déi vu gzip an xz Tools, mat e puer Differenzen.

1. Fir eng .zst Kompressiounsdatei ze kreéieren, gitt einfach e Dateinumm fir se ze kompriméieren oder benotzt de -z Fändel heescht och Kompriméieren, wat d'Standardaktioun ass.

$ zstd etcher-1.3.1-x86_64.AppImage 
OR
$ zstd -z etcher-1.3.1-x86_64.AppImage 

2. Fir eng .zst Kompressiounsdatei ze dekompriméieren, benotzt de -d Fändel oder den Unzstd Utility wéi gewisen.

$ zstd -d etcher-1.3.1-x86_64.AppImage.zst 
OR
$ unzstd etcher-1.3.1-x86_64.AppImage.zst 

3. Fir d'Quelldatei no enger Operatioun ze läschen, gëtt Par défaut d'Quelldatei no erfollegräicher Kompressioun oder Dekompressioun net geläscht, fir se ze läschen, benotzt d'Optioun --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. Fir e Kompressiounsniveau ze setzen, huet zstd eng Rei Operatiounsmodifikateuren, zum Beispill kënnt Dir e Kompressiounsniveau als -6 uginn (eng Zuel 1-19, Standard ass 3) wéi gewisen.

$ zstd -6 --rm etcher-1.3.1-x86_64.AppImage

5. Fir eng Kompressiounsgeschwindegkeet ze setzen, huet zstd e Kompressiounsgeschwindegkeet Verhältnis 1-10, d'Standardkompressiounsgeschwindegkeet ass 1. Dir kënnt d'Kompressiounsverhältnis fir d'Kompressiounsgeschwindegkeet mat der Optioun --schnell handelen, wat méi héich ass Zuel déi méi séier d'Kompressiounsgeschwindegkeet.

$ zstd --fast=10 etcher-1.3.1-x86_64.AppImage

6. Fir Informatiounen iwwer eng kompriméiert Datei ze weisen, benotzt de -l Fändel, deen zum Beispill Informatioun iwwer eng kompriméiert Datei benotzt gëtt.

$ zstd -l etcher-1.3.1-x86_64.AppImage.zst

7. Fir d'Integritéit vun enger kompriméierter Datei ze testen, benotzt de -t Fändel wéi gewisen.

$ zstd -t etcher-1.3.1-x86_64.AppImage.zst

8. Fir verbose Modus z'aktivéieren, benotzt d'Optioun -v.

$ zstd -v -5 etcher-1.3.1-x86_64.AppImage

9. Fir aner Dateikompressiouns- oder Dekompressiounsformater wéi gzip, xz, lzma a lz4 ze benotzen, benotzt --format=FORMAT wéi gewisen.

$ zstd -v --format=gzip etcher-1.3.1-x86_64.AppImage
$ zstd -v --format=xz  etcher-1.3.1-x86_64.AppImage

10. Fir eng zstd Prozess Prioritéit op Echtzäit ze setzen, kënnt Dir d'Optioun benotzen -priority=rt wéi gewisen.

$zstd --priority=rt etcher-1.3.1-x86_64.AppImage

De -r Fändel instruéiert zstd fir rekursiv op Dictionnairen ze bedreiwen. Dir kënnt vill nëtzlech an fortgeschratt Optiounen fannen, wéi Dir Dictionnairen liest oder erstellt andeems Dir d'zstd Man Säit konsultéiert.

$ man zstd

Zstandard Github Repository: https://github.com/facebook/zstd

Zstandard ass e séieren Echtzäit, lossless Datekompressiounsalgorithmus a Kompressiounsinstrument dat héich Kompressiounsverhältnisser ubitt. Probéiert et eraus an deelt Är Gedanken doriwwer oder stellt Froen iwwer de Feedbackformular hei ënnen.