Die neue Realität: Erweiterung des Data Warehouse um Hadoop, NoSQL & Co.

Datenintegration und Data Warehouse sind Technologien, die Unternehmen helfen, wertvolles Wissen aus ihren IT-Systemen zu bergen. Die Realität, in der BI-Werkzeuge eingesetzt werden, hat sich aber in jüngster Vergangenheit stark geändert: Viele Unternehmen erzeugen heute riesige Mengen an Daten und die wollen diese viel schneller als früher auswerten. Der klassische Data-Warehouse-Ansatz stößt in diesem Umfeld schnell an seine Grenzen. Big-Data-Technologien versprechen, den neuen Anforderungen gerecht zu werden und bieten vielversprechende Ansätze, um das althergebrachte Data-Warehouse-Konzept zu erweitern und zu modernisieren.

Die Grenzen des klassischen Data Warehouse in Zeiten von Big Data

Etwas angestaubt wirkt das aus den 80er Jahren stammende Konzept des Data Warehouse in Zeiten von Big Data, MapReduce und NoSQL. Das Data Warehouse ist eine Datenbasis, welche die steuerungsrelevanten Informationen aus allen operativen Quellen eines Unternehmens integriert. Während die operativen Systeme sich auf die Unterstützung der Tätigkeiten im Tagesgeschäft konzentrieren, liegt der Fokus des Data Warehouse auf Analysen und Berichten zur Steuerung des Unternehmens. Ziel ist es dabei, die Daten in Informationen zu verwandeln. Dieses Wissen hilft, bessere Entscheidungen zu treffen und Wettbewerbsvorteile zu erzielen: Wer seine geschäftlichen Tätigkeiten gut kennt, kann seinen Umsatz steigern und Kosten senken.

Für spezielle Anwendungen oder Organisationseinheiten lassen sich Data Marts erstellen. Das sind aufbereitete Abzüge des Data Warehouse. Data Marts sind in der Regel multidimensional aufgebaut und daher optimal von analytischen Anwendungen nutzbar. Das Data Warehouse bzw. die Data Marts stellen die zentrale Datenbasis für alle Analysen und Berichte im Unternehmen dar.

“#DataWarehouse bzw. #DataMarts als Basis für Analysen & Berichte in Unternehmen.“

Twittern WhatsApp

Data-Warehouse-Systeme basieren auf relationalen Datenbanksystemen (RDBMS). RDBMS sind seit einigen Jahrzehnten der Standard für die Speicherung von Daten. Sie werden daher nicht nur für operative, sondern auch für analytische Systeme eingesetzt. RDBMS bieten eine Reihe von Vorteilen für den Einsatz im Data Warehouse-Umfeld, u.a. eine hoch entwickelte Datenbanksoftware, SQL als mächtige und standardisierte Abfragesprache, viele Business Intelligence-Frontends und eine hohe Zuverlässigkeit und Konsistenz.

Konfrontiert mit extrem hohen Datenvolumina kann die Skalierung eines Data Warehouse aber schwierig sein. Verwendet man eine kommerzielle Datenbanksoftware, kann die Speicherung außerdem hohe Lizenzkosten nach sich ziehen. Eine weitere Schwierigkeit kann die fehlende Leistungsfähigkeit eines RDBMS bei hohen Datenvolumen sein. Bei umfangreichen Modellen ist es außerdem möglich, dass das Schema einer relationalen Datenbank nicht erweitert und angepasst werden kann. Daneben können auch die hohe Frequenz der Datenerzeugung und deren Speicherung eine Herausforderung darstellen. Weil immer mehr Daten in nicht standardisierten Formaten in den Mittelpunkt des Analyseinteresses rücken, stoßen relationale Datenbanken schnell an ihre Grenzen. Sie sind nicht auf die Speicherung von unstrukturierten Daten ausgelegt und stellen damit keine ideale Lösung für den Umgang mit heterogenen Datenformaten dar. [PEN13]

Aus diesen Gründen haben sich unterschiedliche technologische Ansätze entwickelt, die ich in den folgenden Abschnitten vorstelle. Im Mittelpunkt steht dabei das Zusammenspiel zwischen dem Data Warehouse und den Big Data Stores, weil aus der Kombination beider Synergien entstehen können.

