Bezstratová kompresia údajov v reálnom čase pomocou Zstandard (zstd)
Dobre organizovaná kompresia údajov je nevyhnutnou súčasťou efektívnej správy údajov. Umožňuje nám to šetriť miesto na disku, skrátiť časy prenosu dát a zvýšiť celkovú efektivitu dát. Medzi mnohými nástrojmi na kompresiu údajov, ktoré si rok čo rok získavali na popularite, -zstd vyniká ako vysokovýkonná možnosť. Zstd, ktorý vyvinul Yann Collet, je softvér s otvoreným zdrojovým kódom, ktorý ponúka pôsobivé kompresné pomery pri zachovaní vysokých rýchlostí dekompresie.
Zstd je flexibilný a prispôsobivý nástroj na kompresiu údajov vhodný na kompresiu rôznych typov údajov, ako sú okrem iného text, obrázky, zvuk a video. Navyše je kompatibilný s niekoľkými platformami, vrátane Linuxu, Windows, MacOS a FreeBSD, čo z neho robí spoľahlivý a dostupný nástroj pre rôznych používateľov. Flexibilita zstd sa navyše rozširuje aj na rozhranie príkazového riadka, ktoré je užívateľsky prívetivé a obsahuje viacero možností a funkcií.
V tomto článku poskytneme podrobné vysvetlenie zstd, preskúmame, ako funguje a ako ho nainštalovať. Okrem toho ponúkneme praktické príklady, ako komprimovať a dekomprimovať súbory pomocou zstd, a predvedieme niektoré z jeho pokročilých schopností, ako napríklad multi-threading, učenie slovníkov a úrovne kompresie. Na konci tohto článku získate komplexné informácie o zstd a o tom, ako ho možno využiť na splnenie vašich potrieb v oblasti kompresie údajov.
Inštalácia Zstandard na Linuxe
Zstandard je dostupný vo väčšine oficiálnych repozitárov Linuxovej distribúcie, čo uľahčuje inštaláciu pomocou správcu balíkov. Na inštaláciu na Ubuntu sa používa niekoľko príkazov, ktoré sú uvedené nižšie -
Zadajte príkaz na inštaláciu Zstandard
sudo apt-get update
sudo apt-get install zstd
Výstup poskytne všetky podrobnosti o aktualizácii a inštalácii Zstandard
user@ubuntu:~$ sudo apt-get update
[sudo] password for user:
Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Hit:2 http://us.archive.ubuntu.com/ubuntu focal InRelease
Get:3 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [1,341 kB]
Get:6 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [784 kB]
Get:7 http://security.ubuntu.com/ubuntu focal-security/main Translation-en [236 kB]
Get:8 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [44.7 kB]
Get:9 http://security.ubuntu.com/ubuntu focal-security/restricted Translation-en [11.6 kB]
Get:10 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [959 kB]
Get:11 http://security.ubuntu.com/ubuntu focal-security/universe Translation-en [172 kB]
Get:12 http://us.archive.ubuntu.com/ubuntu focal-updates/main Translation-en [341 kB]
Get:13 http://us.archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [70.1 kB]
Get:14 http://us.archive.ubuntu.com/ubuntu focal-updates/restricted Translation-en [12.9 kB]
Get:15 http://us.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [900 kB]
Get:16 http://us.archive.ubuntu.com/ubuntu focal-updates/universe Translation-en [197 kB]
Get:17 http://us.archive.ubuntu.com/ubuntu focal-backports/main amd64 Packages [8,680 B]
Get:18 http://us.archive.ubuntu.com/ubuntu focal-backports/main Translation-en [4,156 B]
Fetched 5,297 kB in 5s (1,163 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
user@ubuntu:~$ sudo apt-get install zstd
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
zstd
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 249 kB of archives.
After this operation, 1,120 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 zstd amd64 1.4.5+dfsg-4 [249 kB]
Fetched 249 kB in 1s (177 kB/s)
Selecting previously unselected package zstd.
(Reading database ... 233077 files and directories currently installed.)
Preparing to unpack .../archives/zstd_1.4.5+dfsg-4_amd64.deb ...
Unpacking zstd (1.4.5+dfsg-4) ...
Setting up zstd (1.4.5+dfsg-4) ...
Processing triggers for man-db (2.9.1-1) ...
user@ubuntu:~$
Po úspešnej inštalácii Zstandard sa teraz môžeme presunúť a naučiť sa niektoré základné príklady použitia príkazov Zstd v nasledujúcej časti.
Zoznam rôznych príkladov použitia príkazu „Zstd“ v systéme Linux
1. Komprimujte súbor
Ak chcete komprimovať súbor pomocou Zstd, použite príkaz "zstd filename". Predvolená úroveň kompresie je 3, ale môžeme ju upraviť pomocou "-# (číslo)". Zstd je skvelý pre veľké súbory, zmenšuje ich veľkosť pre jednoduchšie ukladanie a prenos. Má tiež vysokú rýchlosť dekompresie pre jednoduchú obnovu bez straty účinnosti. Zstd je jednoduchý, ale výkonný nástroj na zlepšenie správy údajov v systémoch Linux.
Zadajte príkaz na kompresiu súboru
zstd example.txt
Výstup pre príkaz zstd
user@ubuntu:~$ zstd example.txt
user@ubuntu:~$
2. Dekomprimujte súbor
Ak chcete dekomprimovať súbor komprimovaný pomocou Zstd, použite príkaz "zstd -d" nasledovaný názvom komprimovaného súboru. Napríklad "zstd -d example.txt.zst" obnoví komprimovaný súbor do pôvodného formátu. Vysoké kompresné pomery a vysoké rýchlosti dekompresie Zstd z neho robia spoľahlivý a efektívny spôsob správy veľkých súborov v systéme Linux.
Príkaz na dekomprimáciu súboru
zstd -d example.txt.zst
3. Komprimujte adresár
Komprimácia celých adresárov pomocou príkazu Zstd je veľmi jednoduchá. Všetko, čo musíme urobiť, je použiť príkaz "tar cf - názov_adresára/ | zstd > názov komprimovaného_súboru.tar.zst". Povedzme napríklad, že máme adresár s názvom "example", ktorý chceme komprimovať a vytvoriť komprimovaný súbor s názvom "example.tar.zst". Tento príkaz musíme spustiť v termináli "tar cf - example/ | zstd > example.tar.zst". Tým sa skomprimuje celý adresár do jedného súboru, takže môžete použiť tento príkaz.
Zadajte príkaz na kompresiu adresára
tar cf - example/ | zstd > example.tar.zst
4. Dekomprimujte adresár
Ak chcete dekomprimovať adresár komprimovaný Zstd v systéme Linux, môžete použiť príkaz "zstd -d example.tar.zst | tar xvf -". Zadajte názov komprimovaného súboru pomocou možnosti „-d“. Príkaz "tar" extrahuje obsah archívneho súboru pomocou volieb "-xvf". Nezabudnite urobiť zálohu komprimovaného adresára pred jeho dekomprimáciou, aby ste sa vyhli prepísaniu existujúcich adresárov s rovnakým názvom.
Vstup pre dekompresiu adresára
zstd -d example.tar.zst | tar xvf -
Výstup pre príkaz „zstd -d “
$ zstd -d example.tar.zst | tar xvf -
example/
example/file1.txt
example/file2.txt
example/file3.txt
5. Viacvláknová kompresia
Ak máte veľký súbor, ktorý je potrebné rýchlo skomprimovať, môžeme použiť Zstd, nástroj na rýchlu kompresiu, ktorý na zvýšenie rýchlosti kompresie využíva viacero jadier CPU. Zapísaním tohto príkazu "zstd -T0 example.txt" môžete aktivovať viacvláknovú kompresiu s počtom vlákien 0, čo umožní Zstd použiť všetky dostupné jadrá CPU na kompresiu súboru "example.txt". , v Linuxe môžete aktivovať viacvláknovú kompresiu.
Vstupný príkaz pre viacvláknovú kompresiu
zstd -T0 example.txt
Výstup pre tento príkaz môže vyzerať takto
zstd -T0 example.txt
example.txt : 100% [==================================================================================================] 10.00 MiB/s 2.20:1
6. Nastavte úroveň kompresie
Zstd má 22 úrovní kompresie s rôznymi kompromismi medzi kompresným pomerom a rýchlosťou. Na nastavenie úrovne kompresie súboru použite príkaz 'zstd -<úroveň> '. Vyššie úrovne vyžadujú viac zdrojov CPU a času. Pre optimálne výsledky zvoľte správnu úroveň kompresie.
Zadajte príkaz na nastavenie úrovne kompresie
zstd -3 example.txt
Výstup úrovne kompresie zstd
example.txt : 10.00 MB
--
example.txt : 3.55 MB (35.45%) (x3.18)
--
Záver
Na záver, Zstandard je cenný kompresný nástroj, ktorý dokáže ušetriť miesto na disku a zrýchliť prenos dát. Inštalácia zstd v systéme Linux je jednoduchý proces a jeho použitie na kompresiu a dekomprimáciu súborov je hračka. Veríme, že tento článok vám pomohol začať so zstd a dal vám pokyny, ako ho použiť na zvýšenie požiadaviek na kompresiu údajov.