Zuletzt aktualisiert am 04.12.2025 6 Minuten Lesezeit

Kompression

Kompression (auch Datenkompression oder Datenkomprimierung) bezeichnet Verfahren zur Reduktion der Dateigroesse durch das Entfernen redundanter Informationen. Das Ziel ist es, Daten in eine effizientere Darstellung zu ueberfuehren, sodass sie weniger Speicherplatz benoetigen oder schneller uebertragen werden koennen. Kompression ist ein fundamentales Konzept in der IT und begegnet dir taeglich - ob beim Versenden von E-Mail-Anhaengen, beim Streamen von Videos oder beim Speichern von Fotos.

Grundprinzip der Datenkompression

Das Grundprinzip jeder Kompression ist das Erkennen und Ausnutzen von Redundanz. Redundanz bedeutet, dass bestimmte Informationen mehrfach oder vorhersagbar vorkommen. Ein einfaches Beispiel: Der Text "AAAAAABBBBCC" enthaelt viele Wiederholungen. Statt jeden Buchstaben einzeln zu speichern, kannst du ihn als "6A4B2C" codieren - also die Anzahl gefolgt vom Zeichen. Diese Technik heisst Lauflangenkodierung (Run-Length Encoding, RLE) und ist eine der einfachsten Kompressionsmethoden.

Moderne Kompressionsalgorithmen nutzen deutlich komplexere Verfahren, um Muster in Daten zu erkennen. Sie analysieren, welche Zeichenfolgen haeufig auftreten, und ersetzen diese durch kuerzere Codes. Je mehr Muster ein Algorithmus findet, desto staerker kann er die Daten komprimieren.

Verlustfreie vs. verlustbehaftete Kompression

Es gibt zwei grundlegend verschiedene Arten der Kompression, die sich in einem entscheidenden Punkt unterscheiden: Ob die Originaldaten vollstaendig wiederhergestellt werden koennen oder nicht.

Verlustfreie Kompression (Lossless)

Bei der verlustfreien Kompression bleiben alle Originaldaten vollstaendig erhalten. Nach dem Dekomprimieren erhaeltst du eine bitgenaue Kopie der urspruenglichen Datei. Diese Methode ist unverzichtbar, wenn keine Informationen verloren gehen duerfen - etwa bei Textdokumenten, Programmcode, Datenbank-Backups oder medizinischen Bildern.

Typische verlustfreie Formate:

  • ZIP/RAR/7z: Universelle Archivformate fuer alle Dateitypen
  • GZIP/BZIP2: Kompression einzelner Dateien unter Linux
  • PNG: Bildformat mit verlustfreier Kompression
  • FLAC: Audioformat ohne Qualitaetsverlust

Die erreichbaren Kompressionsraten haengen stark vom Datentyp ab. Textdateien lassen sich oft auf 20-30% ihrer Originalgroesse reduzieren, waehrend bereits komprimierte Dateien (wie JPEG-Bilder) kaum noch weiter verkleinert werden koennen.

Verlustbehaftete Kompression (Lossy)

Die verlustbehaftete Kompression entfernt gezielt Daten, die als weniger wichtig erachtet werden. Dadurch sind deutlich hoehere Kompressionsraten moeglich als bei verlustfreien Verfahren. Der Nachteil: Die Originaldaten koennen nicht mehr vollstaendig wiederhergestellt werden. Diese Methode eignet sich fuer Multimedia-Inhalte, bei denen kleine Qualitaetsverluste vom Menschen kaum wahrgenommen werden.

Typische verlustbehaftete Formate:

  • JPEG: Bildformat mit einstellbarer Kompressionsstaerke
  • MP3/AAC/OGG: Audioformate fuer Musik und Sprache
  • H.264/H.265/VP9: Videocodecs fuer Streaming und Speicherung
  • WebP: Modernes Bildformat von Google mit guter Kompression

Bei Bildern kann JPEG die Dateigroesse auf 10% oder weniger reduzieren, ohne dass deutliche Qualitaetseinbussen sichtbar sind. Videos erreichen mit moderner Kompression Reduktionen um den Faktor 100 bis 1000 gegenueber den Rohdaten.

