Erweiterung des Data Warehouse um Hadoop, NoSQL & Co.

Big Data gleicht Schwächen der klassischen Architekturen aus

| Autor / Redakteur: Stefan Müller / Nico Litzel

Der Autor: Stefan Müller ist Director Business Intelligence & Big Data / Prokurist bei it-novum
Der Autor: Stefan Müller ist Director Business Intelligence & Big Data / Prokurist bei it-novum (Bild: it-novum)

Datenintegration und Data Warehouse sind Technologien, die Unternehmen helfen, wertvolles Wissen aus ihren IT-Systemen zu bergen. Viele Unternehmen erzeugen aber heute riesige Mengen an Daten und wollen diese viel schneller als früher auswerten. Der klassische Data-Warehouse-Ansatz stößt in diesem Umfeld schnell an seine Grenzen. Allerdings versprechen Big-Data-Technologien, den neuen Anforderungen gerecht zu werden.

Das aus den 80er-Jahren stammende Konzept des Data Warehouse wirkt in Zeiten von Big Data, MapReduce und NoSQL etwas angestaubt. 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 oder die Data Marts stellen die zentrale Datenbasis für alle Analysen und Berichte im Unternehmen dar.

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, unter anderem eine hoch entwickelte Datenbanksoftware, SQL als mächtige und standardisierte Abfragesprache, viele Business Intelligence Frontends und eine hohe Zuverlässigkeit und Konsistenz.

Vorsicht! Lizenzkosten drohen

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.

Ergänzendes zum Thema
 
Der Autor

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

Im Kontext von 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.

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, zum Beispiel das Hinzufügen einer Tabellenspalte in Kombination mit großen Datenmengen.

NoSQL-Datenbanken können mit diesen Anforderungen besser umgehen (siehe Abbildung in der Bildergalerie). 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.

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 Ad-hoc-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.

Erweiterung um Hadoop

Auch Hadoop setzt dort an, wo traditionelle Data-Warehouse-Systeme an ihre Grenzen geraten (siehe Abbildung in der Bildergalerie). 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 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, etwa 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.

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 in der Bildergalerie 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.

Die Daten der Webapplikation werden in einer NoSQL-Datenbank gespeichert. Das ist sinnvoll, weil die Datenbank mit den großen Mengen an Logdaten 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 oder in 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.

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.

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.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 43147380 / Analytics)