Die Vorteile eines Object-Storage-Systems gegenüber Datei- und Block-Storage

Durch Skalierbarkeit und Zugriff via Internet-Protokolle bietet Object-Storage einige Vorteile. Für manche Szenarien ist es trotzdem nicht geeignet.

Object-Storage-Systeme mausern sich zu einer echten Alternative zu skalierbarem Network-attached Storage (NAS). Die Gründe hierfür sind:

  • nicht limitierte Skalierbarkeit;
  • der Schwerpunkt liegt nicht mehr auf Processing und auf Netzwerken mit hohen Kapazitäten;
  • Zugriff via Internet-Protokollen anstelle von Storage-Befehlen;
  • maßgeschneiderte Metadaten;
  • Einsatz herkömmlicher Komponenten ist möglich.

Wo früher Datei- oder Block-basierte Systeme zum Einsatz kamen, sehen wir inzwischen immer öfter Object-Storage-Systeme. Im Speziellen trifft das bei Private- und Public-Cloud-Storage zu. In diesem Beitrag erklären wir Ihnen, wie Object-basierte Storage-Systeme funktionieren und wie sie zu den grundlegenden Bausteinen einer Cloud-Storage-Infrastruktur geworden sind.

Vorteil von Object-Storage gegenüber Block- und Datei-Storage

Es gibt bereits jede Menge Block- und Datei-basierter Storage-Systeme, aus denen wir inzwischen wählen können. Somit stellt sich natürlich die Frage: Brauchen wir eine weitere Storage-Technologie? Block- und Datei-Storage sind ausgereifte, gut funktionierende Lösungen. Somit könnte man meinen, dass sich diese erweitern und verbessern lassen, um den steigenden Anforderungen zunehmend verteilter und Cloud-basierter IT-Infrastrukturen gerecht zu werden.

Bei Block-basiertem Storage werden Daten-Blöcke auf Festplatten mithilfe von tief liegenden Storage-Protokollen adressiert. Dazu gehören zum Beispiel SCSI-Befehle, die wenig Overhead oder zusätzliche Abstraktions-Schichten mit sich bringen. Damit ist dies der schnellste Weg, um auf Daten zuzugreifen, die auf Festplatten gespeichert sind. Alle höher liegenden Aufgaben führt in der Regel das Betriebssystem aus, beispielsweise Zugriffsverwaltung mehrerer Anwender, gemeinsames Nutzen von Daten (Sharing), Locking (Sperren) und Security. Anders gesagt kümmert sich Block-basiertes Storage um die niederen Aufgaben, ist aber von Applikationen auf höheren Ebenen für alles Weitere angewiesen. Jedes Object-Storage-System hat einen Block-basierten Storage-Node, während der Software-Stack des Object-Storage alle anderen Funktionen zur Verfügung stellt.

Block-basiertes Storage sollten Sie als Ergänzung zu Object-Storage sehen, Datei-basiertes Storage dagegen ist eher als direkte Konkurrenz zu verstehen. Skalierbarkeit wird hierbei von so genannten Scale-out-NAS-Systemen unterstützt. Ähnliche wie bei Object-Storage skalieren diese horizontal, indem Sie einfach weitere Nodes anfügen. Allerdings basieren sie auf einer hierarchischen Daten-Struktur und haben einen limitierten Namespace. Somit sind sie eingeschränkter als die nahezu unendlich skalierbare flache Struktur reiner Obect-Storage-Systeme, die lediglich durch die Anzahl der Bits der Objekt-ID beschränkt sind. Auch wenn sie etwas limitierter sind, bringen Scale-out-NAS-Systeme viele der Charakteristika von Object-Storage mit sich.

 

Direkter Vergleich: Object-Storage gegenüber traditionellem Storage

  Object-Storage Datei-basiertes Storage Block-basiertes Storage
Transaktions-Einheiten Objekte: Dateien mit maßgeschneiderten Metadaten Dateien Blöcke / Blocks
Unterstützte Update-Art Keine Unterstützung für direkte Updates. Updates erstellen neue Versionen des Objekts. Direkte Updates möglich Direkte Updates sind unterstützt
Protokolle REST und SOAP via HTTP CIFS und NFS SCSI, Fibre Channel, SATA
Unterstützung für Metadaten Unterstützt individualisierbare Metadaten Feststehende Dateisystem-Attribute Feststehende System-Attribute
Idealer Einsatzzweck Relativ statische Dateien und Cloud-Storage Gemeinsam genutzte Daten Transaktionen und sich häufig ändernde Daten
Größte Stärke Skalierbarkeit und verteilte Zugriffe Vereinfachter Zugriff und Management gemeinsam genutzter Dateien Hohe Performance
Einschränkungen Schlecht für sich häufig ändernde Daten und Transaktionen, kein Sharing-Protokoll mit Locking-Mechanismus Schwierig zu erweitern im Hinblick auf die Grenzen des Data Centers Über die Grenzen des Data Centers schwer erweiterbar

 

 

