16 de julio de 2025

La necesidad de comprimir información es tan antigua como la informática misma… y aún más. Desde el uso de códigos breves en telegrafía hasta los complejos algoritmos que hoy permiten almacenar terabytes en segundos, la compresión de datos ha sido una pieza fundamental en la evolución digital.

Este artículo repasa su historia desde sus orígenes hasta los algoritmos más poderosos del presente.


⚙️ ¿Qué es la compresión de datos?

La compresión es un proceso para reducir el tamaño de la información, eliminando redundancias o representando los datos de forma más eficiente. Existen dos tipos principales:

  • Lossless (sin pérdida): Se puede recuperar el archivo original exactamente.
  • Lossy (con pérdida): Se pierde parte de la información original, generalmente imperceptible al ojo o oído humano (imágenes, audio, video).

📜 Primeros pasos: compresión antes de los ordenadores

  • Código Morse (1836): Es uno de los primeros métodos de compresión. Las letras más frecuentes (como la “E”) usaban los códigos más cortos. Este principio se refleja luego en algoritmos como Huffman.
  • Codificación telegráfica y taquigrafía: Técnicas humanas para reducir tiempo y espacio al comunicar mensajes, anticipando el concepto de compresión textual.

🧠 Años 1940–1950: primeros fundamentos teóricos

  • 1948 – Claude Shannon publica su obra maestra: A Mathematical Theory of Communication.
    Introduce conceptos clave como entropía de información, que describe los límites teóricos de la compresión. Su trabajo marca el nacimiento de la teoría de la información, base matemática de todos los algoritmos modernos.

🧾 Años 1970–1980: llegan los algoritmos clásicos

🔸 Huffman Coding (1952, uso masivo en los 70s)

  • Asigna códigos más cortos a los símbolos más frecuentes.
  • Muy utilizado en compresores de texto (como DEFLATE).

🔸 Lempel-Ziv (LZ77 y LZ78)

  • 1977 y 1978: Abraham Lempel y Jacob Ziv desarrollan dos algoritmos revolucionarios:
    • LZ77: Usa punteros a secuencias repetidas en el texto anterior.
    • LZ78: Forma un diccionario dinámico de frases encontradas.

Ambos sientan las bases de ZIP, GIF, PNG, PDF, y más.


🗂️ Años 1980–1990: los formatos se estandarizan

📦 ZIP (1989)

  • Introducido por Phil Katz. Usa DEFLATE, una combinación de LZ77 + Huffman.
  • Se convierte en estándar de facto para empaquetar archivos.

🌈 GIF (1987)

  • Primer formato gráfico ampliamente distribuido que usa LZW (una mejora de LZ78).

🔈 MP3 (1993)

  • Primer formato de audio lossy de consumo masivo.
  • Usa psicoacústica para eliminar sonidos que el oído humano no percibe.

🎥 MPEG-1 (1993)

  • Compresión de video basada en eliminación de redundancia temporal.
  • Precursor de VCD, MP2 y más.

🔍 Años 1990–2000: compresión óptima vs velocidad

Surgen algoritmos más potentes pero lentos, ideales para investigación:

🧠 PAQ (2002)

  • Basado en modelos estadísticos adaptativos y predicción por contexto.
  • Consigue tasas de compresión extremadamente altas.
  • Impráctico para uso diario debido a su lentitud.

🧪 BZIP2 (1996)

  • Usa el algoritmo de Burrows-Wheeler + Huffman.
  • Mejor compresión que ZIP, pero más lento.
  • Muy usado en Linux (por ejemplo, .tar.bz2).

🚀 Años 2010–presente: velocidad y potencia para el mundo moderno

⚡ LZ4 (2011)

  • Ultrarápido. Ideal para compresión de disco en tiempo real.
  • Usado en bases de datos, kernels, y sistemas de archivos.

⚖️ Zstandard (Zstd) (2016)

  • Creado por Facebook.
  • Excelente balance entre velocidad y compresión.
  • Adoptado en Linux, tar, zstd-compressed packages, Git, etc.

🧠 CMIX (2011–hoy)

  • Algoritmo extremadamente potente (supera PAQ), basado en IA y predicción avanzada.
  • No se usa comercialmente por su lentitud, pero es el gold standard de compresión sin pérdida.

📹 AV1 (2018)

  • Compresión lossy de video moderna, libre de royalties.
  • Adoptado por YouTube, Netflix, Twitch.
  • Sustituye a H.264 y HEVC en entornos libres.

📦 RAR – La compresión propietaria que dominó los 2000

  • 📅 Año de lanzamiento: 1993
  • 🧑‍💻 Creador: Eugene Roshal
  • 📍 Nombre: RAR significa Roshal ARchive
  • 🔐 Licencia: Propietaria, a diferencia de ZIP o 7z

