Deduplizierung ist eine Technik, mit der redundant vorhandene Daten identifiziert und durch einen Zeiger ersetzt werden. Er verweist auf die Stelle, an der die Information erstmals aufgetaucht ist. Der Zeiger ist um ein Vielfaches kleiner als die Daten selbst. So spart man Speicherplatz - meist viel mehr als durch Datenkompression.
Die Technik ist seit Längerem bekannt und gehört zumindest in vielen Großunternehmen zur Standardprozedur bei der Datensicherung. Dabei eignet sich Deduplizierung auch hervorragend für kleine und mittelgroße Firmen, weil auch sie unter der ständig steigenden Informationsflut leiden, die irgendwie bewältigt werden muss.
Mittlerweile gibt es einige Spielarten der Reduzierungsmethode und auch neue Anwendungsgebiete. Bezüglich der Methoden unterscheidet man zwischen dem synchronen Verfahren, wo die Daten beim Schreiben auf den Speicher dedupliziert werden, und dem asynchronen Vorgehen, bei dem die Analyse zur Deduplizierung nach dem Speichern erfolgt.
Wie wird dedupliziert?
Das synchrone Verfahren bringt sofort Vorteile, weil Daten, die bereits vorhanden sind, nicht noch einmal abgelegt werden; Die folgenden Kopien erhalten nur mehr den Zeiger auf das erste Datum. Die Erkennungsarbeit wird meist im Hauptspeicher erledigt, was I/O-Verwal tung und Speicherplatz spart, aber Ressourcen bindet. Es besteht die Gefahr, dass die Deduplizierung zum Flaschenhals wird. Allerdings überwiegen die Vorteile dieser sogenannten On-the-Fly-Verarbeitung, so dass sie häufig eingesetzt wird.
Wird asynchron dedupliziert, müssen alle Daten zunächst zwischengespeichert werden, bevor in der Nachbearbeitung dann die Duplikate ausgesondert werden. Das kostet Speicherplatz und viel I/O-Verkehr, spart aber Transferzeit, etwa beim Backup, weil die Daten nur durchgeschoben werden.
Kriterium Granularität
Die Verfahren unterscheiden sich außerdem in der Feinheit, mit der aussortiert wird. Die File-Level-Deduplizierung untersucht ganze Files auf Redundanzen. Dieses Verfahren, das auch als "Single Instancing" bezeichnet wird, überprüft die Inhalte der Dateien nicht auf Kopien. Das bedeutet, dass jede kleine Änderung in einem File zu einem erneuten Speichern der ganzen Datei führt. Das kostet zwar Speicherplatz, reduziert aber den Verwaltungsaufwand.
Bei der Deduplizierung auf Block-Level wird der Inhalt des Files in Blöcke mit variabler oder fester Größe aufgeteilt und dann auf Redundanzen untersucht. Mehrfach Vorhandenes sowohl innerhalb der Datei als auch zwischen unterschiedlichen Dateien wird aussortiert.Dieses Verfahren verbraucht mehr Rechenleistung und führt zu längeren Indexlisten als die File-Level-Betrachtung. Zudem besteht die Gefahr der "Hash-Kollision": Der Deduplizierungs-Algorithmus, der die Blöcke untersucht, findet einen Block mit der gleichen Hash-Zahl wie ein schon vorhandener und speichert die neuen Inhalte deshalb nicht.
Wer es ganz genau mag, verwendet die Deduplizierung auf Byte-Level, wo auf Byte-Ebene verglichen wird und doppelt vorhandene Daten aussortiert werden. Damit ist ein großer Aufwand verbunden, der zudem viel Zeit beansprucht. Dieses Verfahren eignet sich allenfalls bei einem asynchronen Deduplizierungsprozess.
Die gängigste und am meisten verwendete Form ist die synchrone Block-Level-Deduplizierung, die schnell und ohne ungebührlich großen Verwaltungsaufwand auskommt und dabei ein hohes Einsparpotenzial birgt. Die Marktforscher von IDC beziffern die durchschnittlichen Deduplizierungsraten für File Deduplication auf fünf zu eins; Block Deduplication kommt auf zwanzig zu eins.
Was wird dedupliziert?
In den Anfangsjahren wurde Deduplizierung vor allem beim Backup auf Band oder später auch auf Disk betrieben. Im Lauf der Zeit setzte sich die Technik aber so erfolgreich durch, dass man begann, auch die Kapazität der teuren Primärspeicher mit Deduplizierung zu vergrößern. indem man die Volumina reduzierte.
Die Verfahren dabei sind unterschiedlich: Deduplikation kann als Programm im Server angestoßen werden oder in einer Appliance ablaufen, die zwischen dem Host-Rechner und dem Speicher-Array platziert ist. Sie kann aber auch im Speicher selbst erfolgen. Laut IDC liegen die Reduzierungsraten für Primärspeicher zwischen zwei zu eins und fünf zu eins - eine Menge, wenn man bedenkt, was Primärspeicher kosten.
Die Deduplizierung der Primärdaten schafft neben der Kapazitätsverringerung noch zusätzliche Vorteile. Diese zeigen sich beispielsweise bei der Datenreplikation und Datensicherung, wenn zur Wiederherstellung der Systeme die deduplizierten Daten verwendet werden: Man spart an Bandbreite und steigert die Leistung.
Wer dedupliziert wie?
Wie obige Betrachtungen zeigen, gibt es in Sachen Deduplizierung kein Patentrezept. Fast jeder Anbieter verfolgt einen anderen Ansatz - etwa Appliance versus Software - oder kombiniert die Verfahren unterschiedlich. Wir befragten einige Hersteller von Deduplizierungslösungen und haben die wichtigsten Ergebisse in der Tabelle "Deduplizierungs-Tools der Hersteller" zusammengefasst. (hi)
Produktname | Hersteller | HardwareAppliance | Dedup. ist Teil von Paket | Einsparquote | synchron/ asynchron | Block-/ File-Dedup. |
DXi 4000 | Quantum Corp. | ja | ja | > 90 % | synchron | variable Blocklänge |
Data Domain DD160 | EMC | ja | ja | 10:1 - 30:1 | synchron | variable Segmente |
Hitachi Content Platform | Hitachi Data Systems | ja | ja | je nachdem | asynchron | File-Level |
HP StoreOnce Backup | Hewlett-Packard | ja | ja | 20:1 | synchron | Block-Level |
Acronis B & R 11.5 | Acronis | nein | ja | bis zu 90 % | Kombination | beides |
Avamar Client StorCenter | EMC/Iomega | nein | ja | bis zu 95 % | an der Quelle | File-Level |
Symantec Backup Exec | Symantec | nein | gemäß Lizenzmodell | 10:1 | synchron | Block-Level |
Symantec 3600 Appliance | Symantec | ja | ja | 10:1 | synchron | Block-Level |
FDS/VTL | Falconstor | ja, auch als SW | ja | 20:1 bis 60:1 | sowohl als auch | beides |
CA ARCserve Backup r16 | CA Technologies | nein | ja | 1:15 | hybrid synchron | beides |
Hitachi Data Protection | OEM Commvault | nein | optional | je nachdem | synchron | Block-Level |
Dell DR4000 | Dell | ja | ja | je nachdem | synchron | Block, Subblock |
Sun ZFS Storage 7120 | Oracle | ja | ja | 20:1 | synchron | keine Angabe |
Data ONTAP | Netapp | ja | ja | 20:1 | asynchron | beides |
VTL, SVC, V7000 | IBM | ja | ja bei VTL | je nachdem | synchron | beides |
TSM | IBM | nein | ja | je nachdem | asynchron | beides |
Quelle: Herstellerangaben aus Umfrage |