Neue Mitspieler: analytische Datenbanken

Analytische Datenbanken sind eine vergleichsweise einfache und schnell durchführbare Erweiterung des Data Warehouse. Darunter werden Datenbankensysteme verstanden, die speziell für analytische Anwendungen konstruiert sind. Ihre Grundlage ist nach wie vor ein RDBMS, das aber nicht mehr die optimale Transaktionsverarbeitung zum Ziel hat, sondern schnelle Abfragen und eine hohe Verarbeitungsgeschwindigkeit.

Analytische Datenbanken nutzen eine Reihe besonderer Technologien, wodurch sie eine ganze Reihe neuer Möglichkeiten eröffnen:

  • Nutzung von Daten, deren Speicherung normalerweise zu teuer und deren Verarbeitung zu langwierig wäre
  • Nutzung von SQL als leistungsfähige, weit verbreitete Abfragesprache
  • Kompatibilität mit einer Vielzahl von Business Intelligence-Frontends
  • Vergleichsweise schnell zu implementieren und einfach zu administrieren
  • Geringe Ansprüche an die Hardware-Architektur

“5 Möglichkeiten, die analytische Datenbanken eröffnen. #Technologie #BigData“

Twittern WhatsApp

Im Kontext Big Data spielen diese Eigenschaften eine wichtige Rolle, weil sie die Abfrageperformance auf große Datenmengen massiv steigern. So können sehr große Datenbestände per SQL oder durch BI-Werkzeuge abgefragt und analysiert werden. Insbesondere letztere eröffnen Analysten und Controllern ein bislang unbekanntes Spektrum an Auswertungsmöglichkeiten, weil sich so große Datenbestände auch ohne IT-Kenntnisse intuitiv analysieren lassen.

Was nun die Erweiterung des Data Warehouse betrifft, ergeben sich bei analytischen Datenbanken unterschiedliche Optionen. Zum einen können unabhängige Data Marts aufgebaut werden. In diesem Szenario hat man kein Data Warehouse mehr als integrative Datenschicht für das gesamte Unternehmen, sondern baut themen- oder organisationsspezifische Data Marts direkt auf den operativen Quellen auf. Dieser Ansatz lässt sich schnell umsetzen, bringt aber Nachteile mit sich, was die Integration mit anderen Datenquellen betrifft. Die zweite Option ist die Entwicklung von Data Marts, die aus dem Data Warehouse und nicht aus den Quellen direkt gespeist werden. Dadurch wird auf die integrative Schicht zugegriffen, sodass ihre Vorteile erhalten bleiben. Das ist mit höherem Aufwand für die Modellierung und Entwicklung verbunden. [BEY10]

Erweiterung um NoSQL-Datenbanken

NoSQL-Datenbanken helfen, die Probleme der relationalen Datenbanken zu vermeiden: RDBMS können in bestimmten Anwendungsszenarien (zum Beispiel bei Streaming-Media-Applikation oder bei Webseiten mit hohen Lastaufkommen) Schwierigkeiten mit der Performance bekommen. Die vertikale und horizontale Skalierung sind aber nur eingeschränkt möglich und kostspielig. Außerdem ist man weniger flexibel bei der Erweiterung des Schemas, z.B. das Hinzufügen einer Tabellenspalte in Kombination mit großen Datenmengen.

NoSQL-Datenbanken können mit diesen Anforderungen besser umgehen (siehe Abbildung). Durch die horizontale Skalierbarkeit können sie große Datenmengen kostengünstig verarbeiten. Um die Ausfallsicherheit zu erhöhen, kann man die Daten auf mehrere Server replizieren. Durch die Verwendung einfacher Schemata in der Datenbank bietet NoSQL mehr Agilität und Flexibilität bei Anpassungen und Erweiterungen.

NoSQL im Kontext des Data Warehouse

NoSQL im Kontext des Data Warehouse | © Pentaho

