Von einer eher akademischen Fingerübung hat sich Hadoop zu einer ernst zu nehmenden Technologie entwickelt, mit der sich große Datenbestände erfassen und analysieren lassen - Stichwort Big Data. Mittlerweile bieten nicht nur Spezialisten wie Cloudera, MapR und Hortonworks Hadoop-Distributionen an, die auf den Einsatz in Unternehmen zugeschnitten sind. Auch Schwergewichte der IT-Branche wie IBM, Microsoft und Amazon Web Services engagieren sich in diesem Bereich.
Der "kleine Elefant" Hadoop hat mittlerweile rund zehn Jahre auf dem Buckel. Ursprünglich wurde das Open-Source-Framework für die Verarbeitung, das Speichern und Analysieren von großen Mengen unstrukturierter Daten von Doug Cutting und Mike Cafarella bei Yahoo entwickelt. Cutting gab dem Projekt auch den Namen: Hadoop hieß der Plüschelefant seines kleinen Sohnes.
Mittlerweile wird Hadoop als Open-Source-Software (http://hadoop.apache.org/) unter der Schirmherrschaft der Apache Software Foundation weiterentwickelt. Zu den Grundprinzipen von Hadoop zählt das Scale-out, eine horizontale Skalierung mittels Server-Clustern:. Bei Bedarf werden weitere Server in das Cluster integriert. Umstritten ist, ob Hadoop mit Standard-Prozessoren, etwa x86-/x64-CPUs von Intel oder AMD, die bessere und preisgünstigere Wahl für solche Systeme ist. Laut einer Studie von Microsoft kommt es auf die "Jobs" an, also die Art und den Umfang der Datenverarbeitungsprozesse. Statt eines kleinen Clusters ist es demnach in manchen Fällen besser, einen großen Scale-up-Server einzusetzen.
Hadoop besteht aus zwei Kernelementen:
• Erstens dem verteilten Dateisystem Hadoop Distributed File System (HDFS). Es ist für die Speicherung und das Management großer Mengen unstrukturierter Daten ausgelegt. Allerdings haben einige Anbieter von Hadoop-Distributionen HDFS gegen andere Dateisysteme ausgetauscht, beispielsweise MapR.
• Zweitens MapReduce, seit Version 2 von Hadoop als YARN (Yet Another Resource Negotiator) bekannt. Dieses Framework ist für die parallele, verteilte Bearbeitung von Daten in einer Cluster-Umgebung zuständig.
Eine Hadoop-Implementierung wiederum besteht aus folgenden Cluster-Komponenten:
• Name Nodes: Sie stellen Informationen darüber bereit, auf welchen Cluster-Knoten einzelne Daten lagern und ob Knoten ausgefallen sind.
• Secondary Nodes: Sie entlasten die Name Nodes.
• JobTracker: Diese Knoten koordinieren die MapReduce-Jobs und sind für die Verarbeitung der Daten zuständig.
• Slave Nodes: Sie sind die "Arbeitstiere" im Hadoop-Cluster und speichern die Daten.
Hadoop arbeitet nach dem Prinzip "Teilen, parallel verarbeiten, wieder zusammenführen". Große Datenmengen werden in kleine Häppchen unterteilt und separat von Mitgliedern eines Clusters bearbeitet. Die Resultate dieser Einzelanalysen führt die Software anschließend wieder zusammen. Eine weitere Besonderheit von Hadoop ist, dass der Programmcode zu den Daten transferiert wird, nicht - wie üblich - die Daten zur Software. Dies erhöht die Leistung und reduziert die Datenmengen, die über das Netz transportiert werden müssen.
Eingeschränkte Echtzeitfähigkeit
Als Schwachpunkt von Hadoop gilt, dass es im Prinzip auf einer Batch-Verarbeitung basiert. Dies beeinträchtigt die Bearbeitungsgeschwindigkeit der Daten und führt dazu, dass sich die ursprüngliche Version von Hadoop nur eingeschränkt für die Echtzeitanalyse großer Informationsmengen eignet.
Dieses Manko sollen Erweiterungen wie Storm und Tez beseitigen, Projekte, die ebenfalls unter dem Dach der Apache-Stiftung und in der "Hadoop-Ökosphäre" angesiedelt sind. Zudem stellen Anbieter von Hadoop-Distributionen eigene Werkzeuge bereit, die Echtzeitanalysen ermöglichen. Ein Beispiel dafür ist Elasticsearch. Die Software der gleichnamigen Firma arbeitet mit der Hadoop-Distribution von Hortonworks zusammen. Elasticsearch wird parallel zu Hortonworks installiert und wertet Daten aus CRM- und ERP-Systemen aus, ebenso Click-Streams und Log-Informationen.
Hadoop im Reinformat oder Distribution
Anwender haben drei Optionen, um Hadoop zu nutzen. Erstens können sie auf die Basisversion von Apache Hadoop zurückgreifen. Diese ist als Open Source kostenlos verfügbar, setzt jedoch beträchtliches Know-how beim Nutzer voraus. Das betrifft insbesondere das Aufsetzen und Verwalten eines Hadoop-Server-Clusters. Zwar stehen etliche Tools zur Verfügung, die im Rahmen anderer Apache-Hadoop-Projekte entwickelt werden. Doch müssen diese quasi von Hand implementiert und aufeinander abgestimmt werden.
Für Unternehmen einfacher zu handhaben sind Hadoop-Distributionen, also Pakete, die aus der Basissoftware, Tools und teilweise herstellerspezifischen Erweiterungen bestehen. Anbieter solcher Distributionen sind beispielsweise Amazon, Cloudera, EMC, Hortonworks, IBM, MapR und Microsoft. Ein Vorteil für Unternehmenskunden besteht darin, dass sie vom Hersteller ein integriertes Softwarepaket erhalten, das sich einfacher konfigurieren lässt als die Grundversion von Hadoop. Hinzu kommt die technische Unterstützung durch den Hersteller.
Die dritte Option sind Big-Data-Suites. Sie setzten teilweise auf Hadoop auf, können jedoch auch andere Frameworks nutzen. Im Vergleich zu Hadoop-Distributionen bieten Suiten unter anderem Tools für die Datenmodellierung, Visualisierung, Echtzeitanalyse und ETL-Prozesse (Extract, Transfer, Load). Anbieter solcher Big-Data-Suites sind Teradata, Tableau Software und Talend. Aber auch etablierte Unternehmen aus dem Datenbank- und Business-Intelligence-Umfeld wie IBM, Oracle und SAP haben entsprechende Produkte entwickelt.
Hadoop-Einsatzgebiete
Die klassischen Einsatzgebiete von Hadoop entsprechen denen, die generell im Big-Data-Umfeld anzutreffen sind. Immer wichtiger werden beispielsweise das Auswerten des Nutzerverhaltens auf Social-Media-Plattformen und die Click-Stream-Analyse der Aktivitäten von Usern auf Websites. Aufgrund dieser Daten können Unternehmen frühzeitig Trends erkennen oder feststellen, welche Nutzergruppen sich für bestimmte Angebote, Produkte oder Themen interessieren.
Ebenfalls für Unternehmen aus der Internet- und Online-Branche sind Auswertungen interessant, wie zum Beispiel Inhalte (Content) von Adressaten aufgenommen und genutzt werden. Solche Untersuchungen lassen sich mit Big-Data-Auswertungen bis auf die Ebene der benutzten Endgeräte (Smartphones, Tablets), Content-Formate und Nutzergruppen herunterbrechen. Wenn vorhanden, lassen sich demografische und weitere personenbezogene Informationen in die Analysen einbinden.
Ein weiteres Anwendungsfeld ist die Auswertung von Informationen, die Maschinen und Netzsysteme bereitstellen. Das viel zitierte "Internet der Dinge" wird in kommenden Jahren maßgeblich zum Anstieg der Datenmengen beitragen. Sensoren, Mess- und Steuerungssysteme, RFID-Chips und Near-Field-Communication-Bausteine (NFC) liefern Daten in unterschiedlichen Formaten, die auf vielfältige Weise genutzt werden können, etwa um die Transportwege und Vorratshaltung von Waren zu optimieren oder in der Verkehrsplanung. Service-Provider wiederum können durch Auswertung der Auslastung von Mobilfunk-, DSL- und Kabel-TV-Netzen ihre Infrastruktur besser auf das Nutzerverhalten abstimmen.
Weitere Einsatzfelder sind die Finanzanalyse, die Risikobewertung, der Schutz vor Cyber-Angriffen durch die Auswertung von Datenverkehrsmustern und komplexe Forschungsprojekte, etwa in der Klimaforschung. Dies ist nur ein kleiner Ausschnitt der potenziellen Anwendungsgebiete von Big Data und damit auch Hadoop.
Was Hadoop kostet
Laut einer Umfrage der Marktforschungsgesellschaft IDC unter Nutzern von Hadoop gaben rund 50 Prozent der Unternehmen zwischen 100.000 und 200.000 Dollar dafür aus, vorhandene Datenbestände in eine Hadoop-Infrastruktur zu überführen (Migration). Ein Teil davon entfiel auf einmalige Aufwendungen, etwa für die Entwicklung von Modulen für das erstmalige Konvertieren von Daten. Hinzu kommen laufende Kosten für die Infrastruktur. Pro Server, so IDC, müsse ein Unternehmen ungefähr 1600 Dollar im Jahr veranschlagen.
Immerhin gaben 82 Prozent der Befragten an, dass sich diese Investitionen nachweislich ausgezahlt hätten. Dennoch ist der Anteil derjenigen, die den Nutzen von Hadoop nicht quantifizieren können, mit 18 Prozent relativ hoch.
Potenzielle Schwachpunkte von Hadoop
In Online-Foren diskutieren Nutzer von Big-Data-Lösungen teilweise höchst kontrovers über die Vor- und Nachteile von Hadoop. Laut Guy Harrison, Executive Director R&D in der Software-Sparte von Dell, weist Hadoop in folgenden Bereichen Schwachpunkte auf:
• Backup: Von Ausnahmen abgesehen (MapR mit einer Snapshot-Funktion) sind bei Hadoop nur rudimentäre Backup- und Disaster-Recovery-Funktionen vorhanden. Das ist angesichts der strategischen Bedeutung von Big-Data-Projekten in vielen Unternehmen hoch problematisch. Die oft zitierte mangelnde Fehlertoleranz von Hadoop ist dagegen mittlerweile kein Thema mehr.
• Echtzeitfähigkeit: Die Auswertung von Daten in Echtzeit zählt nicht zu den Stärken von Hadoop.
• Verwaltung von Ressourcen: Sie ist aus Sicht des Dell-Managers ebenfalls verbesserungsfähig. So seien Funktionen, die eine Blockade von geschäftskritischen Operationen durch Ad-hoc-Anfragen verhindern, noch nicht ausgereift.
• Sicherheit: Dies ist einer der am häufigsten kritisierten Punkte. User, die sich an einen Hadoop-Cluster angemeldet haben, besitzen im Normallfall Zugang zu allen Daten, die dort lagern. In der Praxis ist es laut Harrison denn auch üblich, den Nutzern umfassende Zugriffsrechte auf Daten einzuräumen. Allerdings ist Besserung in Sicht, etwa durch das von Intel angestoßene Projekt "Rhino". Es stellt eine hardwareunterstützte Verschlüsselung und eine Mehrfaktor-Authentifizierung, inklusive Single-Sign-on, für die einzelnen Hadoop-Ressourcen bereit. Intel hat Rhino in seine eigene Hadoop-Distribution integriert. Zudem ermöglichen es Rhino und ein weiteres Projekt namens Accumulo, den Zugriff auf Daten bis hinab auf die Ebene eines Record (Datensatzes) zu steuern.
• Anbindung an externe Tools: Die Anbieter von Hadoop-Distributionen verwenden eigene, proprietäre Enterprise-Monitoring-Konsolen. Die Anbindung an andere Lösungen wie Openview und Foglight für die Überwachung der Performance ist nicht vorgesehen.
Hinzu kommt ein Faktor, der weniger mit Technik als mit der Situation auf dem Arbeitsmarkt zu tun hat: der Mangel an Data Scientists, also Fachleuten, die letztlich Big-Data-Analysen beherrschen.
Fazit
Hadoop ist für Unternehmen, die eine Big-Data-Lösung suchen, ein interessanter Ansatz. Für die Open-Source-Software spricht vor allem ihre hohe Flexibilität, bedingt durch die vielen Ergänzungen, die in der Hadoop-Ökosphäre zur Verfügung stehen. Allerdings liegt darin auch eine Gefahr: Wer aus den Basiskomponenten und Erweiterungen eine maßgeschneiderte Hadoop-Implementierung zusammenstellen möchte, benötigt das entsprechende Know-how und muss genügend Zeit für das Aufsetzen und Testen einplanen. Komfortabler sind daher für Unternehmen vorkonfigurierte Hadoop-Distributionen inklusive eines guten technischen Supports durch den Hersteller. (pg)