Lösung für Big Data

Hadoop und SQL rücken enger zusammen

11.11.2013 von Jens Albrecht und Sascha Alexander
Das Hadoop-Framework hat sich zu einem De-Facto-Standard für Big-Data-Anwendungen gemausert. Damit einher geht eine wachsende Bedeutung der Open-Source-Technik für den kommerziellen Datenbank-Markt.

Innovative Lösungen setzen die alteingesessenen Datenbankhersteller unter Druck, Hadoop mit ihren relationalen Datenbanksystemen zu verknüpfen. Klassische relationale Datenbanksysteme stoßen im Umfeld von Big Data vielfach an ihre Grenzen, denn große Datenbanken im Multi-Terabyte-Bereich erfordern schnellen Storage, leistungsstarke Server und damit meist auch viele CPU-Lizenzen. Als Ergänzung setzen Unternehmen deshalb inzwischen immer häufiger das Open-Source-Framework Hadoop ein. Apache Hadoop besteht im Kern aus zwei Komponenten:

Hadoop - der neue Stern am Datenbankhimmel
Foto: Apache.org

Stärken und Schwächen von Hadoop

Hinter MapReduce verbirgt sich grundsätzlich das Programmierparadigma, Rechenaufträge stark parallelisiert auf einer Vielzahl von Rechnerknoten abzuarbeiten. MapReduce basiert dabei im Kern auf Ideen von Google, das den Algorithmus ursprünglich dazu entwickelt hat, um einen eigenen Such-Index aus den Web-Inhalten zu erstellen. Ein wesentliches Ziel des Verfahrens ist die parallele Verarbeitung von Jobs auf einer Low-Cost-Hardware-Infrastruktur bestehend aus Standard-Servern. Neben der Skalierungsfähigkeit liegt der große Vorteil eines solchen Gesamtsystems in seiner Fehlertoleranz: Ausfälle einzelner Maschinen lassen sich jederzeit tolerieren und durch die anderen Rechner auffangen.

Allerdings werden bei der Hadoop-Implementierung für jeden Prozessschritt eigene Betriebssystemprozesse gestartet, so dass das Verfahren grundsätzlich etliche Sekunden Overhead benötigt. Sofern wie bei Google oder Yahoo viele Dateien im Batch gelesen und verarbeitet werden müssen, fällt dieser Overhead nicht ins Gewicht. Interaktive Analysen auf relationalen Datenbanken sind damit aber nicht möglich. Hadoop eignet sich daher zunächst nur für die Speicherung und Vorverarbeitung von Big Data. Für Business Intelligence auf polystrukturierten Daten im HDFS ist das Framework nicht ohne weiteres einsetzbar.

Im Kern sind MapReduce-Jobs Java-Programme. Allerdings bietet Hadoop mit der Zusatzsoftware "Hive" einen relationalen Wrapper. Hive übersetzt klassische SQL-Anfragen in MapReduce-Code und führt ihn aus. Ein Zugriff auf Hadoop via Open Database Connectivity (ODBC) und Java Database Connectivity (JDBC), den herkömmlichen Verbindungswegen in eine relationale Datenbank, ist damit prinzipiell möglich. Allerdings unterstützt Hive nur SQL-Basisfunktionen und arbeitet aufgrund der Verwendung des MapReduce-Frameworks ebenso Batch-orientiert.

Auch wenn Lizenz- und Hardware-Kosten für Hadoop auf den ersten Blick gering erscheinen, gilt es für Anwender, einige weitere Kostenfaktoren zu beachten. Sowohl beim Betrieb als auch für den Zugriff auf die Daten ist Spezialwissen erforderlich, das häufig extern eingekauft werden muss. Zudem fehlen in der Apache-Basisversion für den geschäftskritischen Betrieb notwendige Überwachungs- und Sicherheitsfunktionen. Kommerzielle Distributionen von Cloudera, Hortonworks oder IBM schaffen hier zwar Abhilfe, verursachen allerdings im Gegenzug Lizenz- und Wartungsgebühren, die den Kostenvorteil schrumpfen lassen.

