La compressione dei dati è una riduzione del numero di bit necessari per rappresentare i dati. La compressione dei dati consente di risparmiare capacità di archiviazione, accelerare il trasferimento di file e ridurre i costi per l’hardware di archiviazione e la larghezza di banda della rete.

Come funziona la compressione

La compressione viene eseguita da un programma che utilizza una formula o un algoritmo per determinare come ridurre la dimensione dei dati., Ad esempio, un algoritmo può rappresentare una stringa di bit-o 0s e 1s-con una stringa più piccola di 0s e 1s usando un dizionario per la conversione tra di loro, o la formula può inserire un riferimento o un puntatore a una stringa di 0s e 1s che il programma ha già visto.

La compressione del testo può essere semplice come rimuovere tutti i caratteri non necessari, inserire un singolo carattere di ripetizione per indicare una stringa di caratteri ripetuti e sostituire una stringa di bit più piccola per una stringa di bit frequente., La compressione dei dati può ridurre un file di testo al 50% o una percentuale significativamente più alta della sua dimensione originale.

Per la trasmissione dei dati, la compressione può essere eseguita sul contenuto dei dati o sull’intera unità di trasmissione, inclusi i dati di intestazione. Quando le informazioni vengono inviate o ricevute via Internet, file più grandi, singolarmente o con altri come parte di un file di archivio, possono essere trasmessi in un formato ZIP, GZIP o altro formato compresso.

Perché la compressione dei dati è importante?

La compressione dei dati può ridurre drasticamente la quantità di spazio di archiviazione di un file., Ad esempio, in un rapporto di compressione 2:1, un file da 20 megabyte (MB) occupa 10 MB di spazio. Come risultato della compressione, gli amministratori spendono meno denaro e meno tempo per l’archiviazione.

Compressione ottimizza le prestazioni di archiviazione di backup e ha recentemente mostrato in riduzione dei dati di archiviazione primaria. La compressione sarà un importante metodo di riduzione dei dati in quanto i dati continuano a crescere in modo esponenziale.

Praticamente qualsiasi tipo di file può essere compresso, ma è importante seguire le migliori pratiche quando si sceglie quali comprimere., Ad esempio, alcuni file potrebbero già venire compressi, quindi la compressione di tali file non avrebbe un impatto significativo.

Metodi di compressione dei dati: compressione lossless e lossy

La compressione dei dati può essere un processo lossless o lossy. La compressione senza perdita consente il ripristino di un file allo stato originale, senza la perdita di un singolo bit di dati, quando il file non è compresso. La compressione senza perdita è l’approccio tipico con eseguibili, così come file di testo e fogli di calcolo, in cui la perdita di parole o numeri cambierebbe le informazioni.,

La compressione con perdita elimina in modo permanente i bit di dati ridondanti, non importanti o impercettibili. La compressione con perdita di dati è utile con grafica, audio, video e immagini, dove la rimozione di alcuni bit di dati ha poco o nessun effetto visibile sulla rappresentazione del contenuto.


Il professor David Brailsford, con la Scuola di
Informatica presso l’Università di Nottingham,
discute la compressione di testo e immagini.

La compressione delle immagini grafiche può essere lossy o lossless., I formati di file immagine grafica sono in genere progettati per comprimere le informazioni poiché i file tendono ad essere grandi. JPEG è un formato di file immagine che supporta la compressione delle immagini con perdita di dati. Formati come GIF e PNG utilizzano la compressione senza perdita di dati.

Compressione vs. deduplicazione dei dati

La compressione viene spesso paragonata alla deduplicazione dei dati, ma le due tecniche funzionano in modo diverso. La deduplicazione è un tipo di compressione che cerca blocchi ridondanti di dati in un sistema di archiviazione o file e quindi sostituisce ogni blocco duplicato con un puntatore all’originale., Gli algoritmi di compressione dei dati riducono la dimensione delle stringhe di bit in un flusso di dati di portata molto più piccola e generalmente non ricorda più dell’ultimo megabyte o meno di dati.

L’analista di Taneja Group Mike Matchett ha discusso i vantaggi della compressione e della deduplicazione e di come i due differiscano.

La deduplicazione a livello di file elimina i file ridondanti e li sostituisce con stub che puntano al file originale. La deduplicazione a livello di blocco identifica i dati duplicati a livello di file secondario., Il sistema salva istanze univoche di ciascun blocco, utilizza un algoritmo hash per elaborarle e genera un identificatore univoco per memorizzarle in un indice. La deduplicazione in genere cerca blocchi più grandi di dati duplicati rispetto alla compressione e i sistemi possono deduplicare utilizzando un blocco di dimensioni fisse o variabili.

La deduplicazione è più efficace in ambienti con un elevato grado di dati ridondanti, come l’infrastruttura desktop virtuale o i sistemi di backup dello storage., La compressione dei dati tende ad essere più efficace della deduplicazione nel ridurre le dimensioni di informazioni uniche, come immagini, audio, video, database e file eseguibili. Molti sistemi di archiviazione supportano sia la compressione che la deduplicazione.

Compressione e backup dei dati

La compressione viene spesso utilizzata per i dati a cui non si accede molto, poiché il processo può essere intensivo e rallentare i sistemi. Gli amministratori, tuttavia, possono integrare perfettamente la compressione nei loro sistemi di backup.

Il backup è un tipo di carico di lavoro ridondante, poiché il processo acquisisce frequentemente gli stessi file., Un’organizzazione che esegue backup completi avrà spesso vicino agli stessi dati da backup a backup.