Bedingt durch ihre Skalierbarkeit und Flexibilität bieten NoSQL-Systeme vielseitige Lösungsansätze für die Anforderungen von Big Data. Leider verfügen sie aber über nur wenige Abfragesprachen, die nicht an die Möglichkeiten von SQL heranreichen. Grund ist, dass Daten im NoSQL-Umfeld so gespeichert werden, wie sie von bestimmten Applikationen benötigt werden. Eine komplexe und mächtige Abfragesprache ist somit obsolet. Manager, Analysten und sonstige Businessanwender eines Data Warehouse legen allerdings großen Wert auf Funktionen wie Adhoc-Reporting, Dashboards und OLAP-Analysen. Für die Bereitstellung dieser analytischen Services spielt SQL daher aktuell noch eine tragende Rolle.

Zwei Alternativen gibt es hier: Zum einen können Berichte direkt auf der Datenbank über entsprechende Schnittstellen erstellt werden. Moderne BI-Software ermöglicht eine solche Umsetzung in Ansätzen. Der volle Funktionsumfang einer BI-Suite kann allerdings nicht erreicht werden, zumindest nicht beim aktuellen Stand der Technik. Die zweite Variante geht deshalb den Weg über das Data Warehouse basierend auf einem RDBMS. Die Vorteile von NoSQL werden also in den Applikationsdatenbanken genutzt, während die relationale Datenbank ihre Stärken als Data Warehouse ausspielt und die relevanten, aggregierten Daten speichert. [CAS13]

Erweiterung um Hadoop

Auch Hadoop setzt dort an, wo traditionelle Data Warehouse-Systeme an ihre Grenzen geraten (siehe Abbildung). Hadoop ist ein auf Open Source basierendes Framework für die Erfassung, Organisation, Speichern, Suchen und Analysieren von unterschiedlich strukturierten Daten auf einem Cluster von Standardrechnern. Durch diese Architektur kann Hadoop extrem skalieren und sehr große Datenmengen performant verarbeiten. Durch die Verwendung von Standard-Hardware lassen sich die Kosten niedrig halten.

Hadoop im Kontext des Data Warehouse

Hadoop im Kontext des Data Warehouse | © Pentaho

Hadoop stellt sowohl ein Datenarchiv als auch eine Plattform zur Datenanalyse und -aufbereitung dar. Es bietet die Basisfunktionalität eines Data Warehouse, ermöglicht also beispielsweise Aggregationen, Summen- oder Mittelwertbildungen. In Kombination mit anderen Technologien vervielfacht sich dadurch sein Nutzen enorm: Die Ergebnisse der Hadoop-Verarbeitung können im Data Warehouse oder Data Marts abgelegt werden, während die Rohdaten nur im Hadoop-System existieren. Die Analyse der veredelten Daten lässt sich dagegen mit allen Vorzügen einer Data Warehouse-Plattform durchführen, z.B. mit SQL als Abfragesprache (das von Hadoop unterstützte Hive ist nicht so leistungsfähig wie SQL).

Obwohl viele Hadoop-Anbieter Werkzeuge für einen performanten SQL-Zugriff auf Hadoop-Daten entwickeln, ist es momentan sinnvoller, Hadoop mit dem klassischen Data Warehouse-Ansatz zu kombinieren. Dabei wird das Data Warehouse nicht ersetzt, sondern sinnvoll ergänzt, um die Vorteile beider Welten nutzen zu können. Trotz aller Vorzüge ist Hadoop nämlich nicht für jeden Anwendungsfall geeignet, z.B. wenn nur geringe Datenmengen analysiert werden sollen. Die Einführung von Hadoop ist außerdem mit dem Aufbau eines nicht unerheblichen Wissensschatzes im Unternehmen verbunden. [ISR13][TDW13]

Big Data-Technologien im Zusammenspiel

Big Data-Technologien sollten in der Realität nicht isoliert genutzt werden, sondern in Kombination. Ein Beispiel dafür ist in der nächsten Abbildung zu sehen: eine Firma betreibt eine Webapplikation oder Webseite mit hohem Besucherverkehr. Die Daten sollen gesammelt werden, um das Verhalten der Besucher zu analysieren. Ziel ist eine so genannte Clickstream-Analyse der Webseitenbesuche und der Aktionen der Anwender. Basierend auf den Ergebnissen dieser Analyse kann das Marketing die Besucher besser verstehen und wertvolle Erkenntnisse aus ihrem Verhalten ableiten. Die Rohdaten dieser Analysen liegen in den Logs der Webserver.

