Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

zstd: l'algoritmo di compressione di Facebook

Link copiato negli appunti

I principali social network devono gestire quotidianamente un'immensa mole di dati, per ottimizzare tale processo vengono utilizzati degli algoritmi di compressione che permettono di minimizzare il peso dei file e ridurre i consumi di banda, molti di questi algoritmi sono strutturati in modo da evitare perdite di qualità durante la compressione, elemento molto importate per video e immagini.

Facebook sfrutta Zstandard, conosciuto anche come zstd, per eseguire le operazioni di real-time data compression. zstd è un algoritmo di compressione di tipo lossless, dunque opera senza causare perdite di dati e senza intaccare la qualità del rendering. Scritto in C e distribuito sotto licenza open source, il progetto è in pratica una reimplementazione di un altro algoritmo precedentemente scritto in Java.

zstd offre un ottimo compromesso tra velocità di compressione e compression ratio, dunque è in grado di comprimere elevate quantità di dati in un tempo relativamente breve. E' efficace in paerticolare nella small data compression o dictionary compression, può infatti generare dei dizionari tramite i dataset gestiti. Inoltre può lavorare senza problemi con i formati .zst, .gz, .xz e .lz4.

zstd

zstd ha anche una ricca collezione di API che gli permettono di operare con vari linguaggi e framework come Python, Java, JavaScript, NodeJS, Perl, Ruby, C#, Go, Rust, PHP e Swift. L'algoritmo può essere sfruttato per comprimere volumi di dati anche importanti in formati multipli, Facebook lo sfrutta proprio in questi contesti, cosi da minimizzare l'impatto dell'elaborazione dati all'interno della propria infrastruttura software.

zstd

È possibile sfruttare zstd anche sul proprio PC compilando il codice sorgente su Linux. Prima di tutto installiamo qualche tool utile:

sudo apt update && sudo apt install build-essential

e adesso scarichiamo il sorgente ed iniziamo a compilare:

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

Una volta terminata l'installazione possiamo iniziare a comprimere i file:

zstd filediprova.mp4

mentre per decomprimerlo lanceremo l'istruzione:

unzstd filediprova.mp4

Via zstd

Ti consigliamo anche