📝 Características:

  • Compresión mejor que ZIP en la mayoría de los casos.
  • Soporte de volúmenes divididos, recuperación de errores y archivos autoextraíbles.
  • Compresión sólida (solid compression) para datos repetitivos.
  • Soporta cifrado AES-128 desde versiones modernas.
  • Usado ampliamente en distribución de software, juegos, y contenido en línea en la era de foros, RapidShare y similares.

📦 WinRAR: el emblema del formato

Aunque el formato RAR es propietario, el programa WinRAR (también creado por Roshal) se convirtió en el descompresor y compresor por excelencia de Windows desde los 90 hasta bien entrada la década de 2010.

Curiosamente, WinRAR es famoso por su período de prueba que nunca caduca: se puede seguir usando sin pagar, con solo cerrar el aviso de «comprar licencia».

⚖️ Comparado con otros:

  • Mejor compresión que ZIP.
  • Más lento que ZIP o Zstd.
  • No es tan eficiente como 7z o Zstandard para ciertos tipos de datos.

🤖 Soporte en Linux y otros sistemas:

  • Linux y macOS no incluyen soporte RAR de forma nativa.
  • Se pueden usar utilidades como unrar o rar (no siempre libres).
  • El código del descompresor es gratuito pero no libre/open-source.

🧩 ¿RAR sigue siendo relevante?

Aunque RAR ya no domina como antes, sigue siendo:

  • Muy usado en archivos de instalación comprimidos.
  • Común en archivos antiguos, backups o archivos compartidos por usuarios avanzados.
  • Reconocido como uno de los pocos formatos con fiabilidad de recuperación de datos internos en caso de corrupción.

🧩 Compresión hoy: un equilibrio constante

Hoy en día, la compresión busca el mejor equilibrio entre:

  • 🧠 Eficiencia de compresión
  • ⚡ Velocidad de compresión/descompresión
  • 🔋 Uso de recursos (RAM, CPU)
  • 🔒 Soporte de seguridad y cifrado
  • 🌐 Compatibilidad con flujos en red y archivos masivos

🗜️ ¿Y en Linux que se comprime?

El archivo .tar.gz es un formato combinado de empaquetado y compresión muy común en sistemas Linux y Unix. Consiste en:

  1. .tar – Empaqueta varios archivos en uno solo (sin compresión).
  2. .gz – Comprime ese paquete usando Gzip (compresión con pérdida cero).

📦 .tar.gz = empaquetar con tar + comprimir con gzip


🧰 ¿Qué hace cada parte?

📁 tar – Tape Archive

  • Originalmente creado para almacenar datos en cintas magnéticas.
  • Une muchos archivos y carpetas en un solo archivo .tar, conservando:
    • Estructura de carpetas
    • Permisos de archivos
    • Fechas de modificación
    • Dueños y grupos

Ejemplo: documentos, imágenes, notas.txtbackup.tar

🗜️ gzip – GNU Zip

  • Algoritmo de compresión basado en DEFLATE (LZ77 + Huffman).
  • Comprime archivos individuales, por eso se aplica después de crear el .tar.
  • Produce archivos .gz, común en logs, paquetes y transmisiones.

backup.tarbackup.tar.gz


⚙️ ¿Cómo se crea un .tar.gz?

Comando típico:

tar -czvf archivo.tar.gz carpeta_o_archivo
  • -c: crear nuevo archivo
  • -z: usar gzip para comprimir
  • -v: modo detallado (verbose)
  • -f: nombre del archivo de salida

Ejemplo:

tar -czvf backup.tar.gz /home/usuario/mis_datos

🔍 ¿Y cómo se extrae?

tar -xzvf archivo.tar.gz
  • -x: extraer
  • -z: usar gzip para descomprimir
  • -v: mostrar archivos
  • -f: nombre del archivo

🧪 ¿Qué tan buena es la compresión?

  • .tar.gz no es el más eficiente (Zstd y 7z comprimen mejor).
  • Pero es rápido, ampliamente soportado y muy compatible con scripts y herramientas del sistema.
  • Mejores resultados en archivos de texto y código fuente.

📈 ¿Dónde se usa .tar.gz?

  • Distribuciones de software en Linux (como código fuente: programa.tar.gz).
  • Backups automatizados de servidores.
  • Archivos de logs comprimidos (logfile.log.gz).
  • En proyectos de código abierto para entregar versiones.

💡 Otras variantes relacionadas

FormatoDescripciónCompresor usado
.tarSolo empaqueta, sin compresiónNinguno
.tar.gzEmpaqueta + comprime con gzipGzip
.tgzAlias corto para .tar.gzGzip
.tar.bz2Más compresión, más lentoBzip2
.tar.xzMejor compresión, más lento aúnXZ
.tar.zstMuy buena compresión y velocidadZstandard

