Eignen sich Hadoop & In-Memory als Storage-Struktur für IoT?
Leserfrage: Als Storage-Struktur für IoT (Internet of Things) propagieren viele Anbieter Objekt-basierten Speicher. Aber ist dies wirklich die einzige Option? Wie steht es um Lösungen wie Hadoop oder In-Memory? Wo liegen die einzelnen Vor- und Nachteile?
Antwort Doc Storage:
Über objektorientierten Speicher haben wir in den letzten Monaten einiges geschrieben und die Vor- und Nachteile gründlich beleuchtet. Hier also noch einmal meine Sicht auf die beiden von Ihnen daneben angefragten Speichermöglichkeiten, Hadoop und In-Memory.
Hadoop ist leistungsfähig mit breitem Software-Support
Hadoop basiert auf Java, ist in Open-Source-Umgebungen beheimatet und gehört seit 2008 zur Apache Software Foundation. Es handelt sich hier nicht nur um eine Speicherlösung, sondern um ein Framework, welches verteilte und skalierbare Systeme unterstützen soll. Erste Implementierungen stammen von Google, welches Hadoop vor allem für den Betrieb seiner Indizierungs- und Suchmaschinen einsetzt. Das HDFS (Hadoop Distributed File System) ist hochverfügbar ausgelegt, indem es Informationen in einzelne Blöcke zerlegt und diese rendundant auf die am Framework teilnehmenden Rechner speichert.
Die Speicherumgebung besteht aus übergeordneten (Name-)Knoten, die für die Abarbeitung der eingehenden Lese- und Schreibanfragen sowie die Erzeugung der benötigten Metadaten zuständig sind, und Speicher-(Slave-)Knoten, welche für die eigentliche Datenablage sorgen. HDFS ist hoch skalierbar und unterstützt viele hundert Millionen einzelne Dateien. Dabei hat es sich gezeigt, dass Hadoop immer effizienter arbeitet, je größer die gespeicherten Dateien sind. Innerhalb des Hadoop-Frameworks können nach Bedarf auch andere Dateisysteme eingesetzt werden, allerdings sollten diese im Einzelfall auf die Eignung im Zusammenspiel mit den dort installierten Anwendungen getestet werden. Als Dateiformate können je nach Anwendung strukturierte und unstrukturierte Daten gespeichert werden. Für die Entwicklung eigener Formate stehen vielfältige Werkzeuge zur Verfügung.
Der Vorteil von Hadoop-Umgebungen liegt in der kostengünstigen und breit unterstützten Software-Basis (u.a. IBM, EMC, SAP, Google, Microsoft, Teradata) sowie in je nach Hardware-Ausstattung sehr leistungsfähigen Abarbeitung vor allem großer Dateien. Nachteil ist, dass der Benutzer Hadoop zunächst genau an seine Bedürfnisse anpassen muss, dafür eine tiefe Kenntnis der jeweiligen Software-Bestandteile benötigt und das gesamte System auf Open-Source-Umgebungen basiert, für deren Betrieb ebenfalls entsprechende Erfahrungen notwendig sind.
In-Memory verarbeitet Prozesse direkt im Hauptspeicher
In-Memory-Systeme machen vor allem bei der schnellen Verarbeitung größter Datenmengen Sinn, beispielsweise im Datenbankumfeld oder bei Big Data. Wegen der sinkenden Preise für Hauptspeicher macht dies Konzept immer mehr Sinn, da sich Rechner mit immer größeren direkt vom Prozessor ansprechbaren Volumina ausrüsten lassen. Betrachtet man sich größere Lösungen wie beispielsweise SAP Hana oder Terracotta der Software AG, gewinnen diese mit zunehmend niedrigeren Preisen der Hardware immer mehr an Bedeutung. Das Prinzip ist bei allen In-Memory-Systemen gleich. Größere Datenmengen, vor allem im Datenbankumfeld, werden direkt in den Hauptspeicher geladen, dort verarbeitet und entsprechend modifiziert wieder in den Massenspeicher zurückgeschrieben.
Die Gesamt-Verarbeitungszeit liegt hierbei wesentlich unter der, welche für den bisherigen Betrieb direkt an Festplattensystemen benötigt wurde. Der Nachteil liegt in der mächtigen Ausrüstung der benötigten Systeme vor allem im Bereich des Arbeitsspeichers, somit im Kostenbereich. Allerdings gehen die Anschaffungswiderstände für Hauptspeicher immer weiter zurück. Ein weiterer Nachteil ist, dass In-Memory-Systeme im heutigen Markt noch sehr proprietär und vor allem auf Datenbank- und transaktionale Umfelder beschränkt sind.
Gruß
Doc Storage