Best in Big Data 2013 - Die Finalisten -
Best in Big Data 2013 - Die Finalisten
Die COMPUTERWOCHE kürt zum zweiten Mal die besten Big-Data-Projekte und -Tools. Am 24. September stellen sich die Anbieter der Jury und dem Publikum. Lesen Sie auf den folgenden Seiten, welche Teilnehmer in den Ring treten.
Actuate: BIRT Analytics
Actuate geht mit „BIRT Analytics“, einem Tool für Big-Data- Analytics, Visual Data Mining und Predictive Analytics, an den Start. Das Werkzeug enthält neben den Analysefunktionen ein integriertes Workflowund Kampangen-Management.
Berliner Morgenpost: Flugrouten-Radar
Die „Berliner Morgenpost“ hat eine interaktive Datenjournalismus- Anwendung umgesetzt, die Informationen zu Flügen sowie Flugspurdaten rund um die Hauptstadt auswerten und visualisieren kann.
Clueda "News Analytics" - Lotse durch den Informationsstau im Handelsraum
Nachrichten treiben Börsen. Deshalb müssen Börsenhändler in der Lage sein, in kürzester Zeit die Tragweite einer Nachricht zu verstehen und Entscheidungen zu treffen. Die Münchner Big-Analytics-Spezialisten der Clueda AG haben gemeinsam mit ihrem Kunden, der Baader Bank AG, ein Analyse-System entwickelt, das aus großen unstrukturierten Textmengen alle relevanten Informationen und Stimmungen in Echtzeit herausfiltert und so die Handelsentscheidung erleichtert.
Delphit: Social Forecast
Delphit schickt sein Tool „Social Forecast“ ins Rennen um die diesjährigen Best-in-Big-Data- Awards. Das Werkzeug erstellt quantitative Prognosen auf Basis von Mitarbeitereinschätzungen, um Entscheidungen in Unternehmen zu unterstützen.
Empolis Competitive Intelligence hört auch die schwachen Signale
Um im Wettbewerb zu bestehen, müssen Unternehmen der Konkurrenz immer einen Schritt voraus sein. Empolis hat mit "Competitive Intelligence" ein Tool entwickelt, das mittels semantischer Technologien große Mengen an unstrukturierten Daten automatisch analysiert und dabei auch die entscheidenden "schwachen Signale" ermittelt.
HP Big Data Discovery Experience - Big Data richtig pilotieren, validieren und umsetzen
Hewlett-Packard unterstützt mit "HP Big Data Discovery Experience" Anwender dabei, einen Business Case für Big-Data-Projekte zu rechnen sowie Pilotumgebungen zügig produktiv zu setzen.
hfp Informationssysteme GmbH: hfp openAnalyzer
Der „openAnalyzer“ von hfp stellt eine Datenanalyse-Plattform dar, die App-basiert strukturierte und unstrukturierte Daten einlesen, verarbeiten und wieder ausgeben kann.
IBM Infosphere Streams filtert Datenströme in Echtzeit
Um Daten effizient analysieren und nutzen zu können, benötigen die Unternehmen heute neue Methoden und Werkzeuge. IBM hat mit "Infosphere Streams" ein Tool entwickelt, das Daten in Echtzeit analysieren kann, ohne dass diese gespeichert werden müssen.
Michulke & Ringsdorf: INTTRA
Mit „INTTRA“ wendet Michulke & Ringsdorf sein System künstlicher Intelligenzen auf den europäischen Energiemarkt an. Dort wird aufgrund der immer stärkeren Integration unstet produzierender Energieträger wie Sonne und Wind die Planung von Angebot und Nachfrage an Strom für Energiehändler, Übertragungsnetzbetreiber und Kraftwerksbetreiber immer schwieriger.
Mindbreeze: InSpire
Mindbreeze bietet „InSpire“ als vorkonfigurierte, aufeinander abgestimmte Komplettlösung aus Hardware-Appliance und Softwarepaket an – für eine schnelle und umfangreiche Suche in allen Unternehmensdatenquellen.
n3 data & software science: Immobilien bewerten
ImmobilienScout24 bietet für seine Kunden neben der Vermarktung auch ein Online-Immobilienbewertungssystem an. Ein großer Teil der Metadaten der darin enthaltenen Objekte – wie etwa Baujahr, Baustil oder Heizanlage – liegt allerdings in Form von Fließtext in unstrukturierten Freitextfeldern vor und ist damit nur schwierig zu verarbeiten.
Pentaho Business Analytics ordnet Sounds im Netz
Über 200 Millionen Musiker stellen ihre Stücke in die SoundCloud. Um diese Daten sinnvoll zu sortieren und zu ordnen benötigten die Betreiber effiziente und leistungsstarke Big-Data-Werkzeuge. Mit Pentaho Business Analytics kann SoundCloud gezielter auf Wünsche und Anforderungen seiner Nutzer eingehen.
r4apps: PerForm
r4apps verspricht Anwendern mit „PerForm“ schnelle, interaktive Analysen von massiven strukturierten und unstrukturierten Daten.
Splunk holt die Informationen aus den Maschinendaten
Um Betrieb und Geschäft möglichst effizient zu betreiben, müssen Unternehmen aus ihren Maschinendaten alle wichtigen Informationen herausholen. Splunk bietet mit "Splunk Enterprise" eine Lösung, die sich flexibel konfigurieren und anpassen lässt, um Daten zu erfassen, auszuwerten und darzustellen.
Synop Systems: Synop Analyzer
Mit dem „Synop Analyzer“ bietet Synop Systems eine modular aufgebaute Big-Data-Analysesoftware an, mit der Fachanwender und Data-Mining-Experten interaktiv Zusammenhänge und versteckte Muster entdecken sowie Prognosen erstellen können.
Tableau Software: Tableau Desktop und Server
Die hohe Kunst von Big Data heißt für die Anwender, viele unterschiedliche Daten aus verschiedenen Quellen in den Griff zu bekommen sowie in diesem komplexen Zusammenspiel auch noch den Durchblick zu behalten und zudem die richtigen Schlüsse zu ziehen.
Talend Open Studio verbindet Big-Data-Quelle und -Ziel
Mit Open Studio for Big Data bietet Talend Anwendern ein grafisches Tool, mit dessen Hilfe sich der Austausch von Big Data zwischen beliebigen Quellen und Zielen einfach konfigurieren lässt.
VMS AG: SCOOP
Die VMS AG bringt mit „SCOOP“ ein Big-Data-Werkzeug für Predictive Operational Analytics zum diesjährigen Best-in-Big- Data-Award an den Start. SCOOP steht für „Seeking Cash Opportunities in Operational Processes“.

