Wer im Internet nach dem Begriff „Object Storage“ sucht, findet dazu viele Erklärungen. Die Frage, warum man Object Storage überhaupt verwenden sollte, wird allerdings nicht erläutert. Für einen Systemingenieur ist das nicht besonders hilfreich. Welchen Vorteil bringt es also, dass Dateien nicht mehr als Dateisystemblöcke sondern als Objekte gespeichert werden? Lohnt es sich überhaupt eine bestehende Speicherlösung für einen Objektspeicher aufzugeben?

Das Hauptproblem, das die Speicherung von Objekten lösen soll, ist die Skalierbarkeit. Wir erleben derzeit ein explosionsartiges Datenwachstum. Im Jahr 2017 gaben mehr als die Hälfte der von WD befragten IT-Organisationen an, dass sie über Speicherkapazitäten von 50 PByte oder mehr verfügen. Die Geschwindigkeit, mit der wir Daten generieren, nimmt ständig zu, was bedeutet, dass sich dieses Problem mit der Zeit nur noch verschärfen wird. Für Storage-Verantwortliche stellt dies ein großes Problem dar, da herkömmliche Speichertechniken einfach nicht für diese Größen ausgelegt sind.

Traditionelle Speicherlösungen

Üblicherweise kommen für die Speicherung SAN- und NAS-Systeme zum Einsatz. Dies funktioniert gut für kleinere Datensätze, hält einer Skalierung allerdings nicht stand. Das Problem ist das Dateisystem. Herkömmliche blockbasierte Dateisysteme verwenden Lookup-Tabellen, um Dateiablagen zu speichern. Sie zerlegen jede Datei in kleine Blöcke, in der Regel mit einer Größe von 4 KByte, und speichern den Byte-Offset jedes Blocks in einer großen Tabelle. Das ist gut für kleine Dateigrößen. Versucht man die Dateien im PByte-Bereich zu skalieren, werden diese Lookup-Tabellen extrem groß. Das ist dann vergleichbar mit einer eigenen Datenbank. Je mehr Zeilen man einfügt, desto langsamer laufen die Abfragen. Schließlich verschlechtert sich die Leistung so sehr, dass das Dateisystem unbrauchbar wird. Dann sind die Nutzer gezwungen, ihre Datensätze in mehrere LUNs aufzuteilen, um ein akzeptables Leistungsniveau aufrechtzuerhalten. Dies wiederum erhöht die Komplexität und erschwert die Verwaltung dieser Systeme.

Um die geschilderte Problematik zu lösen, setzen einige Unternehmen auf Scale-Out-Dateisysteme wie HDFS. Dadurch wird das Problem der Skalierbarkeit gelöst, aber diese Systeme am Laufen zu halten, ist ein arbeitsintensiver Prozess. Scale-Out-Dateisysteme sind komplex und müssen ständig gepflegt werden. Darüber hinaus sind die meisten von ihnen auf Replikation angewiesen, um die Daten zu schützen. Die Standardkonfiguration ist hier die Triple-Replikation, bei der das System von jeder Datei drei Kopien speichert. Dies erfordert zusätzliche 200 Prozent Festplattenkapazität nur für die Verwaltungsdaten. Viele IT-Verantwortliche gehen davon aus, dass sie durch die Verwendung von Standardlaufwerken Geld sparen können, aber wer drei vollständige Kopien seiner Daten speichern muss, kann auch hierdurch keine Kosten einsparen. Wenn es um Anwendungen im PBbyte-Bereich geht, dann ist diese Herangehensweise schlicht teuer.

Um die Komplexität zu minimieren, setzen viele Unternehmen auf Public-Cloud-Speicherlösungen. Das von Hosting-Providern angebotene Pay-as-you-go-Modell ist für kleinere Datensätze sinnvoll, wird aber schnell extrem teuer, wenn man es im großen Maßstab einsetzt. Public-Cloud-Lösungen können beim Abrufen von Daten mit hohen Wiederherstellungsgebühren verbunden sein. Sie berechnen nicht nur die Speicherkapazität, sondern zusätzliche Gebühren pro GByte für die Netzwerknutzung und pro Transaktion für den Zugriff auf die abgelegten Dateien. Wenn es um große Datenmengen, PBytes an Speicherplatz und massive Dateiübertragungen geht, ist eine Public Cloud oft der teuerste Ansatz. Hinzu kommen Bedenken hinsichtlich Datenschutz und Leistung. Da sich mehrere Nutzer die Systemressourcen der Cloud teilen, kann die Leistung sehr unterschiedlich sein, und Unternehmen haben möglicherweise wenig Kontrolle darüber, wo sich Ihre Daten befinden.