Was ist Object Storage eigentlich genau?

Object-Storage hat für unterschiedliche Menschen unterschiedliche Bedeutungen, da es einfach an einer allgemein anerkannten Definition fehlt. Um zu analysieren, inwieweit ein Storage-System ein Object-Storage ist, muss man sich einige Attribute ansehen. Diese sind entweder zwingend erforderlich oder „nette Extras“.

Objekte bzw. Objects: Statt Blöcke oder Dateien zu managen, verwaltet ein Object-Storage Objekte. Genauer gesagt, managen zeitgemäße Object-Storage-Systeme Dateien als Objekte. Objekte werden mithilfe einer einzigartigen Kennung (Identifier) adressiert. Datei-basierte Storage-Systeme verwenden dafür den Datei-Pfad. Objekte sind in einem flachen Adress-Raum gespeichert. Das eliminiert die Komplexität und die Herausforderungen hinsichtlich Skalierbarkeit von hierarchischen Dateisystemen, die Datei-basiertes Storage benutzt.

Metadaten: Objekte bestehen aus Metadaten, die kontextabhängige Informationen über die Daten im Objekt liefern,  und aus den tatsächlichen Daten selbst. Bei Datei-basierten Storage-Systemen sind die Metadaten auf die Datei-Attribute limitiert. Metadaten in reinen Object-Storage-Systemen lassen sich mit allen möglichen individuellen Attributen erweitern. Wollen Sie das mit einem Datei-basierten System realisieren, brauchen Sie dafür eine Applikation mit einer Datenbank, die die zusätzlichen Informationen bezogen auf die Datei verwaltet. Mit individuellen Metadaten können Sie sämtliche zu einer Datei (also: Objekt) gehörende Informationen im Objekt selbst ablegen.

Fixed Objects: Reines Object-Storage repräsentiert ein Repository an starren Inhalten. Das bedeutet, dass sich Objekte erstellen, löschen und lesen lassen. Allerdings können Sie diese nicht direkt updaten. Objekte werden aktualisiert, indem man eine neue Version des Objekts erstellt. Aus diesem Grund gibt es bei Object-Storage keine Probleme mit gesperrten Daten oder Zugriff mehrerer Anwender. Das ist der Fluch bei Datei-basierten Dateisystemen. „Wenn mehrere Anwender das selbe Objekt gleichzeitig aktualisieren, schreibt das Object-Storage-System ganz einfach mehrere Versionen dieser Datei.“, sagte Tim Russel, Vize-Präsident der Data Lifecycle Ecosystem Group bei NetApp. Da man bei Object-Storage den Kompromiss eingegangen ist, keine direkten Updates zu unterstützen, ist Object Storage so gut für verteiltes Storage und verteilte Zugriffe geeignet.

Redundanz: Object-Storage erreicht Redundanz und Hochverfügbarkeit, indem mehrere Kopien desselben Objekts auf multiplen Nodes gespeichert werden. Ein Objekt wird also auf einem Node erstellt und danach auf einen weiteren oder mehrere Nodes kopiert. Hier kommt es im Einzelfall auf die entsprechenden Policies an. Die Nodes können sich dabei im selben Data Center befinden oder geographisch getrennt sein. Da es keine direkte Unterstützung für Updates gibt, ist Redundanz mit dieser Multi-Node-Objekt-Methode relativ unkompliziert umzusetzen. Bei traditionellen Storage-Systemen ist eine Synchronisation/Replikation von Dateien und Blocks über mehrere Instanzen ein ziemlicher Aufwand. Die Geschichte ist sehr komplex und lässt sich nur mithilfe einiger strikter Regeln realisieren, beispielsweise mit definierten Latenz-Bedingungen.

