Die Datenkomprimierung ist eine Verringerung der Anzahl der Bits, die zur Darstellung von Daten benötigt werden. Das Komprimieren von Daten kann Speicherkapazität sparen, die Dateiübertragung beschleunigen und die Kosten für Speicherhardware und Netzwerkbandbreite senken.

Funktionsweise der Komprimierung

Die Komprimierung wird von einem Programm durchgeführt, das eine Formel oder einen Algorithmus verwendet, um zu bestimmen, wie die Datengröße verkleinert werden soll., Zum Beispiel kann ein Algorithmus eine Zeichenfolge von Bits-oder 0s und 1s-mit einer kleineren Zeichenfolge von 0s und 1s darstellen, indem er ein Wörterbuch für die Konvertierung zwischen ihnen verwendet, oder die Formel kann eine Referenz oder einen Zeiger auf eine Zeichenfolge von 0s und 1s einfügen, die das Programm bereits gesehen hat.

Die Textkomprimierung kann so einfach sein wie das Entfernen aller nicht benötigten Zeichen, das Einfügen eines einzelnen Wiederholungszeichens zur Angabe einer Zeichenfolge wiederholter Zeichen und das Ersetzen einer kleineren Bitzeichenfolge durch eine häufig vorkommende Bitzeichenfolge., Die Datenkomprimierung kann eine Textdatei auf 50% oder einen deutlich höheren Prozentsatz ihrer ursprünglichen Größe reduzieren.

Für die Datenübertragung kann eine Komprimierung auf den Dateninhalt oder auf die gesamte Übertragungseinheit einschließlich Header-Daten durchgeführt werden. Wenn Informationen über das Internet gesendet oder empfangen werden, können größere Dateien, entweder einzeln oder mit anderen als Teil einer Archivdatei, in einem ZIP -, GZIP-oder einem anderen komprimierten Format übertragen werden.

Warum ist Datenkomprimierung wichtig?

Die Datenkomprimierung kann den Speicherbedarf einer Datei drastisch verringern., In einem Komprimierungsverhältnis von 2:1 belegt eine Datei mit 20 Megabyte (MB) beispielsweise 10 MB Speicherplatz. Infolge der Komprimierung verbringen Administratoren weniger Geld und weniger Zeit mit der Speicherung.

Die Komprimierung optimiert die Leistung des Backup-Speichers und wurde kürzlich bei der Reduzierung der Primärspeicherdaten angezeigt. Die Komprimierung wird eine wichtige Methode zur Datenreduktion sein, da die Daten weiterhin exponentiell wachsen.

Praktisch jeder Dateityp kann komprimiert werden, aber es ist wichtig, Best Practices zu befolgen, wenn Sie auswählen, welche komprimiert werden sollen., Beispielsweise sind einige Dateien möglicherweise bereits komprimiert, sodass das Komprimieren dieser Dateien keine signifikanten Auswirkungen hat.

Datenkomprimierungsmethoden: Verlustfreie und verlustbehaftete Komprimierung

Das Komprimieren von Daten kann ein verlustfreier oder verlustbehafteter Prozess sein. Die verlustfreie Komprimierung ermöglicht die Wiederherstellung einer Datei in ihren ursprünglichen Zustand, ohne den Verlust eines einzelnen Datenbits, wenn die Datei unkomprimiert wird. Verlustfreie Komprimierung ist der typische Ansatz bei ausführbaren Dateien sowie Text-und Tabellenkalkulationsdateien, bei denen der Verlust von Wörtern oder Zahlen die Informationen ändern würde.,

Durch verlustbehaftete Komprimierung werden redundante, unwichtige oder nicht wahrnehmbare Datenbits dauerhaft eliminiert. Verlustbehaftete Komprimierung ist nützlich bei Grafiken, Audio, Video und Bildern, bei denen das Entfernen einiger Datenbits wenig oder keine erkennbaren Auswirkungen auf die Darstellung des Inhalts hat.

Professor David Brailsford, mit der School of
Informatik an der University of Nottingham,
diskutiert Kompression von Text und Bildern.

Grafik bild Kompression kann verlustbehaftet oder verlustfrei sein., Grafikbilddateiformate dienen normalerweise zum Komprimieren von Informationen, da die Dateien in der Regel groß sind. JPEG ist ein Bilddateiformat, das verlustbehaftete Bildkomprimierung unterstützt. Formate wie GIF und PNG verwenden verlustfreie Komprimierung.

Komprimierung vs. Datendeduplizierung

