Komprimierung
Die Komprimierung (auch häufig als Kompression bezeichnet) dient dazu, die Anzahl der Bits zu reduzieren, um die Rechnerauslastung geringer zu halten.
Allgemeine Informationen zur Komprimierung
Auf der einen Seite bieten Speichermedien inzwischen eindrucksvolle Kapazitäten, zudem lassen sich durch Faktoren wie mobile oder Breitbandnetze die Übertragungen beschleunigen. Auf der anderen Seite nimmt mit der Zunahme von erzeugten Informationen und der Größe von Dateien die Notwendigkeit zu, Daten zu komprimieren.
Datenkompressionsverfahren erleben wir täglich, wenn auch meist nicht bewusst. Sie kommen zum Einsatz, wenn wir Online-Telefonkonferenzen halten, Livestreams verfolgen oder Videos anschauen. In den eigenen täglichen Anwendungen nutzen viele User aber auch die Kompression, um die Größe von Präsentationen, Dokumenten, Bildern oder Audio-Files zu verringern.
Funktionsweise der Kompression
Um sich die Datenkompression vorzustellen, hilft der Vergleich mit einem Kissen, das man zusammendrückt. Dabei wird dem Kissen Luft entzogen, die nicht benötigt wird, das Kissen wird also kleiner.
Die Komprimierung funktioniert nach einem ähnlichen Prinzip. Daten, die nicht gebraucht werden, lassen sich entfernen, der benötigte Speicherplatz wird entsprechend geringer.
Verlustbehaftete und verlustbefreite Kompression
Es gibt die verlustbehaftete und die verlustbefreite Kompression, die wiederum in weitere Arten der Komprimierung unterteilt werden können. Die verlustfreie Kompression wird in aller Regel bei Textdateien angewendet. Wird ein Text etwa nicht als Bild gespeichert, kann unter dem Einsatz der sogenannten Wörterbuch-Methode Speicherplatz gespart werden. Bei dieser Praxis werden Abkürzungen statt wiederkehrender Zeichenkettenteile verwendet.
Bei der verlustfreien Kompression können alle komprimierten Datenpakete nachträglich erschlossen und wiederhergestellt werden. Das ist bei verlustbehafteter Kompression nicht der Fall. Bei dieser Methode werden die nicht relevanten Daten nicht kodiert, um sie später wiederverwenden zu können. Stattdessen werden sie direkt und komplett entfernt. Man spricht daher auch von einer Irrelevanzreduktion.
Um die Bedeutung der verlustbehafteten Kompression deutlich zu machen, hilft ein Blick auf MP3-Dateien, wo diese Form der Kompression oft zum Einsatz kommt. Aber auch bei Video- und Bilddateien kann die verlustbehaftete Komprimierung sinnvoll sein, da bei ihr hohe Kompressionsraten entstehen.
Beim MP3-Format werden Audio-Datei Frequenzmuster entfernt, die für das menschliche Ohr ohnehin nicht oder kaum wahrgenommen werden. Auf diese Weise kann erheblicher Speicherplatz eingespart werden. Klar muss aber auch sein, dass bei der verlustbehafteten Kompression die Wiederherstellung des Ursprungszustands nicht möglich ist. Da nicht in jedem Fall eine verlustbehaftete Komprimierung sinnvoll ist, sollte man sich im Vorfeld überlegen, ob man diese anwenden will oder nicht.
Vorteile der Komprimierung
Komprimieren und dekomprimieren lassen sich Zeilendaten in Fragmenten und Tabellen, zudem können freie Speicher in Tabellen und Fragmenten konsolidieren. Das Konsolidieren und Komprimieren und die Rückgabe freien Speicherplatzes bieten folgende Vorteile:
- Erhebliche Einsparungen des zur Verfügung stehenden Plattenspeicherplatzes
- Komprimierte Fragmente benötigen weniger Plattenbelegung
- Die Belegung des logischen Protokolls führt zu weiteren Einsparungen und dementsprechend mehr Speicherplatz.
- Keine Engpässe bei der Onlinetransaktionsverarbeitung mit hohem Durchsatz
- Reduzierte Seitenleseoperationen, weil pro Seite mehr Zeilen zur Verfügung stehen
- Da die Poolgröße mehr Daten enthält, werden kleinere Pufferpools benötigt
- Auf eine Seite passen mehr komprimierte als unkomprimierte Zeilen
- Die Protokollsätze der Lösch-, Aktualisierungs- und Einfügeoperationen von komprimierten Zeilen passen auf eine Seite
- Die Option, aktuelle Daten, die oft benötigt werden, nicht zu komprimieren und fragmentierte Daten, die selten genutzt werden, zu komprimieren
- Die Option, Speicherplatz für eine nicht mehr benötigte Tabelle freizugeben
- Ein schnelleres Restore und Backup
Durchführung der Komprimierung
Wenn ein kompletter Ordner oder auch nur eine Datei komprimiert werden soll, muss berücksichtigt werden, welches Betriebssystem genutzt wird.
- Windows: Die zu komprimierende Datei wird zunächst gesucht und dann mit einem Rechtsklick zur Bearbeitung aktiviert. Im Kontextmenü sucht man den Befehl „Senden an“, dann „ZIP-komprimierter Ordner“, um im nächsten Schritt eine ZIP-Datei mit dem identischen Namen zu erstellen.
- MacOS: Auch hier ist ein Zusatzprogramm nicht notwendig. Die zu zippende Datei wird gesucht, dann folgt ein Rechtsklick und die Wahl von „Objekte komprimieren“.
- Ubuntu: Bei Ubuntu erfolgt die Komprimierung mit dem Terminal. Zunächst wird zum gesuchten Ordner navigiert, dann wird der Befehl „zip -r zipfile.zip ordnername“ ausgeführt.
E-Mail-Komprimierung
Die Mail-Komprimierung ist meist ein Bestandteil von Mailprogrammen, um Dateigrößen zu verkleinern. Dies kann in Kombination mit Datei Stubbing oder Cloud- und Offline-Backups geschehen. Gerade für große Unternehmen mit hohem Mailaufkommen kann die Komprimierung wichtig sein. Unter anderem folgende Methoden stehen für die Mail-Komprimierung zur Auswahl:
- HTML-Entfernung: E-Mail-Programme verwenden HTML, um Mails zu formatieren und zu kodieren. Dadurch kann die Dateigröße erheblich steigen. Bei der Mail-Komprimierung werden Nachrichten nicht in HTML, sondern als einfacher Text gespeichert, was die Dateigröße deutlich reduziert.
- Single-Instance-Speicherung: Hier verwenden mehrere Posteingangsarchive gemeinsam eine einzige Kopie einer Mail oder eines Anhangs. Die Eliminierung doppelter Kopien von Anhängen oder Nachrichtentexten führt zu einer Vermeidung von Redundanzen.
- Aliasing von Anhängen: Oft sind es große Bilddateien oder Offline-Anhänge, die Speicherplatz binden. Aliasing von Anhängen führt dazu, dass große Anhänge entfernt und unabhängig von der Mail archiviert werden.
- Verlustfreie Datenkomprimierung: Mails lassen sich mit herkömmlichen Komprimierungsmethoden verkleinern. So kann zum Beispiel ein Posteingangsarchiv im ZIP-Format gespeichert werden.
Bedeutung für das Development
Da die Datenmengen – auch in Form von Versendungen von Daten über Mails oder Clouds – stetig größer werden, ist die Komprimierung eine nötige Maßnahme, um das System nicht zu überlasten.
Das Entfernen von redundanten Informationen ist aber nur die eine Seite der Medaille. Die andere ist die Zeitersparnis, die durch die Komprimierung erzielt werden kann. Gerade beim Versenden von Daten oder deren Hochladen auf Server führen große Datenmengen zu spürbaren zeitlichen Verzögerungen, die vermieden werden können, wenn unnötige Daten entweder verlustbehaftet oder verlustfrei vom Versand bzw. Hochladen ausgeschlossen werden.
Einzelnachweise
Weblinks