Skip to main content

Data Warehouse

Data Warehouse in Zeiten von Big Data

Data Warehouse ist eine Softwarearchitektur, die Unternehmen seit vielen Jahren hilft, wertvolles Wissen aus ihren unterschiedlichen IT-Systemen zu bergen. Die Realität, in der diese Technologie eingesetzt wird, hat sich aber in jüngster Vergangenheit stark geändert: Heute erzeugen viele Unternehmen überproportional mehr Daten und die Reaktionsgeschwindigkeit für die Auswertung dieser Informationen hat sich drastisch verkürzt. Gleichzeitig nimmt der Wissensdurst von Organisationen und Unternehmen zu. 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..

Das klassische Data Warehouse

Während die operativen Systeme eines Unternehmens 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. Technologisch basieren Data Warehouse-Systeme auf relationalen Datenbanksystemen (RDBMS), die eine Reihe von Vorteilen bieten:

  • Ausgereifte, hoch entwickelte Datenbanksoftware

  • Weit verbreitetes, schnell verfügbares Wissen

  • SQL als mächtige und standardisierte Abfragesprache

  • Viele Business Intelligence-Frontends verfügbar

  • Hohe Zuverlässigkeit und Konsistenz

  • Umfangreiche Security-Features für die Zugriffskontrolle

  • Backup- und Rollback-Features bei Datenverlusten

Die benötigten Daten werden mit Extraktions-, Transformations- und Ladeprozessen (sogenannte ETL-Prozesse) automatisiert und zeitgesteuert in das Data Warehouse geladen. Während dieser Prozesse werden die Daten angereichert, aggregiert und veredelt.

Je nach Architekturansatz lassen sich zusätzlich Data Marts aufbauen. Das sind für spezielle Anwendungen oder Organisationseinheiten 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.

Festhalten läßt sich, dass der Einsatz von relationalen Datenbanken und Data Marts für die meisten heute gebräuchlichen Data Warehouse Anwendungsfälle eine gute Wahl ist.

Die Grenzen klassischer Data Warehouses

Grenzen klassischer Data Warehouses

Konfrontiert mit extrem hohen Datenvolumina kann die Skalierung eines Data Warehouse sehr schwierig sein. Verwenden Unternehmen eine kommerzielle Datenbanksoftware, kann die Speicherung zudem hohe Lizenzkosten nach sich ziehen. Das schreckt viele Unternehmen ab, weshalb sie ihre Daten nicht analysieren und das Wissen darin nicht nutzen.

Eine weitere Schwierigkeit kann die fehlende Leistungsfähigkeit eines RDBMS bei hohen Datenvolumen sein. Davon können die ETL-Prozesse, aber auch die Abfragegeschwindigkeit betroffen sein. Neben dem reinen Volumen können auch die hohe Frequenz der Datenerzeugung (Millionen einzelner Transaktionen pro Sekunde) 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.

Um den gestiegenen Anforderungen gerecht zu werden, kommen neue Technologien ins Spiel.

Erweiterung des Data Warehouse um Hadoop, NoSQL & Co

Um die Beschränkungen von RDBMS zu überwinden wurden verschiedene technologische Ansätze entwickelt: NoSQL-Datenbanken, Apache Hadoop und analytische Datenbanken.

NoSQL steht für „Not only SQL“. Datenbanken dieser Kategorie sind Open Source, horizontal skalierbar, schemafrei, verteilt und verfügen über ein nicht-relationales Modell. Typische Anbieter in dieser Kategorie sind z.B. MongoDB, Cassandra, Neo4J oder CouchDB.

Alternative zu RDBMS: NoSQL Datenbanken

Die Nutzung von NoSQL bietet für Anwender folgende Vorteile:

  • Scale-out: kostengünstige, horizontale Skalierung
  • Hochperformante Datenbanken für Realtime-Applikationen
  • Schnelle und einfache Anpassung des Datenbankschemas
  • Hohe Agilität für explorative Entwicklungen im Big Data-Umfeld
  • Speicherung von wenig strukturierten Daten möglich

Ein Problem ist allerdings der Mangel an Abfragesprachen, die allesamt nicht an die Möglichkeiten von SQL heranreichen. Daten werden in NoSQL-Datenbanken so abgelegt, wie sie die Applikationen benötigen, was eine mächtige Abfragesprache überflüssig macht. BI-Anwendungen sind aber von SQL abhängig.