Ci sono importanti vantaggi nella compressione dei dati prima del backup:

  • I dati occupano meno spazio, poiché un rapporto di compressione può raggiungere 100:1, ma tra 2:1 e 5:1 è comune.
  • Se la compressione viene eseguita in un server prima della trasmissione, il tempo necessario per trasmettere i dati e la larghezza di banda totale della rete vengono drasticamente ridotti.
  • Su nastro, l’immagine del file system compressa e più piccola può essere scansionata più velocemente per raggiungere un particolare file, riducendo la latenza di ripristino.,
  • La compressione è supportata da software di backup e librerie a nastro, quindi c’è una scelta di tecniche di compressione dei dati.

Pro e contro della compressione

I principali vantaggi della compressione sono una riduzione dell’hardware di archiviazione, dei tempi di trasmissione dei dati e della larghezza di banda di comunicazione — e il conseguente risparmio sui costi. Un file compresso richiede meno capacità di archiviazione rispetto a un file non compresso e l’uso della compressione può portare a una significativa diminuzione delle spese per dischi e/o unità a stato solido., Un file compresso richiede anche meno tempo per il trasferimento e consuma meno larghezza di banda di rete rispetto a un file non compresso.

Lo svantaggio principale della compressione dei dati è l’impatto sulle prestazioni derivante dall’uso di CPU e risorse di memoria per comprimere i dati ed eseguire la decompressione. Molti fornitori hanno progettato i loro sistemi per cercare di ridurre al minimo l’impatto dei calcoli ad alta intensità di processore associati alla compressione. Se la compressione viene eseguita in linea, prima che i dati vengano scritti su disco, il sistema potrebbe scaricare la compressione per preservare le risorse di sistema., Ad esempio, IBM utilizza una scheda di accelerazione hardware separata per gestire la compressione con alcuni dei suoi sistemi di storage aziendali.

Se i dati vengono compressi dopo essere stati scritti su disco o post-processo, la compressione può essere eseguita in background per ridurre l’impatto sulle prestazioni. Sebbene la compressione post-processo possa ridurre il tempo di risposta per ogni input/output (I/O), consuma ancora cicli di memoria e processore e può influire sul numero complessivo di I/O che un sistema di archiviazione può gestire., Inoltre, poiché i dati inizialmente devono essere scritti su disco o unità flash in forma non compressa, i risparmi di archiviazione fisica non sono così grandi come lo sono con la compressione in linea.

Tecniche di compressione dei dati: Compressione del file system

La compressione del file system adotta un approccio abbastanza semplice per ridurre l’ingombro di archiviazione dei dati comprimendo in modo trasparente ogni file così come è scritto.

Molti dei popolari file system Linux-tra cui Reiser4, ZFS e btrfs-e Microsoft NTFS hanno un’opzione di compressione., Il server comprime blocchi di dati in un file e quindi scrive i frammenti più piccoli nell’archiviazione.

La lettura comporta una latenza relativamente piccola per espandere ogni frammento, mentre la scrittura aggiunge un carico sostanziale al server, quindi la compressione di solito non è raccomandata per i dati volatili. La compressione del file system può indebolire le prestazioni, quindi dovrebbe essere distribuita in modo selettivo su file a cui non si accede frequentemente.,

Storicamente, con i costosi dischi rigidi dei primi computer, i software di compressione dati, come DiskDoubler e SuperStor Pro, erano popolari e aiutavano a stabilire la compressione del file system mainstream.

Gli amministratori di storage possono anche applicare la tecnica di compressione e deduplicazione per una migliore riduzione dei dati.

Tecnologie e prodotti che utilizzano la compressione dei dati

La compressione è integrata in una vasta gamma di tecnologie, inclusi sistemi di archiviazione, database, sistemi operativi e applicazioni software utilizzate da aziende e organizzazioni aziendali., La compressione dei dati è comune anche nei dispositivi consumer, come laptop, PC e telefoni cellulari.

Molti sistemi e dispositivi eseguono la compressione in modo trasparente, ma alcuni offrono agli utenti la possibilità di attivare o disattivare la compressione. Può essere eseguita più di una volta sullo stesso file o pezzo di dati, ma le compressioni successive provocano poca o nessuna compressione aggiuntiva e possono anche aumentare le dimensioni del file in misura lieve, a seconda degli algoritmi di compressione dei dati.

WinZip è un popolare programma Windows che comprime i file quando li confeziona in un archivio., I formati di file di archivio che supportano la compressione includono ZIP e RAR. I formati BZIP2 e GZIP vedono un uso diffuso per la compressione di singoli file.

Altri fornitori che offrono la compressione includono Dell EMC con il suo Xtremio all-flash array, Kaminario con il suo K2 all-flash array e RainStor con il suo software di compressione dati.

Differenza dati

Differenza dati è un termine generale per confrontare il contenuto di due oggetti dati., Nel contesto della compressione, comporta ripetutamente la ricerca attraverso il file di destinazione per trovare blocchi simili e sostituirli con un riferimento a un oggetto libreria. Questo processo si ripete fino a quando non trova ulteriori oggetti duplicati. La differenziazione dei dati può portare a molti file compressi con un solo elemento nella libreria che rappresenta ogni oggetto duplicato.

Nei desktop virtuali, questa tecnica può presentare un rapporto di compressione fino a 100: 1., Il processo è spesso più strettamente allineato con la deduplicazione, che cerca file o oggetti identici, piuttosto che all’interno del contenuto di ciascun oggetto.

La differenza dei dati viene talvolta definita deduplicazione.