Daten reduzieren beim Backup und der Archivierung

Deduplizierung: Speicherplatz statt Redundanz

Grundlagen

Im Grunde ist Deduplizierung keine neue Technologie und spiegelt in der Anwendung das Gegenteil von Redundanz wider, nämlich mehrfach vorhandene Informationen nur einmal zu sichern. Kommen diese Daten dann erneut vor, so wird eine Referenz auf die bereits im Vorfeld erfassten Daten gesetzt.

Bei Dateisystemen sind die Objekte in der Regel Dateien, feiner granuliert würde man gleiche Byte- oder Bitfolgen im Datenstrom auf Redundanz untersuchen.

Deduplizierung setzt daher auf:

  • Dateibasis (Objekte) und

  • Byte- oder Bitfolgen

Das bekannte „Single-Instance-Storage (SIS)“ ist ein Vertreter der ersten Art auf Dateilevel.

Einfachste Form der Deduplizierung: Identische Dateien werden anhand ihres gleichen Hash-Wertes erkannt und daher nur einmal in der virtuellen Tape-Library (VTL) gespeichert, ansonsten werden Referenzen angelegt. Das Single-Instance-Storage (SIS) ist ein Vertreter dieser Form. Eine Index-Datenbank ist dabei das zentrale Element bei der Deduplizierung.
Einfachste Form der Deduplizierung: Identische Dateien werden anhand ihres gleichen Hash-Wertes erkannt und daher nur einmal in der virtuellen Tape-Library (VTL) gespeichert, ansonsten werden Referenzen angelegt. Das Single-Instance-Storage (SIS) ist ein Vertreter dieser Form. Eine Index-Datenbank ist dabei das zentrale Element bei der Deduplizierung.

Bekannte Komprimierungstools, wie „gzip“, „bzip2“, „zip“, „arj“ und „rar“ arbeiten im Gegensatz zu den Dateiobjekten auf Blocklevel. Sie erkennen im Eingangsdatenstrom gleiche Blöcke und ersetzen diese durch eine Referenz auf den ersten Block oder durch einen speziellen Code. Die Blöcke, die am häufigsten aufgetreten sind, erhalten das kürzeste Code-Segment. Im Ausgangsstrom tauchen dann nur diese Codes und einmalig der dafür stehende Block auf.

Würde man also zehn gleiche Dateien mit einem dieser Tools komprimieren, so erhielte man zehn komprimierte Dateien, die sowohl im Ursprungszustand als auch komprimiert die gleichen Daten enthalten – eben zehnmal. Dabei ist zwischen sich häufig ändernden und sich nicht ändernden Daten (Fixed Content) zu differenzieren. Bei Letzteren geht es um schnellen Zugriff und gesicherte Datenablage, das heißt Hash-Werte werden nur einmal berechnet.

Deduplizierung setzt nun hier erweitert an und würde als Beispiel die (komprimierte) Datei einmal sichern und sonst für die restlichen neun Dateien eine Referenz in einer Index-Datenbank (DB) hinterlegen. Trennt man sich vom Dateibegriff, so könnte man auch die einzelnen Bytes der Datei heranziehen. Das Optimum wäre, dies für gleiche Bitfolgen zu tun, nur wäre der (Rechen-)Aufwand recht groß. Unabhängig von der Art der Eingangsdaten setzt Deduplizierung auf dem Blocklevel an und differenziert sich damit von den bisherigen Verfahren.

Das Verfahren der Deduplizierung führt automatisch auch zu einer Datenreduktion und damit zu einer Komprimierung der Eingangsdaten.