Protokoll-Unterstützung: Traditionelle Block- und Datei-basierte Protokolle funktionieren gut in einem Data Center, in dem die Performance stimmt und Latenz kein Problem darstellt. Allerdings eignen sie sich weniger gut für geographisch verteilte Zugriffe. In der Cloud ist die Latenz außerdem schwer einschätzbar. Zudem kommunizieren traditionelle Dateisysteme zum Beispiel mit  CIFS und NFS über TCP-Ports, die bei internen Netzwerken normalerweise offen sind. Dem Internet verweigert man gerne einen Zugriff auf diese Ports. Im Gegensatz dazu greift man auf Object-Storage meist mithilfe einer RESTful API via HTTP zu. Die über HTTP gesendeten Befehle an das Object-Storage sind einfach: mit put erschaffen Sie ein Objekt, mithilfe von get lesen Sie eines aus, delete dient zum Löschen und list listet alle Objekte auf.

Applikations-Unterstützung und Integration: Weil es keine Unterstützung für traditionelle Storage-Protokolle gibt und Sie mit einer REST API arbeiten müssen, ist eine Integration mit Object-Storage etwas aufwändiger. Es ist natürlich immer möglich, Applikationen maßzuschneidern. Einige kommerzielle Anbieter haben Ihren Applikationen die Unterstützung für Object-Storage-Integration spendiert, die meist auf Amazon S3 Cloud Storage verlinken. Meist geht es hier um Backup- und Archivierungs-Funktionen. Die Branche tut sich immer noch schwer, sich auf Standards zu einigen, daher wird eine weitreichende Object-Storage-Integration erst im Laufe der Zeit kommen. Object-Storage-Gateways nennt man auch Cloud-Storage-Gateways. Das ist eine weitere Möglichkeit, wie Sie mit Object-Storage kommunizieren können. Diese Komponenten sitzen zwischen traditionellem Storage und Object-Storage und kümmern sich um den Datenaustausch zwischen den beiden. In der Regel geschieht das mithilfe vordefinierter Policies.

Cloud-Funktionen: Cloud-Storage und Web-2.0-Applikationen gehören zu den wichtigen Zielgruppen von Object-Storage, daher sind gerade Funktionen wichtig, die mit dem gemeinsamen Zugriff über das Internet zusammemhängen. Mehrere gleichzeitige Anwender (Mandantenfähigkeit) und die sichere Trennung der individuellen Nutzer-Daten sind für ein Object-Storage-Produkt zwingend notwendig, das sich über den Business-Einsatz hinaus etablieren möchte. Zu den benötigten Security-Features gehört ganz klar mehr als nur Verschlüsselung, Sie sollten daher auch die Infrastruktur bereitstellen, um Anwender-Zugriffe, Adressräume und Objekte kontrollieren zu können. SLA-Management (Service-Level Agreement) und die Möglichkeit der Unterstützung mehrere Service-Niveaus sind für die Cloud-Nutzung wichtig. Weiterhin ist eine Policy-Engine nicht verkehrt, die sich um die Einhaltung der SLAs kümmert. Es geht hier zum Beispiel um die Anzahl der Objekt-Instanzen und wo jede Instanz gespeichert werden soll. Diese Funktionalitäten gehören zu jedem Object-Storage-Produkt. Weiterhin sollten der Verbrauch messbar sein und sich die Kosten transparent nachvollziehen lassen. Das ist für die Cloud-Nutzung ein absolutes Muss.

Anwendungsfall: Reines Object-Storage eignet sich nicht für direkte Datenverarbeitung oder Transaktionen, wenn sich die Daten wie beispielsweise bei Datenbanken häufig ändern. Object-Storage wurde auch nicht geschaffen, um ein NAS für gemeinsam genutzte Dateien zu ersetzen, da Object-Storage nicht die Locking- und Datei-Sharing-Möglichkeiten mit sich bringt, die sicherstellen, dass es nur eine „wahre“ Version einer Datei gibt. Bei Object Storage gibt es stattdessen mehrere, möglicherweise inkongruente Versionen einer Datei. Object-Storage funktioniert hervorragend als skalierbarer Daten-Speicher für unstrukturierte Daten, die sich nicht häufig ändern. Mögliche Einsatzgebiete sind auch zusätzliche Storage-Tiers für inaktive Daten hinter Storage-Tiers mit vielen Transaktionen oder als Archiv. Im Cloud-Bereich eignet es sich gut für Datei-Inhalte, vor allen Dingen für Bilder und Videos. Jeff Lundberg ist leitender Produkt-Marketing-Manager bei Hitachi Data Systems. Er sagte: „Object-Storage eignet sich heutzutage ausgezeichnet für bereits verarbeitete Daten in den Bereichen Media, Entertainment und Gesundheitswesen. Die Performance nimmt allerdings weiterhin zu und die Funktionen werden ausgereifter. Deswegen ist es nicht nur für die Unterstützung von Cloud-Storage dienlich, sondern auch für verteilte IT-Umgebungen.“

