Compressione solida

metodo di compressione dei dati

In informatica, la compressione solida (in inglese solid compression) designa un metodo di compressione dei dati di file multipli, nel quale tutti i file compressi sono concatenati e trattati come un unico blocco di dati. Tale archivio è chiamato archivio solido. Si usa nativamente nei formati 7z[1] e RAR[2], nonché indirettamente nei formati basati su tar come .tar.gz e .tar.bz2. Per converso, il formato ZIP non è solido: memorizza file compressi separati.

Il termine è usato perché i dati sono compressi come un unico blocco solido, anziché come file individuali.

Spiegazione

modifica

I formati di file compressi spesso presentano sia la compressione (la memorizzazione dei dati in uno spazio ridotto) sia l'archiviazione (la memorizzazione di file multipli e di metadati in un unico file). Le due funzioni si possono combinare in due modi:

  • comprimere i singoli file e poi archiviarli in un unico file;
  • archiviare tutti i file in un unico blocco di dati, e poi comprimerlo.

L'ordine ha importanza, in quanto queste operazioni non commutano: il secondo metodo è appunto la compressione solida.

In Unix, la compressione e l'archiviazione sono tradizionalmente operazioni separate, il che permette di capire questa distinzione:

  • comprimere i singoli file e poi archiviare sarebbe un tar di file gzip-pati – questo è molto raro, mentre
  • archiviare mediante tar e poi comprimere genera un archivio compresso: un .tar.gz – e questa è la compressione solida.

Benefici

modifica

La compressione solida permette percentuali di compressione molto migliori quando tutti i file sono simili, il che accade spesso se sono dello stesso formato. È anche molto efficiente quando si archivia un numero elevato di file piuttosto piccoli.

D'altro canto, ricavare un singolo file da un archivio solido richiede l'elaborazione di tutti i file prima di esso, pertanto modificare gli archivi solidi può essere lento e scomodo.

Inoltre, se l'archivio viene anche lievemente danneggiato, una parte dei dati (a volte perfino tutti i dati) dopo la parte danneggiata possono risultare inutilizzabili (a seconda del formato di compressione e di archiviazione), mentre in un formato di archivio non solido, di solito soltanto un file è inutilizzabile e i file successivi normalmente possono ancora essere estratti.

  1. ^ 7za man page, su edenwaith.com. URL consultato il 24 gennaio 2010 (archiviato dall'url originale il 10 gennaio 2010).
    «-ms=on[:] solid archive on»
  2. ^ RAR Frequently Asked Questions (FAQ) (TXT), su pot-pourri.fltr.ucl.ac.be. URL consultato il 24 gennaio 2010.

Voci correlate

modifica