✅ Ventajas de .tar.gz

  • Estándar en Linux y Unix.
  • Rápido y ligero.
  • Mantiene estructura, permisos y metadatos.
  • Compatible con casi todos los entornos y scripts.

❌ Desventajas

  • No permite compresión por archivo (solo del .tar completo).
  • No tan eficiente como .xz, .zst o .7z.
  • No soporta recuperación de errores como .rar.

🧪 Pro tip: ver contenido sin extraer

tar -tzvf archivo.tar.gz

🛠️ Alternativas modernas

  • .tar.zst con Zstandard: mejor compresión y velocidad que gzip.
  • .zip: más usado en Windows, pero menos eficiente.
  • .7z: mejor compresión, pero menos compatible por defecto en Linux.

📈 Aplicaciones modernas de la compresión

  • Bases de datos: MySQL, RocksDB usan LZ4, Zstd.
  • Transmisión en vivo: Twitch, YouTube usan AV1, Opus.
  • Sistemas operativos: Android usa Brotli y Zstd.
  • Web: HTTP/2 y HTTP/3 soportan compresión Brotli y Gzip.
  • Sistemas de archivos: btrfs, ZFS, f2fs con soporte nativo de compresión.

El algoritmo de compresión de datos más poderoso del mundo actualmente depende del tipo de datos y del propósito (texto, imágenes, audio, video, datos científicos, etc.). Sin embargo, si hablamos de compresión sin pérdida (lossless) y en términos de eficiencia y compresión máxima, los contendientes más avanzados son:


🔝 CMIXEl algoritmo más poderoso (pero lento)

  • Tipo: Compresión sin pérdida (lossless)
  • Creador: Byron Knoll
  • Año: 2011 (en adelante, sigue en desarrollo)
  • Características:
    • Logra compresión superior a cualquier otro algoritmo conocido públicamente.
    • Usa redes neuronales, modelos estadísticos y múltiples predictores.
    • Muy lento y consume muchos recursos (RAM y CPU).
    • No apto para uso cotidiano o en tiempo real.
  • Dónde se usa:
    • Investigación académica, competiciones de compresión (como el Hutter Prize).
    • No se usa en aplicaciones comerciales por su lentitud.

🥈 ZPAQAlta compresión con uso práctico

  • Tipo: Lossless, journaling archive
  • Creador: Matt Mahoney
  • Usos:
    • Ideal para backups incrementales con alta compresión.
    • Utiliza predicción por contexto, como PAQ pero optimizado.
  • Dónde se usa:
    • Archivos de respaldo, sistemas donde la compresión pesa más que la velocidad.
    • Archivos tipo .zpaq en entornos técnicos o personalizados.

🥉 Zstandard (Zstd)Equilibrio entre compresión y velocidad

  • Tipo: Lossless
  • Creador: Yann Collet (Facebook)
  • Año: 2016
  • Características:
    • Muy rápido y eficiente.
    • Mejor compresión que zlib/gzip y más rápido.
    • Soporta niveles de compresión ajustables y diccionarios preentrenados.
  • Dónde se usa:
    • Facebook, Linux kernel, Git, paquetes .deb y .rpm, compresión en discos (btrfs), zstd en tar, etc.
    • Uno de los estándares modernos más adoptados.

📦 Otros algoritmos destacados según uso:

Tipo de datosAlgoritmo más poderosoUsos comunes
Texto puroPAQ8 / CMIXCompeticiones, backup
VideoAV1 (mejor que H.265/HEVC)YouTube, Netflix, streaming
AudioFLAC (lossless), Opus (lossy)Archivos master, voz
ImagenJPEG XL (mejor que JPEG/PNG/WebP)Google, Kodak, investigación
Bases de datosLZ4, Zstd, SnappyMySQL, Cassandra, RocksDB

🧠 ¿Por qué no se usa siempre el algoritmo más potente?

Porque hay un equilibrio entre compresión, velocidad y consumo de recursos. Algoritmos como CMIX o PAQ8 pueden comprimir mejor que ZIP o Zstandard, pero requieren muchas horas y gigabytes de RAM para procesar archivos grandes.

En la práctica:

  • Zstandard es el favorito por su rendimiento general.
  • CMIX y PAQ son los campeones teóricos.

🏁 Conclusión

Desde el código Morse hasta Zstandard, los algoritmos de compresión han sido herramientas esenciales para superar las limitaciones físicas del almacenamiento y la transmisión de datos.

La historia de la compresión es también la historia de cómo aprendimos a ser más inteligentes con menos espacio, a transmitir ideas más rápido, y a construir un mundo digital más eficiente.

Y aunque cada día los discos crecen y las redes se aceleran, la compresión sigue siendo una de las joyas invisibles de la informática moderna.


¿Quieres ahorrar espacio? Agradece a la compresión.
¿Quieres compartir datos más rápido? Agradece a la compresión.
¿Quieres vivir en la nube? No podrías sin ella.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *