ZSTD - Un algorithme de compression de données rapide utilisé par Facebook

ZSTD - Un algorithme de compression de données rapide utilisé par Facebook

Zstandard (aussi connu sous le nom zstd) est un programme de compression de données open source gratuit et rapide avec de meilleurs ratios de compression, développé par Facebook. C'est un algorithme de compression sans perte écrit en C (Il y a une réimplémentation dans Java) - C'est donc un programme Linux natif.

Lire aussi: 10 7zip (Comperssion de données) Exemples de commande dans Linux

En cas de besoin, il peut échanger une vitesse de compression contre des ratios de compression plus forts (le compromis de la vitesse de compression vs le ratio de compression peut être configuré par de petits incréments), vice versa. Il a un mode spécial pour la compression de petites données, connue sous le nom de compression du dictionnaire, et peut construire des dictionnaires à partir de tout ensemble d'échantillons fourni. Il est livré avec un utilitaire de ligne de commande pour créer et décoder .zst, .gz, .xz et .lz4 des dossiers.

En bonne place, Zstandard A une riche collection d'API, prend en charge presque tous les langages de programmation populaires, notamment Python, Java, JavaScript, Nodejs, Perl, Ruby, C #, Go, Rust, PHP, Switft et bien plus encore.

Il est activement utilisé pour comprimer de grands volumes de données en plusieurs formats et des cas d'utilisation dans Facebook; des services tels que Amazon Redshift entreposage de données; bases de données telles que Hadoop et Redis; le réseau Tor et de nombreuses autres applications, y compris les jeux.

Les résultats suivants sont obtenus en effectuant plusieurs tests d'algorithmes de compression rapide sur un serveur exécutant Linux Debian à l'aide de LZBench, un outil de référence en mémoire open-source.

Tests de compression zstandard

Comment installer l'outil de compression Zstandard dans Linux

À installer Zstandard Sur une distribution Linux, vous devez le compiler à partir de sources, mais avant cela, vous devez d'abord installer les outils de développement nécessaires sur votre système à l'aide de votre gestionnaire de packages de distribution comme indiqué.

$ sudo apt Update && sudo apt install build-essential # ubuntu / debian # yum groupe installer "tools de développement" # centos / rehl # dnf groupInstall "c de développement outils et bibliothèques" #fedora 22+ 

Une fois que tous les outils de développement nécessaires installés, vous pouvez maintenant télécharger le package source, passer dans le répertoire de réapprovisionnement local, construire le binaire et l'installer comme indiqué.

$ CD ~ / Télécharges $ git clone https: // github.com / Facebook / ZSTD.git $ cd zstd $ make $ sudo faire installer 

Une fois Zstandard installé, maintenant nous pouvons aller plus loin pour apprendre une utilisation de base de Zstd Exemples de commande dans la section suivante.

Apprenez 10 exemples d'utilisation de la commande ZSTD dans Linux

La syntaxe de ligne de commande de ZSTD est généralement similaire à celle de gzip et xz Outils, avec quelques différences.

1. Créer un .zst Fichier de compression, fournissez simplement un nom de fichier pour le compresser ou utiliser le -z L'indicateur signifie également Compress, qui est l'action par défaut.

$ ZSTD Etcher-1.3.1-x86_64.AppImage ou $ ZSTD -Z Etchher-1.3.1-x86_64.Applimager 

2. Pour décompresser un .zst Fichier de compression, utilisez le -d drapeau ou le unzstd utilité comme indiqué.

$ ZSTD -D Etchher-1.3.1-x86_64.Applimager.ZST ou $ unzstd Etchher-1.3.1-x86_64.Applimager.zst 

3. Pour supprimer le fichier source après une opération, par défaut, le fichier source n'est pas supprimé après compression ou décompression réussie, pour le supprimer, utilisez le --RM option.

$ ls Etchher-1.3.1-x86_64.AppImage $ ZSTD --RM Etchher-1.3.1-x86_64.AppImage $ ls Etchher-1.3.1-x86_64.Applimager 

4. Pour définir un niveau de compression, ZSTD possède un certain nombre de modificateurs d'opération, par exemple vous pouvez spécifier un niveau de compression en tant que -6(un nombre 1-19, la valeur par défaut est 3) comme indiqué.

$ ZSTD -6 --rm Etchher-1.3.1-x86_64.Applimager 

5. Pour définir une vitesse de compression, ZSTD a un rapport de vitesse de compression 1-10, La vitesse de compression par défaut est 1. Vous pouvez échanger un ratio de compression pour la vitesse de compression avec le --rapide Option, plus le nombre est élevé, plus la vitesse de compression est élevée.

$ ZSTD --FAST = 10 Etchecher-1.3.1-x86_64.Applimager 

6. Pour afficher des informations sur un fichier compressé, utilisez le -l Flag, qui est utilisé pour afficher des informations sur un fichier compressé, par exemple.

$ zstd -l Etchher-1.3.1-x86_64.Applimager.zst 

7. Pour tester l'intégrité d'un fichier compressé, utilisez le -t Flag comme indiqué.

$ ZSTD -T Etchher-1.3.1-x86_64.Applimager.zst 

8. Pour activer le mode verbeux, utilisez le -V option.

$ ZSTD -V -5 Etchher-1.3.1-x86_64.Applimager 

9. Pour utiliser d'autres formats de compression ou de décompression de fichiers tels que GZIP, XZ, LZMA et LZ4, en utilisant le --format = format comme montré.

$ zstd -v - format = gzip Etchher-1.3.1-x86_64.AppImage $ zstd -v - format = xz Etchecher-1.3.1-x86_64.Applimager 

dix. Pour définir une priorité de processus ZSTD en temps réel, vous pouvez utiliser l'option -priorité = RT comme montré.

$ zstd - priority = rt Etchher-1.3.1-x86_64.Applimager 

Le -r Le drapeau demande à ZSTD de fonctionner récursivement sur les dictionnaires. Vous pouvez trouver beaucoup d'options utiles et avancées, comment lire ou créer des dictionnaires en consultant la page ZSTD Man.

$ man zstd 

Référentiel de github zstandard: https: // github.com / Facebook / ZSTD

Zstandard est un algorithme de compression de données sans perte rapide et un outil de compression qui offre des rapports de compression élevés. Essayez-le et partagez vos réflexions à ce sujet ou posez des questions via le formulaire de rétroaction ci-dessous.