Komprimierung wird häufig mit Datendeduplizierung verglichen, aber die beiden Techniken funktionieren unterschiedlich. Deduplizierung ist eine Art Komprimierung, die nach redundanten Datenblöcken in einem Speicher-oder Dateisystem sucht und dann jeden doppelten Block durch einen Zeiger auf das Original ersetzt., Datenkomprimierungsalgorithmen reduzieren die Größe der Bitzeichenfolgen in einem Datenstrom, der weitaus kleiner ist und sich im Allgemeinen nicht mehr als das letzte Megabyte oder weniger an Daten erinnert.

Mike Matchett, Analyst der Taneja Group, erörterte die Vorteile von Komprimierung und Deduplizierung und wie sich die beiden unterscheiden.

Die Deduplizierung auf Dateiebene eliminiert redundante Dateien und ersetzt sie durch Stubs, die auf die Originaldatei verweisen. Die Deduplizierung auf Blockebene identifiziert doppelte Daten auf Unterdateiebene., Das System speichert eindeutige Instanzen jedes Blocks, verwendet einen Hash-Algorithmus, um sie zu verarbeiten, und generiert eine eindeutige Kennung, um sie in einem Index zu speichern. Die Deduplizierung sucht normalerweise nach größeren Blöcken doppelter Daten als die Komprimierung, und Systeme können mithilfe eines Chunks mit fester oder variabler Größe deduplizieren.

Die Deduplizierung ist am effektivsten in Umgebungen mit einem hohen Grad an redundanten Daten, wie z. B. virtueller Desktop-Infrastruktur oder Speichersicherungssystemen., Die Datenkomprimierung ist tendenziell effektiver als die Deduplizierung bei der Reduzierung der Größe eindeutiger Informationen wie Bilder, Audio, Videos, Datenbanken und ausführbarer Dateien. Viele Speichersysteme unterstützen sowohl Komprimierung als auch Deduplizierung.

Datenkomprimierung und-sicherung

Die Komprimierung wird häufig für Daten verwendet, auf die nicht viel zugegriffen wird, da der Prozess intensiv sein und Systeme verlangsamen kann. Administratoren können die Komprimierung jedoch nahtlos in ihre Sicherungssysteme integrieren.

Backup ist eine redundante Art von Workload, da der Prozess häufig dieselben Dateien erfasst., Eine Organisation, die vollständige Sicherungen durchführt, verfügt häufig über nahezu dieselben Daten von Backup zu Backup.

Das Komprimieren von Daten vor der Sicherung hat große Vorteile:

  • Daten benötigen weniger Speicherplatz, da ein Komprimierungsverhältnis 100:1 erreichen kann, jedoch zwischen 2:1 und 5:1 liegt.
  • Wenn die Komprimierung vor der Übertragung auf einem Server erfolgt, wird der Zeitaufwand für die Übertragung der Daten und die gesamte Netzwerkbandbreite drastisch reduziert.
  • Auf Band kann das komprimierte, kleinere Dateisystemabbild schneller gescannt werden, um eine bestimmte Datei zu erreichen, wodurch die Wiederherstellungslatenz verringert wird.,
  • Die Komprimierung wird von Backup-Software und Bandbibliotheken unterstützt, sodass eine Auswahl an Datenkomprimierungstechniken zur Verfügung steht.

Vor – und Nachteile der Komprimierung

Die Hauptvorteile der Komprimierung sind eine Reduzierung der Speicherhardware, der Datenübertragungszeit und der Kommunikationsbandbreite-und die daraus resultierenden Kosteneinsparungen. Eine komprimierte Datei benötigt weniger Speicherkapazität als eine unkomprimierte Datei, und die Verwendung der Komprimierung kann zu einer erheblichen Verringerung der Ausgaben für Festplatten-und/oder Solid-State-Laufwerke führen., Eine komprimierte Datei benötigt auch weniger Zeit für die Übertragung und verbraucht weniger Netzwerkbandbreite als eine unkomprimierte Datei.

Der Hauptnachteil der Datenkomprimierung ist die Leistungsauswirkung, die sich aus der Verwendung von CPU-und Speicherressourcen zum Komprimieren der Daten und zum Ausführen der Dekomprimierung ergibt. Viele Anbieter haben ihre Systeme so konzipiert, dass sie versuchen, die Auswirkungen prozessorintensiver Berechnungen im Zusammenhang mit der Komprimierung zu minimieren. Wenn die Komprimierung inline ausgeführt wird, bevor die Daten auf die Festplatte geschrieben werden, kann das System die Komprimierung auslagern, um die Systemressourcen zu erhalten., IBM verwendet beispielsweise eine separate Hardwarebeschleunigungskarte, um die Komprimierung mit einigen seiner Enterprise-Speichersysteme zu verarbeiten.

