Compressione solida

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

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.

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.

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 | modifica wikitesto]