Lokaler Object Storage als Rettung

Hier kommt die lokale Objektspeicherung ins Spiel. Hinter Object Storage steckt die gleiche Technik, die Public-Cloud-Lösungen ermöglicht und Service-Providern eine äußerst kostengünstige und hochskalierbare Umgebung bietet. Objektspeicher lassen sich auf Hunderte von PByte in einem einzigen Namespace skalieren, ohne dass es zu Leistungseinbußen kommt. Sie minimieren Kosten, indem sie Techniken wie Erasure Coding verwenden, um den nutzbaren Speicherplatz zu maximieren. Darüber hinaus bietet die Objektspeicherung im Gegensatz zu herkömmlichen Speichermethoden Funktionen zur Datenverwaltung wie Versionierung, anpassbare Metadaten und eingebettete Analysen.

Objektspeicher erreichen ihre Skalierbarkeit durch Entkopplung der Dateiverwaltung von der Low-Level-Blockverwaltung. Jede Festplatte ist mit einem lokalen Standard-Dateisystem wie ext4 formatiert. Anschließend wird eine Reihe von Objektspeicherdiensten darauf geschichtet, die alles zu einem einzigen, vereinheitlichten Speichervolumen zusammenfassen. Dateien werden als „Objekte“ im Objektspeicher abgelegt und nicht als Dateien in einem Dateisystem. Durch das Auslagern der Low-Level-Blockverwaltung auf die lokalen Dateisysteme muss die Objektablage nur die High-Level-Details verfolgen. Diese Trennschicht sorgt dafür, dass die Datei-Lookup-Tabellen nicht zu groß werden. Somit lassen sie sich auf Hunderte von PByte skalieren, ohne dass es die Leistung beeinträchtigt.

Um den nutzbaren Speicherplatz zu maximieren, verwenden Objektspeicher eine Technik namens Erasure Coding, um Daten zu schützen. Erasure Coding lässt sich als die nächste Generation von RAID vorstellen. Ein mit Erasure Coding versehenes Speichervolumen teilt Dateien in Shards auf, wobei jeder Shard auf einer anderen Festplatte abgelegt wird. Zusätzliche Shards werden hinzugefügt, die Informationen zur Fehlerkorrektur enthalten und Schutz vor Datenkorruption und Festplattenausfällen bieten. Nur eine Teilmenge der Shards wird benötigt, um jede Datei abzurufen. Das bedeutet, dass sie mehrere Festplattenausfälle ohne das Risiko eines Datenverlustes überstehen kann. Mit Erasure Coding versehene Speichervolumen überstehen mehr Festplattenausfälle als ein RAID und bieten in der Regel mehr als die doppelte nutzbare Kapazität der Dreifach-Replikation, was sie zur idealen Wahl für Speicherungen im PByte-Bereich macht.

Verwaltung unstrukturierter Daten

Wann immer Unternehmen mit Massenspeichern arbeiten, wird ein Großteil der Daten wahrscheinlich unstrukturiert sein. „Unstrukturierte Daten“ ist ein Schlagwort, das man im Zusammenhang mit Object Storage häufig hört. Es bedeutet nicht, dass die Dateien selbst unstrukturiert sind. Natürlich hat jede Datei eine Art von Struktur. Wenn jemand sagt, dass seine Daten unstrukturiert sind, meint er, dass sie nicht in einer Datenbank gespeichert sind. Es ist nur eine lose Sammlung von Dateien, die von einer Vielzahl verschiedener Anwendungen erstellt wurden. Ein gutes Beispiel ist ein Dokumentenordner.

Objektablagen helfen dem Administrator bei der Verwaltung unstrukturierter Daten, indem sie Dateien mit benutzerdefinierten Metadaten versehen können, die deren Inhalt beschreiben. So lassen sich Dateien ohne externe Software oder Datenbanken verfolgen und indizieren. Alle Daten sind selbstbeschreibend, was eine Reihe neuer Möglichkeiten für die Datenanalyse eröffnet. Anwender können ihre Dateien indizieren und durchsuchen, ohne vorher die interne Struktur einer Datei oder die Anwendung zu kennen, mit der sie erstellt wurde. Indem Sie Ihren Dateien einen Kontext geben, können Sie direkte Datenanalysen durchführen.

Mike McWhorter ist Senior Technologist bei Western Digital ().