Expertenempfehlung

NoSQL-Datenbanken lassen sich auf zwei Wegen sinnvoll einsetzen: Einige moderne BI-Anwendungen ermöglichen bereits in Ansätzen, über entsprechende Schnittstellen Berichte direkt aus der Datenbank zu erstellen. Ihr voller Funktionsumfang lässt sich so aktuell aber nicht nutzen. Alternativ führt der Weg über das Data Warehouse. Dabei werden die Vorteile von NoSQL in den Applikationsdatenbanken genutzt, während für Analysen die Daten in das Data Warehouse geladen werden, wo die relationalen Datenbanken ihre Stärken ausspielen.

Hadoop als Data Warehouse Plattform

Apache Hadoop setzt dort an, wo traditionelle Data Warehouse-Systeme an ihre Grenzen stoßen. Das Grundproblem beim Einsatz herkömmlicher Data Warehouse-Technologien ist der rapide Anstieg der Betriebskosten, wenn große Datenmengen verarbeitet werden. Zudem werden immer mehr unstrukturierte Daten erzeugt, die nicht in die Logik eines Data Warehouse passen. Hadoop ist keine Datenbank, sondern besteht aus dem verteilten Dateisystem HDFS und dem MapReduce-Framework zur Verarbeitung der Daten.

Hadoop ist ein Open Source-basiertes Framework für die Erfassung, Organisation, Speicherung, Suche und Analyse unterschiedlich strukturierter Daten auf einem Cluster von Standardrechnern. Durch diese Architektur kann Hadoop extrem skalieren und sehr große Datenmengen performant verarbeiten. Die Verwendung von Standard-Hardware sorgt zudem dafür, dass die anfallenden Hardwarekosten überschaubar bleiben und ermöglicht ein ausgezeichnetes Preis-Performance-Verhältnis. Neben der reinen Open Source-Version der Software existieren einige kommerzielle Distributionen, wie zum Beispiel Cloudera, Hortonworks oder MapR.

Hadoop zeichnet sich vor allem durch die folgenden Merkmale aus:

  • Java-basiertes Open Source-Framework
  • Hadoop Distributed File System (HDFS) als verteiltes Dateisystem
  • MapReduce-Algorithmus für die parallele Verarbeitung der Daten
  • Hive als Data Warehouse-Datenbank auf Hadoop
  • Hbase als NoSQL-Datenbank auf Hadoop

Das Hadoop-Framework ermöglicht die Verarbeitung sehr großer Datenmengen und bringt technologisch einige Vorteile mit sich:

  • Schnelle und einfache Skalierbarkeit des Clusters
  • Hohe Verarbeitungs- und Analysegeschwindigkeit durch Parallelisierung
  • Gleichzeitige Verarbeitung mehrerer Datentypen (strukturiert, halbstrukturiert, unstrukturiert)
  • Hohe Flexibilität für die explorative Analyse von Big Data
  • Niedrige Kosten durch Open Source und Standard-Hardware

Expertenempfehlung

Der Nutzen von Hadoop vervielfacht sich, wenn es in Kombination mit anderen Technologien genutzt wird: Die Ergebnisse der Hadoop-Verarbeitung können in einem Data Warehouse oder in Data Marts abgelegt werden, wo sie sich dann mit allen Vorteilen einer Data Warehouse-Plattform nutzen lassen. Die eigentlichen Rohdaten existieren dabei weiter nur im Hadoop-System.

Zwar entwickeln derzeit nahezu alle Anbieter von Hadoop-Distributionen auch Werkzeuge für einen performanten SQL-Zugriff auf Daten in Hadoop. Doch auch wenn diese Entwicklungen vielversprechend sind, beim aktuellen Stand der Technik ist es sinnvoller, Hadoop mit dem klassischen Data Warehouse-Ansatz zu kombinieren.

Analytische Datenbanken

Analytische Datenbanken sind eine vergleichsweise einfache und schnell umsetzbare Erweiterung des Data Warehouse. Typische Vertreter sind beispielsweise die Datenbanken InfiniDB, Infobright, Vertica, oder Vectorwise. Es sind Datenbanksysteme, die zwar auch auf relationalen Datenbanksystemen (RDBMS) aufbauen, aber für schnelle Abfragen optimiert sind.