Verschiedene Herangehensweisen bei der Implementierung von Object-Storage

Objekt-basiertes Storage lässt sich in drei Gruppen einteilen:

CAS (Content-addressed Storage): Unter der Haube speichert CAS Dateien als Objekte inklusive individueller Metadaten. Zugriff auf die Dateien wird via numerischer Objekt-Kennungen realisiert. Sie sind speziell für Festplatten-basierte Archive entwickelt, die hohe Compliance-Funktionen garantieren. Deswegen setzt man CAS-Systeme in der Regel innerhalb eines Data Centers ein, wo keine Cloud-Funktionen benötigt werden. Wir sprechen hier von Zugriff über das Internet und Mandantenfähigkeit. EMC hat das CAS-Segment mit Centera dominiert, andere Hersteller wie zum Beispiel Caringo sind auf dem Enterprise-Markt eine direkte Konkurrenz. Um ihre Produkte in Cloud-Storage-Systeme zu verwandeln, können CAS-Anbieter ihre Plattformen in der Regel einfach um Cloud-relevante Funktionen erweitern oder sie gleich eine neue Object-Storage-Plattform erstellen. EMC hat sich für letztere Variante entschieden und stellt mit Atmos eine entsprechende Cloud-Storage-Plattform zur Verfügung. Caringo hat sein existierendes CAS-System ausgebaut, das sich nun Caringo Object Storage Platform nennt. Caringo unterstützt seit Herausgabe der Version 5 seiner Object-Storage-Plattform Mandantenfähigkeit und Objekte von bis zu einem Terabyte Größe.

Zweite Generation von Object-Storage-Systemen: Viele Object-Storage-Anbieter haben ihre Software von Grund auf neu entwickelt und dabei bewusst so entworfen, um mit günstigen x86-basierten Nodes zu funktionieren. Jeder Storage-Node stellt sowohl Computing- als auch Storage-Ressourcen zur Verfügung. In Bezug auf Kapazität und Performance skalieren sie linear, indem man einfach neue Nodes hinzufügt. Die Software für Object-Storage ist in der Regel hardwareunabhängig und besteht aus lose zusammenarbeitenden Services. Es gibt eine Presentation Layer, die mit den Clients via HTTP-Protokollen (REST oder SOAP) interagiert. Optional sind traditionelle Datei-System-Protokolle im Angebot. Die Metadata Management Layer verwaltet, an welcher Stelle Daten-Objekte gespeichert werden und wie man diese schützt oder auf andere Storage-Nodes verteilt. Die Storage Target Layer schließlich interagiert mit den Storage-Nodes.

EMC verkauft sein Atmos Object-Storage-System als eine virtuelle Appliance, als Software-only und als Software mit herkömmlichen Servern und JBODS. „Der wichtigste Punkt bei Atmos ist, dass jeder zusätzliche Node Kapazität, Computing- und Netzwerk-Ressourcen hinzufügt. Sie können diese eigentlich unendlich erweitern.“, erklärt Mike Feinberg, Senior-Vize-Präsident von EMCs Cloud-Infrastruktur-Gruppe.

Im Jahre 2010 hat NetApp Bycast, einen Entwickler von Objekt-basierter Storage-Software, akquiriert. Die Technologie stellt nun die Grundlage für NetApp StorageGrid dar. NetApp kombiniert die StorageGrid-Software mit NetApp E-Series-Storage-Systemen, um damit ein komplettes Object-Storage anbieten zu können.

Amplidata behauptet, dass sein AmpliStor-Produkt Haltbarkeit, Skalierbarkeit und hohe Performance in einem Object-Storage-Produkt vereint. “Wir kombinieren unsere proprietäre BitSpread-Technologie, einen Codec für Daten-Haltbarkeit von über 90 Prozent und einen Ersatz für RAID-Controller, mit hoch-performanten Nodes. Letztere können Solid-State Disks für Caching benutzen. AmpliStor kann bis zu 720 Mbps Durchsatz pro Controller liefern.“, sagt Amplidatas Vize-Präsident für Produkte Paul Speciale.

Die Hitachi Content Platform (HTC) kombiniert Object-Storage-Software mit HDS-Storage, um eine hochmoderne Object-Storage-Lösung anzubieten, die sowohl mit der Hitachi-NAS-Plattform (früher BlueArc) als auch mit anderen HDS-Storage-Systemen integriert ist.