Integrierte Big Data-Architektur

Integrierte Big Data-Architektur | © Pentaho

Die Daten der Webapplikation werden in einer NoSQL-Datenbank gespeichert. Das ist sinnvoll, weil die Datenbank mit den großen Mengen an Log-Daten effizient umgehen kann und über die Flexibilität verfügt, neue Datenobjekte unkompliziert ergänzen zu können. Fallen täglich mehrere 100 Millionen neue Datensätze an, wird ihre Verarbeitung mit traditionellen ETL- und Data Warehouse-Technologien zum Problem. Aus diesem Grund werden die Daten in Hadoop abgelegt. Hadoop ermöglicht eine extrem leistungsfähige Batch-Verarbeitung, um die Daten für die gewünschten Analysen aufzubereiten. So werden die Logdaten zu den Werten „Stunden“, „Hosts“ oder „Page Level“ verdichtet und mit Informationen aus anderen Quellen angereichert.

Nach diesem Schritt werden die relevanten Daten aggregiert in das Data Warehouse bzw. die analytische Datenbank geladen. Auf dieser Ebene steht der volle Funktionsumfang von SQL zur Verfügung und es werden unterschiedliche Technologien für performante Abfragen auf dem veredelten Datenbestand genutzt. Das sind optimale Voraussetzungen für Abfragen mit komplexen Filtern, Joins und Gruppierungen sowie die Nutzung von OLAP (Online Analytical Processing).

Selbstverständlich sind bei dieser Architektur noch verschiedene Kombinationen bzw. Datenströme möglich. Wie bereits dargelegt, kann man zum Beispiel ein Reporting direkt auf NoSQL aufsetzen oder die Logdaten direkt in Hadoop ablegen.

Totgesagte leben länger – Koexistenz des Data Warehouse mit den Big Data Stores

Wie in den vorangegangenen Absätzen deutlich wurde, ist das Konzept des Data Warehouse in Zeiten von Big Data aktueller denn je. Es bietet viele Vorteile und ermöglicht es, viele leistungsstarke BI-Frontends zu nutzen. Die Herausforderung bei der Konfrontation mit Big Data besteht deshalb mehr darin, es sinnvoll mit den neuen Technologien zu ergänzen und zu erweitern, um die Schwächen der klassischen Architektur auszugleichen. Um Daten aus unterschiedlichsten Quellen kombinieren und transformieren zu können, müssen außerdem Schnittstellen zu NoSQL, Hadoop, relationalen Datenbanken, Files und anderen Quellen vorhanden sein.

“Die neue Realität: Erweiterung des #Data #Warehouse um #Hadoop, #NoSQL & Co. #BigData“

Twittern WhatsApp

Diese Mühe lohnt sich, weil dadurch wertvolles Wissen gewonnen wird. Dieses Wissen kann von den Fachabteilungen für qualitativ bessere Entscheidungen genutzt werden. Die neue Realität bedeutet also nicht das Ende des alten Data Warehouse-Ansatzes, sondern den Aufbruch in eine Zukunft, die bessere und schnellere Analysen bedeutet – werden alte und neue Ansätze richtig miteinander kombiniert.

Literaturverzeichnis

  • [BEY10] BeyeNETWORK: Analytical Platforms: Beyond the traditional Data Warehouse, 2010
  • [CAS13] Joe Caserta: Intro to NoSQL Databases, 2013
  • [INM96] William H. Inmon: Building the Data Warehouse. John Wiley & Sons, 1996
  • [ISR13] isreport: Hadoop erschließt Big Data für Data Warehouses, 2013
  • [KIM13] Kimball, Ralph; Margy Ross: The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling (3rd ed.). Wiley, 2013
  • [PEN13] Pentaho: Driving Big Data, 2013
  • [TDW13] TDWI: Where Hadoop fits in your Data Warehouse architecture, 2013

Wie fühlen Sie sich nach der Lektüre dieses Blogbeitrags?

"Die neue Realität: Erweiterung des Data Warehouse um Hadoop, NoSQL & Co."