Blog: Big Data und Cloud Object Storage Technologien

Starnberg, 31. Mai 2012 - Aktuelle Big Data Herausforderungen aus Storagesicht betreffen weniger den Analyseteil von komplexen strukturierten Datenbeständen bzw. Log-files...

Zum Hintergrund: Rasant wachsende unstrukturierte- und semistrukturierte Daten machen vielen Unternehmen und IT-Abteilungen das Leben schwer. Diese kommen vermehrt aus der Forschung (z.B. Genom-Analyse), der Medienindustrie (HD-Filme), aus Anwendungsbereichen im High-Performance-Umfeld (Astronomie, Physik, Biochemie), der Finanz- Automobil- oder Consumerindustrie (Kaufverhalten, Crashtests, Marketingprogramme) und von Social Media Plattformen wie Google, Twitter und Facebook... Meist konzentriert sich das Interesse bei Big Data dann auch auf den Analyseteil, der beim Einsatz von entsprechenden Lösungen direkte Wettbewerbsvorteile für die Unternehmen verspricht. Siehe hierzu auch: „Organizations achieving a competitive advantage with analytics are 2.2x more likely to substantially outperform their industry peers“. Quelle: The New Intelligent Enterprise, a joint MIT Sloan Management Review and IBM Institute of Business Value analytics research partnership. Copyright © Massachusetts Institute of Technology 2011.

Uns interessieren an dieser Stelle sowohl die resultierenden Storageanforderungen bei Big Data, denn hier ist es ähnlich wie bei der virtual machine performance und Servervirtualisierung... ohne schnellen, hochverfügbaren Storage keine Realtime-Auswertungen und damit geschäftliche Vorteile, als auch einige Herausforderungen bei "Much Data", also der effizienten Speicherung-/Archivierung von sehr grossen Datenmengen.

Die schnelle Analyse von Datenbank-Quellen, gespeichert im Storage-Backend ist die Domäne klassischer FC/SAS RAID-Arrays mit latenzarmen Flash-Solid-State-Disks und-/oder PCIe Caching auf Basis NAND Flash oder DDRAM, auch kombiniert mit 10GBE oder Infiniband. Die Lösungen sind aus Leistungsgründen vielfach als Direct-Attachted Storage (DAS) oder gar komplette integrierte Appliances (Hardware, Software) verfügbar; Stichwort: „In-Memory-Computing“ (siehe z.B: SAP HANA, Oracle Exalytics etc.). Hier verlagert sich der I/O direkt von SSD/Festplatte in den Hauptspeicher. Ein wichtiger Aspekt ist in jedem Fall neben den Integrationsaspekten die optimierte I/O-Zugriffsleistung (Tuning) mit hierfür spezialisierten Datenbanken-Applikationen.

