- Solid compression
In
computing , solid compression refers to a method fordata compression of multiple files, wherein all the compressed files are concatenated and treated as a single data block. It is used in the7z andRAR formats, as well as in tar-based formats such as.tar.gz
and.tar.bz2.
By contrast, the ZIP is not solid: it stores separate compressed files.The term is ostensibly because the data is compressed as a single "solid" block, rather than as individual files.
Explanation
Compressed file formats generally feature "both" compression (storing the data in a small space) and archiving (storing multiple files and metadata in a single file). One can combine these in two natural ways:
* compress the individual files, and then archive into a single file;
* archive into a single data block, and then compress.The order matters (these operations do not commute), and this latter is solid compression.
In Unix, compression and archiving are traditionally separate operations, which allows one to understand this distinction:
* compressing individual files and then archiving would be atar
"of"gzip
'ed files – this is very uncommon, while
* archiving viatar
and "then" compressing yields a compressed archive: a.tar.gz
– and this is solid compression.Rational
Benefits
Solid compression allows for much better compression rates when all the files are similar, which is often the case if they are of the same
file format . It is also very efficient when archiving a large number of rather small files.Costs
On the other hand, getting a single file out of a solid archive requires processing all the files before it, so modifying solid archives can be slow and inconvenient.
Additionally, if the archive becomes even slightly damaged, some of the data (sometimes even all data) after the damaged part can be unusable (depending on the compression and archiving format), whereas in a non-solid archive format, usually only one file is unusable and the subsequent files can usually still be extracted.
Wikimedia Foundation. 2010.