LZ4 es un algoritmo de compresión de datos sin pérdida que pertenece a la familia de algoritmos basados en diccionario, similar a LZ77. Su principal característica es su enfoque en la velocidad de procesamiento, logrando tasas de compresión y descompresión excepcionalmente altas. Utiliza un enfoque de búsqueda de coincidencias de longitud variable y codificación de literales y referencias a bloques de datos previamente vistos. A diferencia de otros algoritmos que buscan la máxima relación de compresión, LZ4 optimiza el rendimiento mediante el uso de una ventana deslizante y un hash table para encontrar coincidencias de manera eficiente, lo que resulta en una huella de CPU muy baja.
En el mundo real, LZ4 es ampliamente adoptado en sistemas donde la latencia y el rendimiento son primordiales. Es el algoritmo de compresión predeterminado en ZFS para compresión de datos en línea, y es utilizado por Apache Cassandra para comprimir datos en disco. Otros ejemplos incluyen RocksDB, un key-value store de alto rendimiento, que lo usa para sus SSTables. También se encuentra en sistemas de logging como rsyslog y en herramientas de backup como BorgBackup. En el ámbito de las bases de datos, PostgreSQL lo soporta para la compresión de TOAST (The Oversized-Attribute Storage Technique). Su implementación es común en bibliotecas de red y almacenamiento para reducir el ancho de banda y el espacio sin incurrir en penalizaciones significativas de rendimiento.
Para un arquitecto de sistemas, LZ4 es una herramienta estratégica cuando la velocidad de E/S o la latencia de red son cuellos de botella más críticos que el espacio de almacenamiento puro. La elección de LZ4 implica un trade-off consciente: se sacrifica una relación de compresión máxima (que podrían ofrecer algoritmos como Zstd o Brotli) a cambio de una velocidad de compresión y, crucialmente, descompresión que puede ser órdenes de magnitud más rápida. Esto lo hace ideal para bases de datos transaccionales, sistemas de streaming de datos, caches, o cualquier componente donde la CPU y el tiempo de respuesta son recursos premium. Un arquitecto debe considerar LZ4 al diseñar sistemas distribuidos con grandes volúmenes de datos en movimiento o almacenamiento de acceso frecuente, donde minimizar la latencia de lectura es vital para la experiencia del usuario o el rendimiento del sistema en general.