Wichtige Kompressionsalgorithmen

Hinter den verschiedenen Dateiformaten stecken unterschiedliche Algorithmen mit spezifischen Staerken. Als IT-Fachkraft solltest du die wichtigsten kennen und verstehen, wie sie funktionieren.

Huffman-Codierung

Die Huffman-Codierung ist ein grundlegender Algorithmus, der 1952 von David Huffman entwickelt wurde. Das Prinzip: Haeufig vorkommende Zeichen erhalten kurze Codes, seltene Zeichen laengere. In einem deutschen Text kommt das "e" sehr oft vor und bekommt daher einen kurzen Code wie "10", waehrend das seltene "q" einen laengeren wie "110101" erhaelt. Im Durchschnitt werden dadurch weniger Bits pro Zeichen benoetigt als bei einer festen Codelaenge.

LZ77 und LZ78

Die Lempel-Ziv-Algorithmen (benannt nach Abraham Lempel und Jacob Ziv) nutzen ein woerterbuchbasiertes Verfahren. Statt einzelne Zeichen zu codieren, suchen sie nach wiederholten Zeichenfolgen im Text. Wenn eine Folge bereits frueher vorkam, wird sie durch einen Verweis auf die fruehere Stelle ersetzt. LZ77 bildet die Basis fuer viele moderne Kompressionsformate, darunter GZIP, ZIP und PNG.

Deflate

Deflate kombiniert LZ77 mit Huffman-Codierung in einem zweistufigen Prozess. Zuerst werden wiederholte Muster durch LZ77 ersetzt, dann werden die verbleibenden Symbole mit Huffman optimal codiert. Dieses Verfahren ist der De-facto-Standard fuer allgemeine Kompression und wird von ZIP, GZIP und PNG verwendet.

DCT (Diskrete Kosinustransformation)

Die DCT ist das mathematische Fundament hinter JPEG und vielen Videocodecs. Sie transformiert Bilddaten vom Orts- in den Frequenzbereich. Statt einzelne Pixel zu speichern, werden Frequenzanteile gespeichert. Der Trick: Das menschliche Auge nimmt hohe Frequenzen (feine Details) schlechter wahr als niedrige (grobe Strukturen). Durch Weglassen oder starkes Quantisieren der hohen Frequenzen spart man viel Speicher bei kaum sichtbarem Qualitaetsverlust.

Kompression in der Praxis

Kompression ist allgegenwaertig in der IT-Infrastruktur. Hier sind die wichtigsten Anwendungsbereiche:

Dateiarchivierung und Backup

Bei Backups und Archivierung spart Kompression erheblich Speicherplatz und beschleunigt die Uebertragung. Backup-Software wie Veeam oder Duplicati komprimiert Daten automatisch. Bei der Bandsicherung ist Kompression besonders wichtig, da Bandkapazitaet teuer ist. Typischerweise werden hier verlustfreie Verfahren eingesetzt, um die Integritaet der Daten zu gewaehrleisten.

Web und Netzwerk

Webserver komprimieren HTTP-Antworten automatisch mit GZIP oder dem moderneren Brotli-Algorithmus. Dadurch laden Webseiten deutlich schneller, besonders bei langsamen Verbindungen. Der Browser dekomprimiert die Daten transparent - du merkst davon nichts. CDNs nutzen Kompression intensiv, um Bandbreite zu sparen und Ladezeiten zu minimieren.

Multimedia und Streaming

Ohne Kompression waere Videostreaming undenkbar. Ein unkomprimiertes HD-Video benoetigt etwa 150 Megabyte pro Sekunde. Mit modernen Codecs wie H.265 (HEVC) reduziert sich das auf 1-5 MB/s bei guter Qualitaet. Streaming-Dienste passen die Kompressionsstaerke dynamisch an die verfuegbare Bandbreite an - das erklaert, warum die Bildqualitaet bei schlechter Verbindung abnimmt.

