zstd - Hratt gagnaþjöppunaralgrím notað af Facebook


Zstandard (einnig þekkt sem zstd) er ókeypis opinn uppspretta, hratt rauntíma gagnaþjöppunarforrit með betri þjöppunarhlutföllum, þróað af Facebook. Það er tapslaust þjöppunaralgrím skrifað í C (það er endurútfærsla í Java) - það er því innbyggt Linux forrit.

Þegar þess er krafist getur það skipt út þjöppunarhraða fyrir sterkari þjöppunarhlutföll (þjöppunarhraði á móti þjöppunarhlutfalli er hægt að stilla með litlum þrepum), öfugt. Það hefur sérstaka stillingu fyrir litla gagnaþjöppun, þekkt sem orðabókarþjöppun, og getur byggt upp orðabækur úr hvaða sýnishorni sem er. Það kemur með skipanalínuforrit til að búa til og afkóða .zst, .gz, .xz og .lz4 skrár.

Mikilvægt er að Zstandard hefur mikið safn af API, styður næstum öll vinsæl forritunarmál þar á meðal Python, Java, JavaScript, Nodejs, Perl, Ruby, C#, Go, Rust, PHP, Switft og margt fleira.

Það er virkt notað til að þjappa miklu magni af gögnum á mörgum sniðum og nota tilvik í Facebook; þjónusta eins og Amazon Redshift gagnavörugeymsla; gagnagrunna eins og Hadoop og Redis; Tor netið og mörg önnur forrit þar á meðal leikir.

Eftirfarandi niðurstöður eru fengnar með því að gera nokkur hröð þjöppunaralgrímapróf á netþjóni sem keyrir Linux Debian með því að nota lzbench, opinn uppspretta viðmiðunarverkfæri í minni.

Hvernig á að setja upp Zstandard þjöppunartól í Linux

Til að setja Zstandard upp á Linux dreifingu þarftu að setja það saman úr heimildum, en áður en það er fyrst þarftu að setja upp nauðsynleg þróunarverkfæri á kerfið þitt með því að nota dreifingarpakkastjórann eins og sýnt er.

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

Þegar öll nauðsynleg þróunarverkfæri hafa verið sett upp, nú geturðu hlaðið niður frumpakkanum, farið í staðbundna endursöluskrána, smíðað tvöfaldann og sett hann upp eins og sýnt er.

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

Þegar Zstandard hefur verið settur upp, nú getum við farið lengra til að læra grunnnotkun á Zstd stjórnunardæmum í eftirfarandi kafla.

Lærðu 10 Zstd stjórnunarnotkunardæmi í Linux

Skipanalínusetningafræði Zstd er yfirleitt svipuð og gzip og xz verkfæri, með nokkrum mun.

1. Til að búa til .zst þjöppunarskrá, gefðu einfaldlega upp skráarnafn til að þjappa henni eða notaðu -z fánann þýðir einnig þjappa, sem er sjálfgefin aðgerð.

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

2. Til að afþjappa .zst þjöppunarskrá, notaðu -d fánann eða unzstd tólið eins og sýnt er.

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

3. Til að fjarlægja frumskrá eftir aðgerð er frumskránni sjálfgefið ekki eytt eftir að samþjöppun eða þjöppun hefur tekist, til að eyða henni, notaðu --rm valkostinn.

$ 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. Til að stilla þjöppunarstig hefur zstd fjölda aðgerðabreytinga, til dæmis geturðu tilgreint þjöppunarstig sem -6(tala 1-19, sjálfgefið er 3) eins og sýnt er.

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

5. Til að stilla þjöppunarhraða hefur zstd þjöppunarhraðahlutfallið 1-10, sjálfgefinn þjöppunarhraði er 1. Þú getur skipt út þjöppunarhlutfalli fyrir þjöppunarhraða með --fast valkostinum, því hærra sem númer því hraðari sem þjöppunarhraði er.

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

6. Til að birta upplýsingar um þjappaða skrá, notaðu -l fánann, sem er notaður til að birta upplýsingar um þjappaða skrá, til dæmis.

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

7. Til að prófa heilleika þjappaðrar skráar, notaðu -t fánann eins og sýnt er.

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

8. Notaðu -v valmöguleikann til að virkja margorða ham.

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

9. Til að nota önnur skráarþjöppun eða afþjöppunarsnið eins og gzip, xz, lzma og lz4, notaðu --format=FORMAT eins og sýnt er.

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

10. Til að stilla zstd ferliforgang á rauntíma geturðu notað valkostinn –priority=rt eins og sýnt er.

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

-r fáninn gefur zstd fyrirmæli um að starfa endurkvæmt á orðabókum. Þú getur fundið fullt af gagnlegum og háþróuðum valkostum, hvernig á að lesa eða búa til orðabækur með því að skoða zstd man síðuna.

$ man zstd

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

Zstandard er hraðvirkt rauntíma, taplaust gagnaþjöppunaralgrím og þjöppunartól sem býður upp á há þjöppunarhlutföll. Prófaðu það og deildu hugsunum þínum um það eða spurðu spurninga í gegnum athugasemdaformið hér að neðan.