Big Data
29.12.2015
Big Data
1. Teil: „Kostengünstige Datenanalyse für Fachbereiche“

Kostengünstige Datenanalyse für Fachbereiche

Autor:
Kostengünstige Datenanalyse für FachbereicheKostengünstige Datenanalyse für FachbereicheKostengünstige Datenanalyse für Fachbereiche
shutterstock / is am are
Hadoop und NoSQL speichern und verarbeiten die Daten auf Standard-Hardware.
Bislang setzten Unternehmen auf Data-Warehouse-Techniken, um aus ihren IT-Systemen wichtige Erkenntnisse über ihr aktuelles Geschäft zu ziehen. In jüngster Zeit ist dieser Ansatz von der Realität überholt worden. Während des normalen Geschäftsbetriebs eines Unternehmens fallen heute Tag für Tag riesige Mengen an Daten an – sei es aus der Produktion, der Online-Präsenz oder den Sensordaten von Mobilgeräten und Maschinen.
  • Das richtige Big-Data-Tool: Die Auswahl der passenden Tools orientiert sich an den Kriterien Datenvielfalt und Geschwindigkeit, mit der die Ergebnisse zur Verfügung stehen sollen.
In einem solchen Szenario können täglich 100 Millionen neue Datensätze anfallen. Eine Verarbeitung mit klassischer Data-Warehouse-Technik stößt in diesem Umfeld schnell an ihre Grenzen. Besonders die Fachabteilungen stehen unter dem Druck, die Informationen aus dem Geschäftsbetrieb nahezu in Echtzeit auswerten zu müssen, was mit der klassischen Methode nicht möglich ist.
Neue Big-Data-Ansätze versprechen, den veränderten Anforderungen gerecht zu werden. Darunter finden sich Werkzeuge wie NoSQL und Hadoop, mit denen sich das klassische Data-Warehouse-Konzept erweitern und modernisieren lässt.

Skaleneffekte durch NoSQL

Relationale Datenbanken – wie sie bei Data Warehouses eingesetzt werden – können unter Last Schwierigkeiten mit der Performance bekommen. Typische Beispiele dafür sind Strea­ming-Media-Applikationen oder Webseiten mit hohem Lastaufkommen. Der Grund: Der bei SQL-Systemen erforderliche Verwaltungsmehraufwand bei der Skalierung führt ab einem bestimmten Punkt dazu, dass sich die Vorteile von SQL ins Negative kehren und die Performance deutlich sinkt. Dies gilt umso mehr, je größer der Skalierungs­bedarf wird.
  • Skalierbarkeit von Datenbanken: Bei hohem Datenaufkommen sinkt die Leistung von traditionellen SQL-Datenbanken deutlich, während sie bei NoSQL-Datenbanken nahezu gleich bleibt.
NoSQL-Datenbanken (Not only SQL) können mit diesen Anforderungen besser umgehen. Einerseits laufen sie auf Standard-Hardware und sind andererseits horizontal skalierbar, wodurch sie große Datenmengen kostengünstig verarbeiten können. Wichtige Vertreter dieser Datenbankgattung sind etwa MongoDB, Cassandra, CouchDB oder Neo4j.
Durch ihre Skalierbarkeit und Flexibilität passen NoSQL-Systeme optimal zu den Anforderungen von Big Data.
Ein großer Nachteil von NoSQL liegt jedoch in der Abfrage der gespeicherten Daten. Anders als bei relationalen Datenbanken, wo es die einheitliche und sehr mächtige Abfragesprache SQL gibt, existiert bei NoSQL bislang kein einheitlicher Standard über die Datenbanken hinweg. Für Funktionen wie Ad-hoc-Reporting, Dashboards und OLAP-Analysen spielt daher SQL aktuell immer noch eine tragende Rolle. NoSQL-Systeme lassen sich jedoch auch mit Data-Warehouse-Technik kombinieren, um von beiden Ansätzen zu profitieren, was besonders für Fachbereiche interessant ist.
2. Teil: „Grenzen überwinden mit dem Hadoop-Framework“

Grenzen überwinden mit dem Hadoop-Framework

Hadoop ist ein Open-Source-Framework vor allem für die Speicherung, Aufbereitung und Analyse von polystrukturierten großen Datenmengen. Die Anwendungsgebiete reichen vom rein technischen Einsatz als Staging Area, um die relevanten Daten vor der Transformierung eins zu eins aus den Vorsystemen zu sammeln, über ressourcenintensive Simulationen im Sandboxing-Bereich bis zu Clickstream-Analysen.
Hadoop skaliert ebenfalls horizontal und läuft auf kostengünstiger Standard-Hardware. Das zentrale Kennzeichen ist die parallele Architektur. Die wichtigsten Bestandteile von Hadoop sind das Hadoop Distributed File System (HDFS) und der MapReduce-Algorithmus, der eine parallele Verarbeitung gewährleistet.
HDFS untergliedert die Datensätze in Blöcke einer festen Größe und speichert sie redundant auf den in einem Cluster organisierten Server-Knoten. Durch die Redundanz ist es möglich, dass bei Ausfall eines Knotens die Verarbeitung der Datensätze an anderer Stelle wiederholt oder fortgesetzt werden kann.
Der Algorithmus MapReduce ist für die Berechnung der Daten zuständig. Dazu teilt Map­Reduce die gesamte zu untersuchende Datenmenge, die auf HDFS gespeichert wurde, ebenfalls in kleine Einheiten auf. Diese Einheiten werden dann in einer ersten Phase parallel und unabhängig voneinander auf den Datenknoten (DataNodes) bearbeitet, untersucht und als Zwischenergebnisse gespeichert. So werden zeit­intensive Datentransfers über das Netzwerk minimiert, der Cluster skaliert sehr gut und insgesamt erhöht sich die Geschwindigkeit der Datenverarbeitung. Dann folgen, ebenfalls parallel, weitere Auswertungen und schließlich die Präsentation der Ergebnisse. 
Hadoop wird vor allem dort eingesetzt, wo es darum geht, eine 360-Grad-Sicht auf Kunden zu haben, Weblogs, Maschinendaten aus der Fertigung oder Sensordaten auszuwerten. Mit Hilfe von Hadoop können die Fachbereiche – ohne IT-Abteilung – diese nur wenig strukturierten Daten selbst verarbeiten und analysieren.
3. Teil: „Hadoop-Cluster erfordern wenig Spezialwissen“