Datenbanken und Dateisysteme

Moderne Datenbanksysteme wie PostgreSQL, MySQL und SQL Server unterstuetzen Kompression auf Tabellen- oder Seitenebene. Dateisysteme wie ZFS, Btrfs und NTFS koennen Daten transparent komprimieren. Der Cache im Arbeitsspeicher profitiert ebenfalls: Komprimierte Daten nehmen weniger Platz ein, sodass mehr Daten gecacht werden koennen.

Kompression unter Linux und Windows

Als Fachinformatiker fuer Systemintegration oder Anwendungsentwicklung wirst du regelmaessig mit Kompression arbeiten. Hier sind die wichtigsten Befehle:

Linux-Befehle

Linux bietet zahlreiche Kommandozeilen-Tools fuer unterschiedliche Kompressionsformate:

# GZIP: Einzelne Datei komprimieren/dekomprimieren
gzip datei.txt           # Erzeugt datei.txt.gz
gzip -d datei.txt.gz     # Dekomprimiert

# ZIP: Archiv mit mehreren Dateien
zip archiv.zip datei1.txt datei2.txt
zip -r archiv.zip ordner/     # Rekursiv
unzip archiv.zip              # Entpacken

# TAR + GZIP: Typisches Linux-Archivformat
tar -czvf archiv.tar.gz ordner/   # Erstellen
tar -xzvf archiv.tar.gz           # Entpacken
tar -tzvf archiv.tar.gz           # Inhalt anzeigen

# BZIP2: Hoehere Kompression, langsamer
bzip2 datei.txt
bunzip2 datei.txt.bz2

# XZ: Beste Kompression (bei LZMA)
xz datei.txt
xz -d datei.txt.xz

Windows PowerShell

Windows bietet mit PowerShell eingebaute Cmdlets fuer ZIP-Archive:

# ZIP-Archiv erstellen
Compress-Archive -Path C:\Ordner\* -DestinationPath C:\archiv.zip

# ZIP-Archiv entpacken
Expand-Archive -Path C:\archiv.zip -DestinationPath C:\Zielordner

# Mit Kompressionsstaerke (Optimal, Fastest, NoCompression)
Compress-Archive -Path C:\Daten -DestinationPath C:\backup.zip -CompressionLevel Optimal

# Dateien zu bestehendem Archiv hinzufuegen
Compress-Archive -Path C:\NeueDatei.txt -Update -DestinationPath C:\archiv.zip

Kompression und Integritaetspruefung

Komprimierte Archive enthalten fast immer eine Pruefsumme (CRC32 bei ZIP), um Uebertragungsfehler oder Beschaedigungen zu erkennen. Beim Entpacken wird die Pruefsumme neu berechnet und mit dem gespeicherten Wert verglichen. Bei Abweichungen meldet das Programm einen Fehler. Fuer sicherheitskritische Anwendungen solltest du zusaetzlich einen kryptographischen Hash wie SHA-256 der Archivdatei berechnen und vergleichen.

Vor- und Nachteile der Kompression

Kompression bietet viele Vorteile, bringt aber auch Nachteile mit sich, die du bei der Planung beruecksichtigen solltest:

Aspekt Vorteile Nachteile
Speicherplatz Weniger Platzbedarf, niedrigere Kosten -
Uebertragung Schnellere Downloads, weniger Bandbreite -
CPU-Last - Kompression/Dekompression benoetigt Rechenzeit
Zugriff - Kein wahlfreier Zugriff auf komprimierte Daten
Qualitaet - Bei verlustbehaftet: Unwiederbringlicher Datenverlust

Die Entscheidung fuer oder gegen Kompression haengt vom Anwendungsfall ab. Bei Backups auf langsame Medien ueberwiegen die Vorteile. Bei Echtzeitanwendungen mit hohem Durchsatz kann die CPU-Last zum Flaschenhals werden. Moderne CPUs haben jedoch oft Hardware-Beschleunigung fuer gaengige Algorithmen, was die Performance-Nachteile minimiert.

Quellen und weiterfuehrende Links