Wenn Daten nach dem Schreiben auf die Festplatte oder nach dem Verarbeiten komprimiert werden, kann die Komprimierung im Hintergrund ausgeführt werden, um die Auswirkungen auf die Leistung zu verringern. Obwohl die Komprimierung nach dem Prozess die Antwortzeit für jede Eingabe/Ausgabe (E/A) verkürzen kann, verbraucht sie immer noch Speicher-und Prozessorzyklen und kann die Gesamtzahl der E/A beeinflussen, die ein Speichersystem verarbeiten kann., Da Daten zunächst in unkomprimierter Form auf Datenträger oder Flash-Laufwerke geschrieben werden müssen, sind die physischen Speichereinsparungen nicht so groß wie bei der Inline-Komprimierung.

Datenkomprimierungstechniken: Dateisystemkomprimierung

Die Dateisystemkomprimierung verfolgt einen ziemlich einfachen Ansatz, um den Speicherbedarf von Daten zu reduzieren, indem jede Datei während des Schreibens transparent komprimiert wird.

Viele der gängigen Linux-Dateisysteme – einschließlich Reiser4, ZFS und btrfs – und Microsoft NTFS haben eine Komprimierungsoption., Der Server komprimiert Datenblöcke in einer Datei und schreibt dann die kleineren Fragmente in den Speicher.

Das Zurücklesen beinhaltet eine relativ geringe Latenz, um jedes Fragment zu erweitern, während das Schreiben dem Server eine erhebliche Last hinzufügt, sodass die Komprimierung normalerweise nicht für Daten empfohlen wird, die flüchtig sind. Die Dateisystemkomprimierung kann die Leistung beeinträchtigen, daher sollte sie selektiv für Dateien bereitgestellt werden, auf die nicht häufig zugegriffen wird.,

Historisch gesehen waren Datenkomprimierungssoftware wie DiskDoubler und SuperStor Pro mit den teuren Festplatten früher Computer beliebt und trugen zur Etablierung der Mainstream-Dateisystemkomprimierung bei.

Speicheradministratoren können auch die Technik der Komprimierung und Deduplizierung für eine verbesserte Datenreduktion anwenden.

Technologien und Produkte, die Datenkomprimierung verwenden

Die Komprimierung ist in eine breite Palette von Technologien integriert, einschließlich Speichersystemen, Datenbanken, Betriebssystemen und Softwareanwendungen, die von Unternehmen und Unternehmensorganisationen verwendet werden., Das Komprimieren von Daten ist auch in Verbrauchergeräten wie Laptops, PCs und Mobiltelefonen üblich.

Viele Systeme und Geräte führen die Komprimierung transparent durch, aber einige geben Benutzern die Möglichkeit, die Komprimierung ein-oder auszuschalten. Es kann mehr als einmal mit derselben Datei oder demselben Datenstück durchgeführt werden, aber nachfolgende Komprimierungen führen zu wenig bis gar keiner zusätzlichen Komprimierung und können je nach Datenkomprimierungsalgorithmen sogar die Größe der Datei geringfügig erhöhen.

WinZip ist ein beliebtes Windows-Programm, das Dateien komprimiert, wenn es sie in ein Archiv packt., Zu den Archivdateiformaten, die die Komprimierung unterstützen, gehören ZIP und RAR. Die Formate BZIP2 und GZIP werden häufig zum Komprimieren einzelner Dateien verwendet.

Zu den weiteren Anbietern, die Komprimierung anbieten, gehören Dell EMC mit seinem XtremIO All-Flash Array, Kaminario mit seinem K2 All-Flash Array und RainStor mit seiner Datenkomprimierungssoftware.

Datendifferenzierung

Datendifferenzierung ist ein allgemeiner Begriff für den Vergleich des Inhalts zweier Datenobjekte., Im Rahmen der Komprimierung wird die Zieldatei wiederholt durchsucht, um ähnliche Blöcke zu finden, und durch einen Verweis auf ein Bibliotheksobjekt ersetzt. Dieser Vorgang wird wiederholt, bis keine zusätzlichen doppelten Objekte gefunden werden. Datenunterschiede können zu vielen komprimierten Dateien führen, wobei nur ein Element in der Bibliothek jedes duplizierte Objekt darstellt.

In virtuellen Desktops kann diese Technik ein Komprimierungsverhältnis von bis zu 100:1 aufweisen., Der Prozess ist oft enger mit der Deduplizierung ausgerichtet, die nach identischen Dateien oder Objekten sucht, anstatt innerhalb des Inhalts jedes Objekts.

Datenunterschiede werden manchmal als Deduplizierung bezeichnet.