stringtranslate.com

Compresión sólida

Un tar.gz se crea uniendo los archivos en tar y luego comprimiéndolos con gzip.

En informática , la compresión sólida es un método para la compresión de datos de varios archivos, en el que todos los archivos sin comprimir se concatenan y se tratan como un único bloque de datos. Un archivo de este tipo se denomina archivo sólido. Se utiliza de forma nativa en los formatos 7z [1] y RAR [2] , así como indirectamente enalquitránformatos basados ​​en como.alquitrán. gzy.alquitrán. bz2. Por el contrario, el formato ZIP no es sólido porque almacena archivos comprimidos por separado (aunque se puede emular una compresión sólida para archivos pequeños combinando los archivos en un archivo sin comprimir y luego comprimiendo ese archivo dentro de un segundo archivo ZIP comprimido). [3] [4]

Explicación

Los formatos de archivos comprimidos suelen incluir tanto compresión (almacenar los datos en un espacio pequeño) como archivado (almacenar varios archivos y metadatos en un solo archivo). Se pueden combinar estos de dos formas naturales:

El orden importa (estas operaciones no conmutan ), y esto último es una compresión sólida.

En Unix, la compresión y el archivado son tradicionalmente operaciones separadas, lo que permite comprender esta distinción:

Una representación gráfica aproximada

En este ejemplo, tres archivos tienen cada uno una parte común con la misma información, una parte única con información que no está en los otros archivos y una parte "aérea" con baja entropía y, en consecuencia, información bien comprimible.

archivo original A

archivo original B

archivo original C

archivo no sólido:

archivo sólido:

Razón fundamental

Beneficios

La compresión sólida permite tasas de compresión mucho mejores cuando todos los archivos son similares, lo que suele ser el caso si tienen el mismo formato de archivo . También puede resultar eficaz al archivar una gran cantidad de archivos pequeños.

Costos

Por otro lado, obtener un solo archivo de un archivo sólido requiere procesar todos los archivos anteriores, por lo que modificar archivos sólidos puede ser lento e inconveniente. En formatos más nuevos, como 7-zip, existe una opción de tamaño de bloque sólido que permite dividir el bloque de datos concatenado en bloques más pequeños comprimidos individualmente, de modo que solo se debe procesar una cantidad limitada de datos en el bloque para poder procesarlos. extraer un archivo. Los parámetros controlan el tamaño máximo de ventana de bloque sólido, la cantidad de archivos en un bloque y si los bloques están separados por extensión de archivo. [5]

Además, si el archivo se daña aunque sea levemente, algunos de los datos (a veces incluso todos los datos) después de la parte dañada en el bloque pueden quedar inutilizables (dependiendo del formato de compresión y archivo), mientras que en un formato de archivo no sólido, generalmente sólo un archivo es inutilizable y los archivos siguientes normalmente todavía se pueden extraer.

Referencias

  1. ^ "Página de manual de 7za". Archivado desde el original el 10 de enero de 2010 . Consultado el 24 de enero de 2010 . -ms=on[:] archivo sólido activado
  2. ^ "Preguntas frecuentes (FAQ) de RAR". 15 de agosto de 1994. Archivado desde el original el 15 de mayo de 2011 . Consultado el 24 de enero de 2010 .
  3. ^ "CAFxXcrossway: emula un archivado sólido con ZIP". cafxx.strayorange.com .
  4. ^ "ZIP y archivos sólidos". Revisión de PC . 2006-03-15.
  5. ^ "HISTORIA del 7-Zip". www.7-zip.org . Consultado el 9 de septiembre de 2019 .