Relationale Datenbanken und Hadoop verknüpfen

Trotz dieser Beschränkungen lassen sich echte Big-Data-Anwendungen (mehrere Terabyte und polystrukturierte Daten) ohne Hadoop kaum wirtschaftlich realisieren. Von daher ist es nicht verwunderlich, dass praktisch alle namhaften Anbieter im Datenbankmarkt das quelloffene Framework auf die eine oder andere Weise in ihr Produktportfolio einbinden. Ein Import-Export-Konnektor für den direkten Datenimport aus Hadoop kann heute bereits als Standard angesehen werden. Basis hierfür ist in der Regel die zu Hadoop gehörende Anwendung "Sqoop" oder eine entsprechende hersteller-spezifische Adaption.

Viele Datenbanksysteme bieten über sogenannte External Tables alternativ die Möglichkeit, über SQL auf Dateien zuzugreifen. Die Daten, die zum Beispiel in Form von Text-Dateien abgelegt sind, werden dabei nicht in die relationale Datenbank geladen. Stattdessen werden die Dateien als "External Tables" deklariert. Man nennt dieses Verfahren auch "Schema-on-Read", da dabei das relationale Schema lediglich als virtuelle Struktur über die Dateien gelegt wird und somit auch unterschiedliche Schemata für ein und dieselbe Text-Datei möglich sind. Diesen Mechanismus haben beispielsweise Oracle, Teradata Aster, EMC Greenplum und Microsoft implementiert.

Eher Import als Interaktion

Da auch beim SQL-Zugriff auf Daten im HDFS über External Tables die Dateien immer komplett gelesen werden, eignet sich das Verfahren hauptsächlich für den Import in die relationalen Systeme und weniger für interaktive Datenzugriffe. Letzteren Aspekt adressieren einige neuentwickelte SQL-Datenbanken wie "Cloudera Impala", "EMC Pivotal HD/HAWQ", "Rainstor" oder "IBM BigSQL". Diese Systeme basieren nicht wie bislang üblich auf einem Unix- oder Windows-File-System, sondern auf dem Hadoop File System (HDFS). Ziel dabei ist es, eine kostengünstige, hochverfügbare, skalierbare Big-Data-Plattform bereitzustellen, die interaktive Abfragen mit SQL ermöglicht. Performance-Gewinne lassen sich dadurch erreichen, dass statt oder zumindest alternativ zum Hadoop-MapReduce-Verfahren eigene SQL-Engines eingesetzt werden, die für kurze Antwortzeiten statt für Batch-Verarbeitung optimiert sind.