Anders verhält es sich mit sehr großen unstrukturierten Datenpools, die sich mit den klassischen Ansätzen im Storage-Backend nicht hinreichend adressieren lassen. Um diese sowohl Benutzer- als auch kosteneffizient speichern und verwalten zu können, sind Speicherseitig entsprechend hoch skalierbare Architekturen bis in die Hunderte von Petabytes oder mehr nötig. Weitere Randbedingungen betreffen neben der Technik die Wirtschaftlichkeit (OPEX): Möglichst geringen Energieverbrauch, hohe Verfügbarkeit, sprich Redundanz, höchste Datenintegrität, schnelle Zugriffsleistung bei niedrigen Speicher- und Verwaltungskosten sowie eine möglichst transparente und standardisierte Benutzerschnittstelle. Scale-out-clustered (NAS-) Filesysteme mit global namespace-Architektur, kombiniert mit HSM Funktionalitäten (Tiered Storage) bilden die Basis derzeitiger Lösungsangebote; diese werden aktuell von fast allen namhaften Storage Herstellern angeboten (NetApp, IBM, EMC Isilon, Bull/Lustre, HP, Quantum, Oracle/Sun ZFS, Red Hat, Nexenta etc.). Firmen wie Facebook, Google oder Amazon setzen auf Grund spezifischer Anforderungen als „early adopters“ softwareseitig überwiegend auf Eigenenwicklung, Java und open Source Frameworks (z.B. Google GFS, Apache Hadoop HDFS > http://hadoop.apache.org/).

Ein neuer Lösungsansatz heißt (Cloud-) Object Storage:

Die Objekt Storage wurde für die Speicherung und Archivierung von grossen Mengen an unstrukturierte Daten konzipiert, kommt also für die genannten Speicheranforderungen direkt in Frage. Es ist zu beobachten, dass Anbieterlösungen dieser Technik (siehe hierzu auch Start-up Firmen wie Scality, Cleversafe oder Amplidata >http://www.scality.com/ >http://www.amplidata.com/ >http://www.cleversafe.com/ ) im Zusammenhang mit gestiegenen Anforderungen an Cloud Storage Architekturen vermehrt auch bei klassischen Industrieunternehmen und Service Providern auf Interesse stoßen. Sie bestehen im Backend aus Commodity-Storage-Nodes (scale-out) für die nötige Speicherdichte, während das Front-End aus davon getrennten Controller-Nodes besteht, die eine skalierbare Leistung und Verfügbarkeit für das Storage Management liefern. Durch die Trennung in Compute- und Storage Nodes können die Systeme quasi linear skalieren und damit granular auf die jeweiligen Applikationserfordernisse elastisch angepasst werden. Der Zugriff auf die Daten erfolgt meist über HTTP/REST APIs (Web-Interface), so dass für Anwendungen ein Filesystem-unabhängiger Zugriff auf die gespeicherten Objekte ermöglicht wird. Objekt-Datenspeicherung bedeutet, dass die kleinste Speichereinheit ein ganzes Objekt darstellt. Dem Speichersystem sind bestimmte Informationen über Inhalt und Art des Objektes bekannt (Metadaten). Diese werden ebenfalls gespeichert und darüber lässt sich auch die Zugriffsbeschränkung für jedes Objekt erreichen. Mit dieser Methode kann ein großer flexibler Speicher geschaffen werden, der je nach Plattform und Software bis zu mehrere Milliarden Objekte abspeichern kann. Traditionelle Arraybasierte RAID-Controller-Architekturen sind dafür natürlich nicht konzipiert  (RAID Overhead, Datenintegrität, Restorezeiten, Skalierbarkeit, Kosten etc.). 

Ein neutrales wissenschaftlich-/technisches Dokument für das erweiterte Object-Storage-Modell der SNIA finden Sie übrigens hier am Textende als PDF-Download. Siehe auch: A Cloud Environment for Data-intensive Storage Services (alle Rechte bei den genannten Autoren).

Neue verteilte Datenintegrität-Funktionen wie die Erasure-Coding Technologie (siehe auch NEC, Cleversafe, Amplidata) speichern Objekte deshalb nicht mittels Standard-RAID-Verfahren, sondern über mathematische Gleichungen, die über den gesamten Speicher-Pool verteilt werden. Data Objects (aka Files) werden in sog. Sub-Blöcke aufgeteilt, aus denen Algorithmen berechnet werden. Je nach Verfügbarkeitsanspruch wird ein definierter Overhead an Gleichungen berechnet und diese über so viele Platten möglich verteilt (ähnlich einem distributed parity system). Gehen Festplatten defekt, kann das System aus den verteilten Gleichungen die Daten neu (im Hintergrund) berechnen, ohne dass hierfür ein komplexer Overhead geschaffen werden muss (Quelle: Amplidata).

Wann macht der Einsatz von Object Storage im Unternehmen Sinn? Object Storage wurde für die automatisierte Speicherung mittels Policies (Regeln) von sehr großen Datenmengen entwickelt, typischerweise ab einem Petabyte aufwärts. Interessant ist dabei auch die Fragestellung, welche Daten überhaupt in ein Object-Storagesystem gehören. Die führt dann sofort zum Thema „Datenklassifizierung und welche Daten sollen in die Cloud“ http://www.storageconsortium.de/content/node/719  Falls die Daten über mehr als zwei Rechenzentren verteilt werden müssen, sollte eine Objekt Storage-Plattform möglichst ohne klassische Replikations-Mechanismen arbeiten, um den Storage Overhead und TCO gering zu halten.

Neue Konzepte im Umgang mit den rasant wachsenden Datenmengen wurden kürzlich auch bei der am 24. Mai durchgeführten Fachkonferenz des ,,Münchner Kreises“ diskutiert. Fazit der Veranstaltung: Bei den derzeitigen Wachstumsraten stoßen heutige IT-Technologien aufgrund mangelnder Geschwindigkeit und Architekturbeschränkungen vielfach an ihre Grenzen. Das praktische Beispiel durch einen Vertreter der BMW Group illustriert das plastisch. Zitat: „Während im gesamten Jahr 2011 noch rund 20 Gigabytes an Informationen an die BMW Group übermittelt wurden, sind es nun täglich rund 30 Gigabytes an objektiven, technischen Informationen – Tendenz weiter steigend. Daten aus der Marktforschung oder der Kundenbetreuung sind hierin noch nicht einmal enthalten…“ http://www.automotiveit.eu/big-data-herausforderung-und-chance/news/id-0034660

Welche weiteren Maßnahmen für die Planung komplexer Infrastruktur Initiativen lassen sich für Big Data & Storage aus Unternehmenssicht damit ableiten?

  1. Die End-to-end Virtualisierung von Servern, Netzen, Storage und Applikationen ist neben der Konsolidierung eine der zentralen Aufgaben. Ziel ist es, eine elastische Infrastruktur-Umgebung zu schaffen, die effizient und flexibel skalierbar ist.
  2. Intelligente, pro-active Verknüpfung von Applikationsdaten mit Storage-Medien-Charakteristika (policy-based dynamic storage tiering; application-aware)
  3. Kapazitätsoptimierung als inhärenter und zentraler (Storage-)Infrastrukturservice (Deduplizierung, Compression)
  4. Automatisierung von IT- und Geschäftsprozessen mittels durchgängig virtualisierter Infrastrukturelemente (infrastructure-as-a-service) und die Auflösung bzw. Austausch veralteter Technik- und Applikationssilos (Migrationsaspekte beachten).

Mehr dazu in einem der nächsten Blogs...

N.Deuschle - Starnberg, den 31. Mai 2012

Quelle: http://www.storageconsortium.de/content/node/1186