Big Data Storage: Grundlagen zu Hadoop

Hadoop verändert den Markt für Enterprise-Storage. Wir erläutern die Speicheranforderungen und werfen einen Blick auf die wichtigsten Hersteller.

Als Musterbeispiel für Big Data wird immer wieder Hadoop als Referenz-Architektur genannt. Doch was genau ist Hadoop und welches sind die Eckpunkte für eine Strategie mit Hadoop?

Analyse von strukturierten und unstrukturierten Daten

Hadoop ist eine hochskalierbare Analyse-Plattform, die große Mengen an strukturierten und unstrukturierten Daten verarbeiten kann. Große Mengen bedeuten in diesem Zusammenhang mehrere Petabyte Daten, die über tausende physikalische Server oder -Knoten verteilt sind.

Das Framework wurde im Jahre 2005 als Open-Source-Software entwickelt und wird von der Apache Software Foundation verwaltet. Die Anwendung benutzt ein Konzept, das als MapReduce bekannt ist. Dies besteht aus zwei separaten Funktionen. Der Map-Schritt holt die Daten und zerlegt diese für die Verarbeitung in den Knoten der Hadoop-Instanz. Diese „Worker“-Knoten zerlegen die Daten unter Umständen im weiteren Arbeitsablauf nochmals. Im Reduce-Schritt werden die verarbeiteten Daten wieder gesammelt und in ein Format  zusammengebaut, das von der entsprechenden Anfrage angefordert wurde.

Um mit dem massiven Datenaufkommen zurecht zu kommen, haben die Entwickler von Hadoop eine Architektur implementiert, die in die Breite skaliert wird. Diese basiert auf kostengünstigen physikalischen Servern, die die Daten während der Map-Operation verarbeiten. Die Idee dahinter ist, dass man mit einem Hadoop-System so viele Daten-Teile wie möglich parallel verarbeiten kann. Das reduziert die Ausführungszeit deutlich. Der Ansatz steht im Gegensatz zu herkömmlichem Datenbank-Architekturen. Man versuchte alle Daten auf einem einzelnen Server zu halten und verwendet immer schnellere Prozessoren  sowie Speicher für die Verarbeitung.

Storage-Schicht in Hadoop-Systemen

Betrachtet man die Storage-Schicht, fällt auf, dass man via Hadoop die verteilten Aufgaben mit so wenig Latenzzeit wie möglich ausführen kann. Das wird erreicht, indem man die Map-Verarbeitung auf Knoten ausführt, die die Daten speichern. Das Konzept ist als Data Locality bekannt. Hadoop-Implementierungen können daher auch SATA-Festplatten benutzen, die direkt mit dem Server verbunden sind, was auch die Gesamtkosten des Systems gering hält.

Für die Implementierung der Data-Storage-Schicht verwendet Hadoop eine Funktion, die als HDFS oder Hadoop Distributed File System bekannt ist. HDFS ist dabei kein Dateisystem, wie man es im eigentlichen Sinne kennt. Zudem können Anwender nicht direkt darauf zugreifen (es gibt allerdings Tools, die es möglich machen). Das Konzept ist aus diesem Grund nicht immer einfach zu verstehen. Es ist einfacher, Hadoop als einen Data Store zu betrachten.

HDFS-Instanzen sind in zwei Komponenten aufgeteilt: Der NameNode enthält Metadaten, die über den physikalischen Aufenthaltsort der Daten innerhalb der Hadoop-Instanz Bescheid wissen. Die DataNodes speichern die eigentlichen Daten.

Sie können mehrere logische DataNodes auf einem einzelnen Server betreiben. Bei einer typischen Implementierung läuft allerdings nur einer pro Instanz. HDFS unterstützt einen einzelnen Datei-System-Namensraum (Filesystem Namespace). Dieser speichert Daten in einem traditionellen hierarchischem Format, bestehend aus Verzeichnissen und Dateien. In einer Instanz sind die Daten in Blöcke von 64 MByte aufgeteilt und aus Sicherheitsgründen dreifach im Cluster gespiegelt. In großen Hadoop-Clustern werden früher oder später Komponenten oder komplette Server ausfallen. Somit ist die Duplizierung der Daten über die Server verteilt das Schlüssel-Design von HDFS.

Zusammenführung von Kernfunktionen mit dem Storage

Hadoop-Unterstützung auf gemeinsam genutztem Speicher funktioniert nicht auf traditionelle Art, da die Verteilung der Workloads und des Storage von Hadoop übernommen wird. Allerdings gibt es Storage-Hersteller, die Hadoop nativ unterstützen. Das Prinzip lässt sich aus oben genannten Gründen nicht mit SAN-Implementierungen in Einklang bringen. Die Kosten pro GByte sind wesentlich höher als lokaler Direct Attached Storage (DAS).

Auch der Einsatz von Fibre Channel bezüglich HDFS ist nicht praktikabel. Die Kosten sind zu hoch, wenn man einen Blick auf HBA (Host Bus Adaptors) und SAN-Ports wirft. Darüber hinaus ist Hadoop für das Data-Streaming entwickelt. Hadoop-Transaktionen schreiben Daten in der Regel einmal über den Cluster verteilt und lesen es aus. Das funktioniert mit direkt angeschlossenen SATA-Laufwerken hervorragend. Bei gemeinsam genutztem Storage ist das unvorteilhaft, wenn dieselben Festplatten für die Unterstützung des Hadoop-Clusters zum Einsatz kommen.

