it-swarm-es.com

¿Qué archivo / formato de compresión?

ZIP, RAR, 7Z, GZIP, BZIP2, TAR, etc. Estoy escuchando 7Z es el sabor del mes, ¿por qué? Es mejor para todas las situaciones o hay mejores opciones para situaciones específicas.

¿O tal vez el archivador del archivo real, es decir, WinZip, WinRAR, 7ZIP, etc. (a diferencia del formato) tiene un efecto más grande?

En su respuesta, ¿podría describir qué tipo de velocidad de velocidad/compresión utiliza su formato mencionado?.

Proporcione enlaces a cualquier prueba empírica que realice una copia de seguridad de su respuesta.

Antecedentes: Necesito hacer una copia de seguridad de un índice de búsqueda personalizado que crea aproximadamente 3000 archivos relativamente pequeños (menos de 10 MB), cada uno con muchos datos repetitivos.

(Como habitual, Wikipedia tiene un artículo relevante , pero la sección sobre comparación de desempeño es breve).

Gracias

8
Ash

Lectura recomendada:

Compresión de archivos en la ERA Multi-Core (Jeff Atwood A.K.A. codinghorror, febrero de 2009)

He estado jugando un poco con una compresión de archivos nuevamente, ya que generamos algunos archivos de copia de seguridad muy grandes diariamente en el desbordamiento de la pila.

Estamos utilizando la última versión de 74 bits de 7zip (4.64) en nuestro servidor de base de datos. No soy un gran fan de más del núcleo dual en el escritorio, pero no es una obviedad para los servidores. ¡Cuantos más cPU núpate a Merrier! Este servidor tiene dos CPU de cuatro núcleos, un total de 8 núcleos, y yo estaba un poco desanimado para descubrir que ni RAR ni 7ZIP parecían hacer mucho uso de más de 2.

Aún así, incluso si solo usa 2 núcleos para comprimir, el algoritmo de 7zip es increíblemente efectivo, y ha evolucionado en los últimos años para ser respetuosamente rápido. Solía ​​recomendar RAR sobre ZIP, pero dado la mayor eficiencia de 7ZIP y el hecho de que es gratis y RAR no lo es, es la elección lógica ahora.

Y con respecto a los algoritmos:

¿Por qué Bzip2 es capaz de trabajar tanto más rápido que 7ZIP? [...] BZIP2 utiliza más de 2 núcleos de CPU para paralelizar su trabajo.

10
splattne

No se trata de la eficiencia y la velocidad. Claro que son importantes y puede ver los puntos de referencia para aquellos y elegir sabiamente a partir de las opciones (aunque recomendaría una simple comparación propia con sus propios datos en su propio servidor). Pero el archivo lleva inevitablemente en algún momento para acceder a sus datos nuevamente (de lo contrario, ¿por qué no simplemente eliminarlo?). O tal vez años en el camino, no estará accediendo a los datos en absoluto, sino a alguien de terceros. Elija algo que esté alrededor cuando necesite acceder a los datos y algo que las personas reconocen. Yo personalmente uso 7ZIP, pero cuando archive archivos, otros pueden necesitar que utilice ZIP. Lo saben, muchas herramientas pueden manejarlo. Puede que no sea tan rápido o tan pequeño, pero ayuda con el factor humano.

4
Joshua Hunter

LZMA parece funcionar muy bien en la relación y velocidad de compresión.

En lo siguiente http://tukaani.org/lzma/benchmarks Benchmarks El ajuste más rápido para LZMA dio los tiempos de compresión considerablemente más rápido que la opción BZIP2 más rápida, mientras que aún está dando compresión mejor que la opción BZIP2 más lenta:

 Ratio bzip2 lzmash 
 Más rápido 35.8% 31.7% 
 Más lento 34.0% 25.4% 
 
 TIEMPO BZIP2 LZMASH [.____] más rápido 1m 26s 0m 58s [.____] más lento 2m 37s 12m 20s [.____] 
 * Comprimiendo la instalación completa de OpenOffice.org 1.1.4 para Linux (203 MB) [.____]

Se realiza especialmente bien con los datos binarios, pero creo que leí algunos puntos de referencia de texto plano donde Bzip2 lo superó.

La página de Lzma Man vale la pena leer:

   lzma  provides  notably  better compression ratio than bzip2 especially
   with files having other than plain text content. The other advantage of
   lzma  is fast decompression which is many times quicker than bzip2. The
   major disadvantage is that achieving  the  highest  compression  ratios
   requires  extensive  amount of system resources, both CPU time and RAM.
   Also software to handle LZMA  compressed  files  is  not  installed  by
   default on most distributions.
3
Guy C

Eche un vistazo a esto entrada de Wikipedia . Hacia la parte inferior, "comparación de la eficiencia". Le dará porcentaje de compresión, y se tomará tiempo, aproximadamente. Todos esos números variarán (velocidad sabia) en función de la velocidad de la máquina que se está utilizando, la cantidad de memoria, etc.

Más puntos de referencia de compresión:

2
user1797