Cloud-aktiviertes Scale-Out-NAS: Auch wenn sie nicht auf Object-Storage-Architekturen setzen, können Scale-Out-NAS-Anbieter durchaus mit Object Storage konkurrieren, indem sie durch das Hinzufügen von Nodes horizontale Skalierbarkeit bieten. Ähnlich wie CAS-Anbieter spendieren die NAS-Konkurrenten den eigenen Produkten zudem Object-Storage-Funktionen, beispielsweise Unterstützung für das HTTP-Protokoll. Weil Scale-Out-NAS-Systeme Network-attached Storage mit einer Object-Storage-Hülle sind, haben sie gegenüber reinen Object-Storage-Produkten einen Vorteil bei internen Cloud-Einsätzen.

Trotz großer Vorteile bleibt Object Storage noch eine Nische

Die Kombination aus noch nie dagewesener Skalierbarkeit und verteiltem Zugriff hat Object-Storage in den Bereichen Cloud-Storage und Web-2.0 die Pforten zum Erfolg geführt. In den Data Centern der Unternehmen finden diese Systeme als Archive und Storage-Tiers für Datei-Aggregation Einsatz, um traditionelles Storage zu unterstützen. Dennoch repräsentiert Object-Storage derzeit einen geringen Teil des Storage-Marktes. Hier dominieren weiterhin herkömmliche Block- und Datei-basierte Storage-Systeme. Der Schlüssel für eine breitere Annahme ist sicherlich in der derzeit noch fehlenden Standardisierung zu suchen. Unterstützen könnten dabei auch Integrationsmöglichkeiten mit Applikationen, herkömmlichem Storage und gleichwertigem Object-Storage.

Object-Storage-Standards

Den Object-Storage-Systemen mangelt es derzeit noch an übergreifenden Standards. Dieser Umstand wirkt sich wiederum negativ auf die Interoperabilität aus und macht die Integration von Applikationen mit Cloud-Storage komplizierter. Die nachfolgenden Initiativen sind Versuche, Object-Storage zu standardisieren.

  • OpenStack wurde von Rackspace und der NASA gegründet. OpenStack ist eine Open-Source-Computing- und Storage-Plattform, die sich für den Einsatz von Public und Private Cloud-Systemen eignet. OpenStack-Object-Storage, mit Codenamen Swift, ist eine Open-Source-Software, mit der sich redundantes und skalierbares Object-Storage realisieren lässt. Dafür verwendet man Cluster, die auf standardisierter Hardware basieren. Insgesamt stehen mehr als 150 Unternehmen hinter der Initiative, darunter zum Beispiel auch Schwergewichte wie zum Beispiel AMD, Cisco, Dell, HP und Intel. Diverse kommerzielle Produkte, wie zum Beispiel NetApps ByCast, unterstützen die Software bereits.
  • CloudStack ist ein auf Java basierendes Open-Source-Cloud-Betriebssystem, das zusammen mit Cloud.com von Citrix Systems akquiriert wurde. Es konkurriert direkt mit OpenStack. Citrix hat CloudStack in die Apache Foundation eingebracht. Shawn Edmondson ist Vize-Präsident der Produkt-Strategie bei rPath. Er meint: „Cloud Stack in das Universum der Apache Foundation einzubringen ist ein großartiger Schritt. Dadurch hat eine unabhängige und anerkannte Open-Source-Community Zugriff darauf. Citrix kann es allerdings weiterhin unterstützen und auch kommerziell an den Mann bringen.“
  • CDMI (Cloud Data Management Interface) der Storage Networking Industry Association definiert eine zweckmäßige Schnittstelle. Applikationen benutzen diese, um Daten-Elemente in der Cloud zu erstellen, zu erhalten, zu aktualisieren und zu löschen. Weiterhin sind Funktionalitäten enthalten, mit denen sich die Ressourcen von Cloud-Storage erkunden lassen. Darüber hinaus finden Sie Mechanismen für das Management von Anwender-Konten und Security.

Jacon N.Gsoedl ist freiberuflicher Autor und Geschäftsleiter für Business-Systeme.

Folgen Sie SearchStorage.de auch auf Facebook, Twitter und Google+!

Artikel wurde zuletzt im Mai 2014 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über NAS-Management

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchNetworking.de

SearchEnterpriseSoftware.de

SearchDataCenter.de

Close