Zstandardi voog (.zstd)

IETF Standard

Zstandard (Zstd) on Meta kaasaegne reaalajas toimiv kadudeta tihendusalgoritm, mis tagab Deflate'iga võrreldava tihendusastme, pakkides samal ajal andmeid lahti mitme gigabaidise sekundikiirusega kaasaegsel riistvaral.

Teisenda formaadist ZSTD formaati GZIP

Tasuta ZSTD -> GZIP konverter brauseris. Teisenda faile koheselt oma seadmes.

Kontrolli ja metaandmed

Operatsioonisüsteemid ja failianalüsaatorid tuvastavad Zstandard faile, kontrollides algset binaarset baidijada:

Vali või lohista failid siia

100% privaatne konversioon brauseris - failid ei lahku kunagi sinu seadmest

või kleebi Ctrl+V
Null-võrguülekande privaatsusgarantii: 0 baiti laaditakse üles välistesse serveritesse. Kogu töötlemine toimub lokaalselt sinu brauseri liivakastis.

Baidi-taseme päise allkiri (maagilised baidid)

Operatsioonisüsteemid ja failianalüsaatorid tuvastavad Zstandard faile, kontrollides algset binaarset baidijada:

HEX-ALLKIRI (NIHE 0):

28 B5 2F FD

ASCII-ESITUS: (µ/ý

Standardiseerimine: IETF RFC 8878

Tehnilised andmed

Konteineri arhitektuurFrame header with magic 0xFD2FB528, frame descriptor, data blocks, and optional 32-bit/64-bit checksum
TihendamineFinite State Entropy (FSE) coder + Huffman coding + LZ77 with large search windows (up to 2 GB)
Baitide järjekord (Endianness)Little-Endian byte and bitstream order
VärviruumidN/A (Data Compression Stream)
Kanalid ja struktuurGeneral-purpose byte stream compression
Max mõõtmedUnbounded streaming data capacity
Läbipaistvus100% bit-exact lossless data reproduction
Voogedastus ja progressiivsusUltra-high-throughput streaming designed to saturate multi-gigabit NVMe and network links

Tehniline võrdlusmaatriks: Zstandard vs konkurendid

Tehniline atribuutZstandard (Praegune)GZBROTLILZ4
Lahtipakkimise kiirusÜlikiire (1,5 - 3,0 GB/s)Mõõdukas (~300 MB/s)Kiire (~400 MB/s)Hirmus kiire (~4,0 GB/s)
Tihendamise efektiivsusKõrgem kui Gzipil, vastab Bzip2-leBaastaseme standardKõrgeim veebitekstilMadal (kiirusele keskendunud)
Sõnastiku treenimineKohandatud treenitud sõnastikudPuudubFikseeritud 120 KB veebisõnastikPuudub
Kaasaegse OS-i tugiLinuxi kernel, Arch, Fedora, BtrfsUniversaalne pärand-UnixVeebibrauserid ja CDN-i servadLinuxi kernel ja mängumootorid

Levinud riknemisvead ja heksataaste juhend

Lahtipakkimise viga: 'ZSTD_error_checksum_wrong: Checksum verification failed'.

Juurpõhjus: Kahjustatud bait andmeplokis, mis põhjustab 32-bitise või 64-bitise xxHash kontrollsumma kontrollimise ebaõnnestumise.

Taastamine: Pakkige lahti lipuga '--force', et kontrollsumma vahele jätta, või parandage File2File Zstd konverteriga.

Turvaanalüüs ja parsimisründevektorid

Zstandardi FSE dekodeerimise olekumasin peab tabelikirjeldusi rangelt valideerima, et vältida vigaseid olekuhüppeid.

Teadaolevad ründavektorid

  • Kahjustatud FSE normaliseeritud loendurite tabelid, mis põhjustavad lubatud piiridest väljas olevaid olekutabeli päringuid.
  • Täisarvu ületäitumine suure akna puhvri eraldamise ajal.
  • Teenusetõkestus (DoS) kohandatud sõnastiku mälu ammendumise kaudu.

Kaitsealased parimad tavad:

Ajalooline taust ja verstapostid

2021IETF avaldab Zstandardi standardina RFC 8878; suuremad Linuxi distributsioonid (Arch, Fedora, Ubuntu) võtavad selle pakendamiseks kasutusele.
2018Linuxi kernel 4.14 lisab Btrfs- ja SquashFS-failisüsteemidele Zstandardi tihenduse.
2015Yann Collet avaldab Facebookis Zstandardi, tuues turule Lõpliku Seisundi Entroopia (Finite State Entropy - FSE) tehnoloogia.

Peamised eelised

  • Uskumatu lahtipakkimise kiirus: pakib lahti 1,5 kuni 3,0 GB/s tuuma kohta, koormates täielikult kiireid NVMe SSD-sid.
  • Väga paindlik tihendusskaala: pakub 22 tihendustaset alates välkiirest reaalajas tihendusest kuni ülikompaktse arhiveerimiseni.
  • Kohandatud sõnastiku treenimine võimaldab saavutada 3x kuni 5x parema tihenduse väikeste kirjete, nagu JSON-i ja andmebaasiridade puhul.

Tehnilised piirangud ja puudused

  • Veidi suurem mälujalajälg kui pärandatud Deflate'il kõrgetasemelise tihenduse ja suurte aknasuuruste korral.
  • Nõuab kaasaegseid tööriistu; pärandatud Unixi serveritel võib puududa eelseadistatud zstd-utiliit.
  • Toores .zst voog nõuab kataloogihierarhiate säilitamiseks konteinerit (näiteks TAR).

Huvitavaid tehnilisi fakte

  • Zstandard kasutab Lõpliku Seisundi Entroopiat (tANS), mis on Jarek Duda välja töötatud asümmeetriliste numbrisüsteemide läbimurre, mis saavutab Shannoni entroopia piirid riistvara kiirusel.
  • Arch Linux ja Fedora lülitasid oma paketihaldurid (pacman ja dnf) ümber vormingule .tar.zst, kiirendades tarkvara installimist üle 400%.
  • Maagilised baidid 0x28 0xB5 0x2F 0xFD valiti nii, et need oleksid kergesti äratuntavad ja väldiksid kokkupõrget pärandvormingutega.

Korduma kippuvad tehnilised küsimused

Miks asendab Zstandard kaasaegses Linuxis Gzipi?

Zstandard pakib failid Gzipist väiksemaks, tehes lahtipakkimist 5 kuni 10 korda kiiremini, vähendades drastiliselt tarkvara installiaegu ja serveri protsessori koormust.

Mis on sõnastikupõhine tihendamine (dictionary compression) Zstd-s?

Zstd suudab treenida väikeste failide komplekti (nt JSON API vastused) põhjal kohandatud sõnastiku, võimaldades järgnevatel failidel ühiseid mustreid viidates tiheneda kuni 5 korda väiksemaks.

Kuidas ma saan .zst- või .zstd-faili lahti pakkida?

Saate .zst- ja .tar.zst-failid otse oma veebibrauseris lahti pakkida rakenduse File2File.app abil, ilma käsureatööriistu installimata.