Neben der Hadoop-Schnittstelle bieten einige Datenbankhersteller über eigene Implementierungen von MapReduce die Möglichkeit, Datenzugriffe durch spezielle User-Defined Functions innerhalb der relationalen Datenbank zu parallelisieren (In-Database MapReduce). So unterstützt beispielsweise "Teradata Aster" auf MapReduce basierende Built-In und User-Defined Table Functions, die sehr eng auf die eigene ohnehin parallel arbeitende Architektur abgestimmt sind. Auch Oracle bietet seit der Version 11 seines Datenbanksystems die Möglichkeit, mit Hilfe von Pipelined Table Functions das MapReduce-Paradigma zu nutzen. Darüber hinaus hat der US-amerikanische Softwarekonzern eine zu Hadoop Code-kompatible Neuimplementierung angekündigt.

Neben diesen klassischen relationalen Datenbanksystemen verfügen insbesondere NoSQL-Datenbanken, die ebenso wie Hadoop für die Skalierung auf kostengünstiger Hardware konzipiert wurden, über eigene MapReduce-Implementierungen. Beispiele sind "CouchDB", "MongoDB" oder "Riak".

Als richtungsweisend könnten sich hybride Systeme erweisen, welche über intelligente Mechanismen sowohl die klassische relationale Speicherung als auch die Datenablage in Hadoop unterstützen. Das erste System mit einem hybriden Ansatz war "Hadapt", das strukturierte Daten relational, unstrukturierte Daten hingegen im HDFS verwaltet. Für die relationale Verarbeitung wird auf jedem Knoten des Hadoop-Clusters eine Instanz von "PostgreSQL" betrieben. Ebenfalls in die Klasse der hybriden Systeme einzuordnen ist Microsofts "Polybase". Polybase ermöglicht die Integration von Hadoop in das "SQL Server Parallel Data Warehouse" (PDW). Einige Funktionalitäten, die sich effizienter auf der relationalen Seite als in Hadoop abbilden lassen, übernimmt dabei schon heute das PDW. Für die Zukunft ist eine Erweiterung des kostenbasierten Optimierers geplant, um dynamisch den Datenzugriff zu optimieren.

Wie reif ist Hadoop?

Hadoop ist längst den Kinderschuhen entwachsen und stellt eine sinnvolle Ergänzung der vorhandenen Datenhaltungssysteme für Big-Data-Anwendungen dar. Insbesondere bei Anwendungsfällen, in denen es um große Mengen unstrukturierter Daten geht, führt kaum ein Weg an dem Open-Source-Framework beziehungsweise einer der kommerziellen Distributionen vorbei.

Auch eine Integration mit vorhandenen relationalen Datenbanksystemen ist bereits heute meist problemlos möglich. Darüber hinaus werden Hadoop-basierte Systeme auch für die Ablage strukturierter Massendaten immer interessanter. Ähnlich wie beim hierarchischen Speicher-Management auf Ebene der Datenträger könnte die relationale Datenhaltung im Big-Data-Umfeld bald durch Hadoop-Komponenten kosten- und leistungsmäßig optimiert werden. (ba/sh)

Top 100: Big Data -
Big Data Vendor Benchmark 2013
Big Data beschreibt die Datendimensionen für die Business-Intelligence- und Business-Analytics-Aufgaben der Zukunft. Dabei wohnt Big Data ein Erkenntniskreislauf inne.
Big Data Vendor Benchmark 2013 – Deutschland – PROJECTS & CONSULTING
Die Anbieter für Projects & Consulting (Projektberatungsgeschäft) <br>Quelle: Experton Group
Big Data Vendor Benchmark 2013 – Deutschland – OPERATIONS
Die Anbieter im Bereich Big Data Operations<br>Quelle: Experton Group
Big Data Vendor Benchmark 2013 – Deutschland – DATENBANKEN
Die Anbieter von Datenbanklösungen für Big-Data- Projekte<br>Quelle: Experton Group
Big Data Vendor Benchmark 2013 – Deutschland – APPLIANCES
Die Anbieter von Big-Data- Appliances<br>Quelle: Experton Group
Big Data Vendor Benchmark 2013 – Deutschland – ANALYTICS
Die Anbieter von Big-Data-Analytics- Softwarelösungen<br>Quelle: Experton Group