Es gibt allerdings auch Szenarien, in denen sich existierende Storage-Lösungen verwenden lassen. Hadoop-Knoten lassen sich mit mehrstufigen Speicherungen (Tiering) einsetzen. Damit kann ein Performance-Gewinn bei Flash SSD, PCIe Flash und Festplatten der Enterprise-Klasse mit 15.000 Umdrehungen pro Minute erreicht werden.

Tiering lässt sich mit Hilfe von Open-Source-Software, wie zum Beispiel dem von Facebook entwickeltem Flashcache, realisieren. Damit werden aktiv genutzte Datenblöcke im hoch performantem Storage gehalten. Natürlich kostet es mehr, Flash-Geräte in Servern einzusetzen. Hierfür muss man eine Kosten-/Nutzen-Rechnung hinsichtlich der Effizienz aufstellen. Es ist aber möglich, das die Knoten durch den Einsatz von Flash mehr Anfragen bearbeiten können.

Optional können Sie nach Storage-Herstellern suchen, die native Unterstützung für HDFS anbieten. Dabei sollte man speziell auf Anbieter achten, die in die Breite skalierbare Geräte zur Verfügung stellen und sich an der Architektur von Hadoop orientieren.

Der Einsatz einer HDFS-kompatiblen Storage-Lösung kann eine Reihe von Vorteilen haben. Zunächst lassen sich Rechenleistung und Speicher unabhängig skalieren. Daneben gibt keine festgelegten Kapazitäten eines Knotens. Weiterhin ist es möglich, eine schnellere Datenaufnahme anzubieten und Datei-Inhalte direkt im Cluster anzusehen. Sowohl Daten als auch Kapazitäten lassen sich zwischen mehreren Hadoop-Instanzen teilen. Die HDFS-Metadaten sind somit besser geschützt. In einer Standard-Hadoop-Installation ist der NameNode eine Schwachstelle. Allerdings lässt sich dieser manuell replizieren.

HDFS bringt Funktionen für automatische Daten-Wiederherstellung und Integritäts-Prüfungen mit sich. Eine HDFS-kompatible Storage-Lösung kann diese Prozesse auslagern, so dass die Hadoop-Instanz möglicherweise mehr Aufgaben erledigen kann und der Bedarf einer dreifachen Kopie reduziert wird.

Storage-Hersteller für Hadoop

EMC Isilon ist eine Scale-Out NAS-Plattform, die native Unterstützung für Hadoop mitbringt. Sie bietet einige Extras, wie zum Beispiel einen verteilten NameNode, Datenschutz mithilfe von Snapshots und NDMP-Backups sowie Multi-Protocol-Unterstützung. Ein Isilon-Cluster lässt sich für mehrere Workloads einsetzen. Es ist daher ein guter Ansatz für eine kostengünstige Hadoop-Lösung.

Cleversafe unterstützt Hadoop als Ersatz für die Storage-Schicht mit HDFS. Die Technologie verteilt Daten auf mehrere Storage-Appliances. Dies garantiert Ausfallsicherheit und Performance-Gewinn auch über geographische Grenzen hinweg. Mit steigender Anzahl der Storage-Knoten einer Cleversafe-Lösung nimmt die Ausfallsicherheit zu. Dafür benötigt man keine zusätzlichen Kapazitäten.

NetApps Open Solution für Hadoop basiert auf der E2660 Direct-Attached-Storage-Appliance und einem Kontroller des Typs FAS2040, der den NameNode verwaltet. Das E2660 liefert RAID-Schutz für die Daten. Somit müssen keine mehrfachen Kopien vorgehalten werden. Es verbindet sich mittels 6 Gbps SAS mit bis zu vier physikalischen Servern, die als DataNodes dienen.

Hitachi Data Systems (HDS) hat eine Referenz-Architektur für Hadoop, die auf Cloudera Hadoop basiert. Sie benutzt das Server-Produkt HDS CR220S mit integrierten Drei-Terabyte-SATA-Laufwerken, macht aber nicht von anderen HDS-Kernprodukten Gebrauch. Diesen Ansatz verfolgt auch HP mit der Lösung AppSystem für Hadoop. Auch hier kommt Direct-Attached-Storage zum Einsatz.

Es gibt auch alternative Lösungen, die sich derzeit in der Entwicklung befinden und HDFS ersetzen sollen. Dazu gehören Lustre von Intel, GPFS von IBM und Open-Source-Lösungen wie zum Beispiel Ceph und Cassandra. Bisher unterstützen die Hersteller nur die Intel-Lösung.

Artikel wurde zuletzt im November 2013 aktualisiert

Pro+

Premium-Inhalte

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

Erfahren Sie mehr über Datenmanagement-Tools

Dem Gespräch beitreten

1 Kommentar

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.

Lassen sich mit Hadoop auch Maschinendaten auswerten? Unsere Maschinendaten sind nicht wirklich unstrukturiert, haben aber eine sehr variable Struktur. Bitte Antwort hier:
http://ibmexperts.computerwoche.de/forum/analytics-big-data/maschinendaten-mit-hadoop-auswerten
Abbrechen

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchNetworking.de

SearchEnterpriseSoftware.de

SearchDataCenter.de

Close