Best Fit
Dynamische Analysen
Good Fit
Statische Analysen
Not a fit
Heavy OLTP
Primärer Use Case
  • viele Adhoc-Abfragen
  • Near Realtime Antwortzeiten
  • schnelle Ladeprozesse
  • viele Daten / schnelle Abfragen
  • Aggregationen: Count, Summe usw.
  • hohe Kompression
  • schnelles Deployment
  • End of Day Report
  • unterschiedliche Intensität der Abfragen
  • mäßige Änderung der Daten
  • einfache Joins
  • Beladung über Batch-Prozesse
  • viele Transaktionen
  • hohe referentielle Integrität
  • Zero downtime
Abfrage-Charakteristik
  • analyseintensive Abfragen
  • Standard Datentypen
  • eingeschränkte Anzahl an Joins
  • Abfragen gemischter Intensität
  • Abfragen gegen Data Marts
  • Standard SQL-Abfragen
  • viele Updates
  • sehr häufige Änderungen
  • Updates über mehrere Tabellen
Exemplarische Abfragen
  • durchschnittliche Clicks pro Besuch
  • Gesamtzahl der Besuche
  • Gesamte Besuchszeit
  • Gesamte Bounce-Rate
  • Anzahl der Kunden je Region
  • Umsatz je Region
  • durchschnittlicher Verkaufspreis
  • Absatz je Produkt
  • Anzahl Neukunden je Monat
  • Top-Seller
  • Update Kontensaldo
  • Löschung des Warenkorbs

Analytische Datenbanken nutzen verschiedene Technologien, um die Datenverarbeitung zu beschleunigen.

Dazu gehören:

  • Spaltenorientierung
  • Massive parallele Verarbeitung (MPP)
  • Datenkompression
  • In-Memory Speicherung.

Dadurch eröffnen sich eine Reihe von Möglichkeiten:

  • Nutzung von Daten, deren Speicherung normalerweise zu teuer und deren Verarbeitung zu langwierig wäre
  • Nutzung von SQL als leistungsfähige, weitverbreitete Abfragesprache
  • Kompatibilität mit einer Vielzahl von Business Intelligence(BI)-Frontends
  • Vergleichsweise schnell zu implementieren und einfach zu administrieren
  • Keine besonderen Ansprüche an komplexe Hardware-Architekturen

Expertenempfehlung

Analytische Datenbanken lassen sich leicht als Ergänzung zum Data Warehouse einsetzen, indem damit unabhängige Data Marts aufgebaut werden. Die Daten beziehen diese themen- oder organisationspezifischen Data Marts direkt aus den operativen Quellen. Durch die Datenduplizierung zwischen Data Marts entsteht dabei allerdings die Gefahr von Konsistenzproblemen. Außerdem wächst der Aufwand proportional zur Anzahl der Data Marts. Alternativ können Data Marts auch aus dem Data Warehouse gespeist werden. Da sie dabei auf die integrative Schicht des Data Warehouse zugreifen, bleiben dessen Vorteile erhalten. Allerdings erfordert diese Lösung einen höheren Aufwand für Modellierung und Entwicklung.

Big Data-Technologien im Zusammenspiel mit dem Data Warehouse

Lassen sie uns einen Blick auf Anwendungsszenarien werfen und aufzeigen, wie sich unterschiedliche Big Data-Technologien sinnvoll kombinieren lassen.

Betreibt beispielsweise eine Firma eine Webapplikation oder Webseite, die viel Traffic generiert, und will die Daten sammeln, um das Verhalten der Besucher zu analysieren, drängt sich ein kombinierter Ansatz geradezu auf. Das Ziel ist es, eine sogenannte Clickstream-Analyse der Websitebesuche und der Aktionen der Anwender zu erstellen.

Diese Analyse hilft dem Marketing, die Besucher besser zu verstehen und wertvolle Erkenntnisse aus ihrem Verhalten abzuleiten.

Log-Daten in NoSQL-Datenbank speichern

Die für diese Analysen benötigten Rohdaten liegen in den Logs der Webserver vor. Es ist sinnvoll, die Daten der Webapplikation direkt in einer NoSQL(Not only SQL)-Datenbank zu speichern, weil die Datenbank effizient mit den großen Mengen an Log-Daten umgehen kann. Außerdem verfügt sie über die notwendige Flexibilität, um neue Datenobjekte unkompliziert zu ergänzen.

