Deduplikation

Redundante Daten finden und löschen
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 24. Februar 2010 um 22:24 Uhr durch 84.74.108.187 (Diskussion) (Weblinks). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Deduplizierung, auch Data-Deduplication, Datendeduplizierung (engl. Deduplication), ist in der Informationstechnologie ein Prozess, der redundante Daten identifiziert und eliminiert bevor diese auf einen nicht flüchtigen Datenträger geschrieben werden. Der Prozess komprimiert wie andere Verfahren auch die Datenmenge, die von einem Sender an einen Empfänger geschickt werden. Die Effizienz bei der Verwendung von DeDuplizierungs-Algorithmen vorher zu sagen ist nahezu unmöglich, da sie immer von der Datenstruktur und der Änderungsrate abhängig ist. DeDuplizierung ist jedoch die derzeit effizienteste Art Daten zu reduzieren bei denen eine Mustererkennung möglich ist. (nicht verschlüsselte Daten)

Vorrangiges Einsatzgebiet der Deduplizierung ist vorerst die Datensicherung (Backup), bei der sich in der Praxis realistische Datenverdichtungen von 1:12 erzielen lassen. Das Verfahren eignet sich jedoch grundsätzlich für jeden Einsatzfall, bei dem Daten wiederholt kopiert werden.

Funktionsweise

Deduplication-Systeme arbeiten anders als klassische Kompressionsverfahren, die nur wenige Vergleichsmuster benutzen, auf dem Blocklevel. Hierin liegt auch die Abgrenzung zum Single Instance Storage (SIS), das identische Dateien eliminieren soll (siehe auch inhaltsadressierte Speichersysteme, CAS). Eine wichtige Funktion der Deduplizierung ist das Fingerprinting. Hier werden Dateien in Segmente unterschiedlichster Größe (Chunks) zerlegt. Auf Byte-Ebene wird dann analysiert, welche Segmente die höchste Wiederholrate bieten, um durch Referenzierung (Pointer) auf das Ursprungselement größtmögliche Datenreduzierungen zu bieten.

Ein Beispiel: Bei der Datensicherung von Festplatte auf Bandmedien, ändern sich die Daten von einer Woche zur nächsten, von einer Vollsicherung bis zur nächsten Vollsicherung relativ gering. Zwei Vollsicherungen benötigen deshalb bei der klassischen Datensicherung mindestens die doppelte Speicherkapazität auf Band verglichen mit den Originaldaten. Die Deduplizierung erkennt die identischen Datenbestandteile. In einer Liste werden dazu eindeutige Segmente festgehalten, und beim erneuten Auftreten dieses Datenteils werden Zeitpunkt und Ort im Datenstrom notiert, so dass letztlich die Originaldaten wiederhergestellt werden können.

Diese Zeiger beanspruchen wesentlich weniger Platz als die referenzierte Bitfolge. Wird die Datei wieder aufgerufen, so wird sie sowohl aus ihren einzigartigen Bestandteilen als auch aus den Teilen, die sie mit anderen Dateien gemein hat, zusammengefügt. Der Index besagt, welche Teile das sind und wie sie mit den einzigartigen Bestandteilen verbunden werden müssen, um wieder die Ursprungsdatei zu ergeben.

Methoden

Es gibt zwei Methoden, einen Datei-Bauplan zu erzeugen. Beim Reverse-Referencing wird das erste gemeinsame Element gespeichert, alle weiteren identischen erhalten einen Verweis auf das erste. Forward-Referencing legt immer den zuletzt aufgetretenen, gemeinsamen Datenblock ab und referenziert die vorher aufgetretenen Elemente. Bei diesem Methodenstreit geht es darum, ob Daten schneller verarbeitet respektive schneller wiederhergestellt werden können. Weitere Vorgehensweisen, wie Inband und Outband, konkurrieren darum, ob der Datenstrom „on the fly“, also im laufenden Betrieb, analysiert wird oder erst nachdem dieser am Zielort gespeichert wurde. Im ersten Fall darf nur ein Datenstrom existieren, im zweiten können die Daten mittels mehrerer Datenströme parallel untersucht werden.

Chunking (Fingerprinting)

Das Fingerprinting versucht auch festzustellen, wie der eingehende Datenstrom am besten in Stücke zerlegt werden kann, sodass möglichst viele identische Bauteile entstehen. Dieser Vorgang heißt Chunking (engl. Chunk = Stück, Block).

Identifikation von Blöcken

Je genauer die Änderungen einer Datei bestimmt werden können, desto weniger muss redundant gesichert werden. Allerdings vergrößert sich dadurch der Index, also der Bauplan, wie und aus welchen Bestandteilen die Datei beim Aufruf wieder zusammengesetzt wird. Daher ist auch die Methode der Identifikation von gemeinsamen Blöcken entscheidend.

Siehe auch