Definition

Compression

La compression est une réduction du nombre de bits nécessaires pour représenter les données. Compresser les données permet d'optimiser la capacité de stockage et la vitesse de transfert des fichiers. Elle réduit les coûts dans ces deux domaines.

La compression est effectuée par un programme qui utilise une formule ou un algorithme pour déterminer comment réduire la taille des données. Par exemple, un algorithme peut convertir une chaîne de bits (des 0 et des 1) en une chaîne plus petite de 0 et de 1 en utilisant un dictionnaire, ou encore en insérant une référence ou un pointeur dans une chaîne de 0 et de 1 déjà détectée par le programme.

La compression de texte peut se résumer à la suppression de tous les caractères inutiles, avec insertion d'un caractère de répétition unique pour indiquer une chaîne de caractères répétée et à la substitution des chaînes répétitives par de plus petites chaînes de bits.

La compression peut réduire la taille d'origine d'un fichier texte de 50 %, voire largement plus.

Pour la transmission des données, la compression peut être effectuée sur le contenu des données ou sur la totalité de l'unité de transmission, y compris sur les données d'en-tête. Lorsque les informations sont envoyées ou reçues via Internet, les fichiers plus volumineux peuvent être transmis, isolément ou avec d'autres dans un fichier archive, au format compressé

Compression avec ou sans perte

La compression peut se faire avec ou sans perte.

La compression sans perte de données permet la restauration d'un fichier à son état d'origine sans perdre un seul bit à la décompression. Ce mode de compression est typique des fichiers exécutables, des fichiers texte et de feuille calcul dans lesquels la perte de mots ou de chiffres peut modifier les informations.

La compression avec perte supprime définitivement des bits redondants, sans importance ou imperceptibles. Elle est utile pour les graphiques, les fichiers audio, vidéo et images sur lesquels la suppression de certains bits de données a peu ou pas d'effets sur la représentation du contenu.

La compression d'image graphique peut se faire avec ou sans perte de données. Les formats d'images graphiques autorisent généralement la compression des informations, car les fichiers sont plutôt volumineux. JPEG est un format de fichier image qui prend en charge la compression d'image avec perte de données. Les formats tels que GIF et PNG utilisent la compression sans perte de données.

Compression et déduplication de données

La compression est souvent comparée à la déduplication, mais les deux techniques fonctionnent différemment.

La déduplication est un type de compression qui cherche les fragments de données redondants sur un système de stockage ou sur un système de fichiers et qui les remplace par un pointeur vers l'original. Les algorithmes de compression réduisent la taille des chaînes de bits dans un flux de données dont la portée est bien moindre et qui ne conserve généralement que le dernier mégaoctet de données, au maximum.

La déduplication au niveau fichier supprime les fichiers redondants et les remplace par des éléments temporaires pointant vers le fichier d'origine. La déduplication au niveau bloc identifie les données dupliquées au niveau du sous-fichier. Le système enregistre des instances uniques de chaque bloc, les traite au moyen d'un algorithme de hachage et génère un identifiant unique pour les stocker dans un index.

La déduplication est particulièrement efficace dans les environnements à forte redondance de données, comme le VDI ou des systèmes de sauvegarde de stockage. La compression est plus efficace que la déduplication pour réduire la taille des informations uniques (fichiers image, audio, vidéo, bases de données et fichiers exécutables). De nombreux systèmes de stockage prennent en charge la compression et la déduplication.

Avantages et inconvénients de la compression

Les principaux avantages de la compression sont la réduction du hardware de stockage, des temps de transmission de données et de bande passante, et les économies qui en résultent.

Le principal inconvénient de la compression est son impact sur les performances, car les ressources d’une machine et sa mémoire sont sollicitées pour compresser et décompresser les données.

De nombreux fournisseurs ont conçu leurs systèmes pour minimiser l'impact des calculs gourmands associés à la compression. Si la compression est effectuée « en ligne » (« in-line »), avant que les données soient inscrites sur le disque, le système peut décharger la compression pour préserver les ressources système. Par exemple, IBM utilise une carte d'accélération matérielle distincte pour gérer la compression avec certains de ses systèmes de stockage d'entreprise.

Si les données sont compressées après l'inscription sur le disque ou après traitement, la compression peut se faire en arrière-plan pour limiter l'impact sur les performances. La compression post-traitement peut réduire le temps de réponse pour chaque entrée-sortie (E/S), mais elle consomme toujours de la mémoire et des cycles de processeur, ce qui peut affecter le nombre total d'E/S gérables par un système de stockage.

De plus, comme les données doivent être initialement inscrites sur le disque ou les lecteurs de stockage flash sans compression, les économies en stockage physique ne sont pas aussi importantes qu'avec la compression « en ligne ».

Outils/technologies qui utilisent la compression

La compression est intégrée à un grand nombre de technologies, notamment les systèmes de stockage, les bases de données, les systèmes d'exploitation et les progiciels. La compression de données est également courante sur les appareils grand public comme les portables, les PC et les téléphones mobiles.

De nombreux systèmes et périphériques effectuent la compression de façon transparente et, sur certains, les utilisateurs peuvent l'activer et la désactiver. Le même fichier ou les mêmes données peuvent être compressés plusieurs fois, mais avec un résultat limité ou nul, voire, selon les algorithmes, avec une légère augmentation de la taille du fichier.

Cette définition a été mise à jour en janvier 2017

Pour approfondir sur Archivage