Hadoop-Cluster erfordern wenig Spezialwissen

Im Prinzip lassen sich alle Aufgaben, die berechenbar sind, durch den Einsatz von Hadoop-Clustern meistern. Eine der Möglichkeiten dabei ist, den dazu geeigneten Java-Programmcode zu erstellen. Manchmal ist das entsprechende Know-how in den Fachbereichen vorhanden. Ansonsten bieten IT-Dienstleister, beispielsweise CGI, Accenture, adesso, Capgemini oder msg Systems, die notwendige Unterstützung.
  • Unterschiedliche Big-Data-Lösungen: Hadoop unterteilt sich in Projekte, Distributionen und Big-Data-Suiten. Unterschiede gibt es bei Support, Funktionsumfang und Bedienkomfort.
Als weitere Möglichkeit empfiehlt sich der Einsatz der prozeduralen Hadoop-Erweiterung Apache Pig. Sie wurde 2006 von Yahoo entwickelt, um nicht hauptberuflichen Programmierern die Arbeit mit Hadoop zu erleichtern. Einen wesentlichen Beitrag dazu liefert die Skriptsprache Pig Latin. Sie soll, ähnlich wie dies die Office-Makrosprache VBA oder die Statistiksprache R in anderen Anwendungsszenarien getan haben, IT-affinen Mitarbeitern aus den Fachbereichen den Einstieg und den weiteren Einsatz von Hadoop leichter machen. Pig Latin beschreibt die Verarbeitungsschritte, die das Pig-
Latin-Framework dann in MapReduce-Jobs überführt.
Noch eine Option bietet Oracle Big Data SQL. Mit einer einzelnen Abfrage ist es damit möglich, auf Daten in relationalen Databases, in NoSQL-Datenbanken und in Hadoop zuzugreifen.

Hadoop-Einsatzbeispiele

Hadoop ist kein Ersatz für eine Data-Warehouse-Umgebung, wie sie von der IT-Abteilung betrieben, gepflegt und weiterentwickelt wird. Vielmehr ergänzt Hadoop die Data Warehouses. Während diese den strikten Regeln und Vorgaben einer unternehmensweiten IT-Governance folgen müssen, bietet eine Hadoop-Implementierung in einem Fachbereich mehr Spielräume in einer abgegrenzten Laborumgebung. Hier geht es traditionell um Exploration und interaktives Lernen.
  • Data Warehouse mit Hadoop-Cluster: Hadoop kombiniert mit einer NoSQL-Datenbank ist kein Ersatz für die klassische Data-Warehouse-Umgebung, sondern stellt vielmehr eine sinnvolle Ergänzung und Erweiterung für die Verarbeitung großer Datenmengen dar.
So kann etwa ein Mobilfunkanbieter Netzwerkdaten auswerten, um die Service-Qualität in solchen Regionen zu verbessern, in denen es überdurchschnittlich hohe Kundenabwanderungen gab. Die Aufgabe hier ist, Maßnahmen zu entwickeln und zu testen, um die Kundenbindungsrate zu steigern.
Im Bereich der Vertriebsförderung analysiert ein Automobilhersteller die Daten aus dem Pkw-Konfigurator im Web. Die Ergebnisse dienen als Grundlage, um gemeinsam mit Händlern die Verkaufsquote zu erhöhen. Die für Service zuständige Abteilung des Automobilherstellers wertet Daten zu Garantiefällen aus. Da es in der Vergangenheit deutliche Kritik von Kunden gab, die sich auch in verschiedenen Webforen widerspiegelte, ist es Aufgabe des Projekts, Lösungen zu finden, um die Produktqualität gezielt zu verbessern.
In all diesen Anwendungsszenarien unterstützt Hadoop die Fachbereiche dabei, das vorhandene, eher gering strukturierte Datenmaterial mit Hilfe von Hypothesen auszuwerten und Lösungsansätze zu entwickeln, die dann getestet, weiterentwickelt oder wieder verworfen werden.
Zeigt sich im Lauf der Zeit, dass sich daraus standardisierte Verfahren und Prozesse ergeben, finden sie Eingang in die IT-Governance. Dann ist die IT-Abteilung dafür zuständig.

mehr zum Thema