LZ4 ist ein verlustfreies Kompressionsverfahren, das auf der LZ77-Idee des Gleitfensters aufbaut und für extreme Geschwindigkeit optimiert ist. Entwickelt hat es Yann Collet, der es 2011 unter einer freien Lizenz (BSD) veröffentlichte. LZ4 setzt bewusst keine aufwendige Entropiekodierung ein und erreicht dadurch Dekompressionsraten von mehreren Gigabyte pro Sekunde pro Kern.

Wie arbeitet LZ4?

LZ4 durchsucht den bereits gelesenen Datenstrom mit einer Hash-Tabelle nach passenden Übereinstimmungen. Gefundene Wiederholungen ersetzt es durch kurze Verweise auf die frühere Position, alles andere bleibt als Literal erhalten. Ein gesonderter Entropiekodierer wie Huffman-Code fehlt – genau das macht den Ablauf so schnell, kostet aber etwas Kompressionsrate gegenüber Verfahren wie Zstandard oder Brotli.

Wo wird LZ4 eingesetzt?

  • Dateisysteme: ZFS nutzt LZ4 als Standard-Kompression, auch Btrfs unterstützt es.
  • Datenbanken: Spaltenorientierte Systeme wie ClickHouse komprimieren Datenblöcke mit LZ4.
  • Log- und Netzwerkdaten: Überall dort, wo Durchsatz wichtiger ist als maximale Einsparung.

Varianten

Neben der schnellen Grundvariante gibt es LZ4_HC (High Compression), das mehr Rechenzeit in eine bessere Kompressionsrate investiert – die Dekompression bleibt gleich schnell. Zusätzlich unterstützt LZ4 Wörterbuch-Kompression für kleine Datensätze.

Verwandte Grundlagen: Verlustfreie Kompression, Datenkompression.