Der aspectra-Blog seit 2012

Deduplizierung: Daten-Redundanzen reduzieren

Deduplizierung hilft dabei, Speicherplatz effizienter zu nutzen und dadurch Kosten zu sparen. Klingt eigentlich verlockend oder? Dass das nicht ganz so einfach ist und verschiedene Aspekte dabei berücksichtigt werden müssen, lesen Sie in diesem Blog.

Moderne Storagesysteme haben heutzutage Deduplizierung eingebaut. Mit diesem Mechanismus lässt sich durch das Erkennen von Daten-Redundanzen Platz einsparen. Momentan wird die Deduplizierung vor allem bei Backupsystemen gebraucht, aber auch bei Fileservern kommt sie zunehmend zum Einsatz.

Gemeinsamkeiten finden und darauf verweisen

Deduplizierung arbeitet mit sogenanntem Fingerprinting. Dabei werden die Dateien in unterschiedlich grosse Blöcke, auch Chunks genannt, zerlegt. Mithilfe von Hashes werden Speicherblöcke gesucht, die mehrfach vorkommen. Es ist dabei egal, ob diese Dubletten zur selben oder zu verschiedenen Dateien gehören. Das Ziel ist es, dass solche identischen Elemente nur einmal auf dem Datenträger vorkommen. Mittels eines Pointers wird deshalb bei sich wiederholenden Segmenten eine Referenzierung auf das Ursprungselement vorgenommen. Diese Zeiger brauchen wesentlich weniger Platz als das Original. Beim Öffnen einer Datei wird diese aus ihren einzigartigen Bestandteilen sowie aus jenen, die sie mit anderen Dateien gemein hat, zusammengesetzt. Das Risiko dabei ist natürlich immer, dass bei Problemen mit dem Original Daten verloren gehen.

Verschiedene Arten von Deduplizierung

Auch bei der Deduplizierung selbst bieten sich unterschiedliche Möglichkeiten. Man kann einerseits die Daten bereits an der Quelle deduplizieren und erst dann übertragen. Durch diese Methode werden die Übertragungskanäle, wie zum Beispiel das Netzwerk oder die SATA-Verbindungen, entlastet. Diese Möglichkeit wird beispielsweise dazu genutzt, um die Datenübertragung mittels WAN zu optimieren. Der Nachteil dabei ist allerdings, dass sich die Applikation selbst um die Deduplizierung kümmern muss. Die Technik hinter dieser Methode nennt man übrigens Copy-on-Write.

Die zweite Variante ist das Deduplizieren am Speicherort. Bei dieser Methode hat man einerseits die Möglichkeit, die Daten bereits während des Übertragungsvorgangs zu deduplizieren. Dadurch ist der am Zielort benötigte Speicherplatz von vornherein klar. Der Nachteil dabei ist, dass dies extrem rechenaufwändig ist. Andererseits kann man die Daten auch vollständig übertragen und erst am Ziel selbst deduplizieren. Es liegt auf der Hand, dass hierbei die Platzersparnis am Ziel erst im Nachhinein erreicht wird. Deshalb muss der Speicherort auch die nötige Kapazität besitzen, die komplette Datenmenge aufnehmen zu können.

Sollte man die Methode nutzen?

Deduplizierung hat Vor- und Nachteile. Ob man sie nutzen will oder nicht, ist immer eine Sache des Ermessens. Ein wichtiger Faktor dabei ist die Wirtschaftlichkeit. Platzeinsparungen durch die Deduplizierung bedeuten auf der einen Seite Kosteneinsparungen, da man weniger Hardware und Racks braucht und dadurch auch niedrigere Stromkosten hat. Allerdings sind Storages mit integrierter Deduplizierung teurer als jene ohne diese Funktion. Hinzu kommt, dass der Diskpreis über die Jahre hinweg stetig abgenommen hat. Man muss deshalb abschätzen, ob es sich lohnt auf Deduplizierung umzustellen oder ob man einfach mehr Speicherplatz dazu kaufen soll.

Ein weiterer Faktor ist der Sicherheitsaspekt. Bei Backup-Daten beispielsweise ist es extrem wichtig, dass diese bei einem Datenverlust sofort zur Verfügung stehen. Die Deduplizierung stellt dabei ein gewisses Risiko dar, da auch bei ihr Fehler auftreten können, wodurch die Backup-Daten nicht mehr wiederhergestellt werden könnten. Auch hier muss man abwägen, ob man die verfügbare Speicherkapazität möglichst effizient nutzen möchte, wodurch aber die Speicherung der Daten komplexer und fehleranfälliger wird oder ob man in Kauf nehmen will, dass Daten vielleicht mehrfach auf dem Datenträger vorkommen, das Risiko für Datenverlust jedoch geringer ist.

Suche