Nehmen wir für unser Beispiel an, dass täglich 100 Millionen neue Datensätze anfallen. Mit traditionellen ETL(Extract, Transform, Load)- und Data Warehouse-Technologien wird die Verarbeitung dieser Datenmengen mit ihren verschiedenen Datentypen schnell zu einem zeitlichen Problem. Deshalb werden sie in Hadoop abgelegt, was eine leistungsfähige Batch-Verarbeitung zur Aufbereitung der Daten ermöglicht. Die Log-Daten werden dabei zu Stunden, Hosts oder Page Level verdichtet und mit Informationen aus anderen Quellen angereichert.

Bereit für den Einsatz leistungsstarker BI-Werkzeuge

Anschließend werden die Daten aggregiert und in das Data Warehouse bzw. die analytische Datenbank geladen. Dort steht der volle Funktionsumfang von SQL zur Verfügung und auf den veredelten Datenbestand lassen sich dann unterschiedliche Technologien für performante Abfragen anwenden. 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. So lässt sich etwa ein Reporting auch direkt auf NoSQL aufsetzen oder die Log-Daten lassen sich direkt in Hadoop ablegen.

Fazit: Koexistenz des Data Warehouse mit den Big Data Stores

Das Beispiel Clickstream-Analyse macht deutlich, dass das Konzept des Data Warehouse auch in Zeiten von Big Data aktueller denn je ist. Das Modell des Data Warehouse bietet viele Vorteile und ermöglicht die Benutzung leistungsstarker BI-Frontends. Die Herausforderung ist deshalb, das Data Warehouse sinnvoll mit Big Data-Technologien zu ergänzen und zu erweitern, um die Schwächen der klassischen Architektur auszugleichen. Denn moderne BI und Data Warehouse-Architekturen müssen in der Lage sein, unterschiedlichste Daten zu verarbeiten.

Umgekehrt stellen Big Data-Technologien die ETL- und Datenintegrationswerkzeuge vor neue Anforderungen. Damit Daten aus unterschiedlichen Quellen kombiniert und transformiert werden können, müssen die Werkzeuge Schnittstellen zu NoSQL und Hadoop bzw. verwandten Lösungen ebenso bereitstellen wie zu relationalen Datenbanken, Files und anderen traditionellen Quellen.

Die Mühe, die in den Aufbau einer solchen Architektur gesteckt werden muss, lohnt sich aber. Fachabteilungen und Unternehmen als Ganzes können die so gewonnenen Erkenntnisse für bessere Entscheidungen nutzen. Die neue Realität ist also nicht der Abschied vom Data Warehouse, sondern der Aufbruch in eine Zukunft, in der die Kombination alter und neuer Ansätze bessere und schnellere Analysen ermöglicht.

Zusammenfassend ist das Data Warehouse ein bewährtes Konzept und in vielen Unternehmen das solide Fundament des Business Intelligence Systems.

Data Warehouse: Ihr Nutzen

ganzheitlicher Blick auf die Unternehmensdaten

Auswertungen auf einer integrierten Datenbasis

Zeitersparnis durch einheitlichen Datenzugriff

automatisierte und standardisierte Berechnung von Kennzahlen

Wissensgewinn durch Verknüpfung von Informationen (Data Mining)

Historisierung von Unternehmensdaten für Zeitreihenvergleiche

Unsere Leistung: Konzeption und Modellierung eines Data Warehouse

Als erfahrener Dienstleister im BI-Umfeld nutzen wir leistungsstarke Open Source-Tools wie Pentaho Data Integration (PDI), Jedox ETL oder Talend für die Entwicklung der notwendigen Extraktions-, Transformations- und Ladeprozesse (ETL-Prozesse). Auf Datenbankebene setzen wir im Open Source-Umfeld auf interessante Technologien wie MySQL, PostgreSQL oder Infobright.

Damit können wir auch komplexe Anforderungen an eine analytische Datenbank umsetzen.

it-novum GmbH Deutschland

Hauptsitz: Edelzeller Straße 44, 36043 Fulda

Niederlassung: Siemensdamm 50, 13629 Berlin

Niederlassung: Ruhrallee 9, 44139 Dortmund

 

info@it-novum.com

+49 661 103 - 322

+49 661 103 - 597

it-novum Niederlassung Österreich

Office Park 7 / Top 802

1300 Wien-Flughafen

 

 

info@it-novum.at

+43 1 227 87 - 139

+43 1 227 87 - 200