Ein Data Warehouse (auch Datenlager, DL bzw. DWH/DW) ist eine zentrale, nicht relationale Datenbank, die für umfangreiche Analyseaufgaben in großen Datenmengen optimiert ist. In einem Data Warehouse werden i.d.R. Daten aus mehreren Quellen zusammengeführt und komprimiert, damit diese für die rechenintensiven Analyseverfahren zur Verfügung stehen. Das DW-Konzept wurde maßgeblich durch die Wirtschaftsinformatik und das Informationsmanagement geprägt, ist bisher aber nicht einheitlich definiert. Der Begriff kommt insbesondere im Kontext von Datenanalysen, Big Data und Unternehmenssoftware immer wieder vor.

Das DW gehört zu den entscheidungsorientierten Analysesystemen und grenzt sich damit zu (operativen) Transaktionssystemen wie relationalen Datenbanken ab, die i.d.R. unmittelbar an eine einzelne Anwendung gekoppelt sind.

Aufgabe und Zweck eines Data Warehouse

Die meisten Anwendungssysteme wie Warenwirtschaftsprogramme, SAP-Software, Shopsysteme oder CRM-Software basieren auf relationalen Datenbanken, die über eine Abfragesprache wie SQL und ein Datenbankmanagementsystem kontrolliert und verwaltet werden. Diese Systeme teilen die Eigenschaften eines Mehrbenutzerbetriebs mit vielen parallelen Schreib- und Lesevorgängen auf die in der Datenbank gespeicherten Datensätzen, deren Integrität über das DBMS gesichert wird.

Diese Systeme sind mit ihren relationalen Datenbanken zwar für den operativen Betrieb im Unternehmen geeignet, nicht jedoch für zahlreiche ressourcenintensive Abfrageprozesse über nahezu alle gespeicherten Datensätze einer Datenbank. Aufgrund der Lese- und Schreibsperren in der Datenbankverwaltung kann eine großflächige (automatisierte) Datenabfrage im Operativbetrieb einer Datenbank zu erheblichen Performance-Problemen führen, die aus unternehmerischer Sicht nicht erwünscht sind.

Für die großflächige Aggregation von Daten zu Analysezwecken ist ein Zugriff auf die operative Datenbasis aber unvermeidbar. Aus diesem Grund wurde das Data Warehouse als Zwischenebene entwickelt, die eine operative Datenbank mit dem Endbenutzer verbindet. Dabei überführt das Data Warehouse einen zum Zeitpunkt X vordefinierten Datenbankzustand vollständig redundant als einheitliche Sicht auf die Anwendung in einer eigenen zentralen Datenbasis, die als Ausgangspunkt für jegliche Benutzer-induzierten Abfragen und Analyseprozesse fungiert.

So lassen sich über das DW auch rechenintensive Abfragen über große Datenbestände differenter Applikationen ausführen, ohne dass die Performance der operativen (relationalen) Datenbank dadurch beeinträchtigt wird.

Data Warehouse Anforderungen

  • Daten haben bestimmten und fest definierten Zeitbezug und sind im Gegensatz zu relationalen Datenbeständen selten vollständig aktuell
  • Themenorientierte Aggregation und Abbildung der Daten
  • Daten liegen in normierter Form vor
  • Daten werden über lange Zeiträume gespeichert und aggregiert (i.d.R. mehrere Monate oder Jahre)
  • Daten werden aus vielen heterogenen Quellen zu einem homogenen Datenstamm zusammengeführt

DW-Architekturen

  • Zentrales DW: Bildet die Zwischenschicht zwischen relationalen Systemen und dem Endbenutzer und bildet eine redundante Datenbasis
  • Virtuelles DW: Virtualisiert die Datenbasis relationaler Anwendungssysteme im operativen Betrieb ohne redundante Datenhaltung
  • Data Mart: Eine redundante Teilsicht bzw. ein Teildatenbestand eines Data Warehouse

Datensätze eines Data Warehouse

  • Detail-Datensätze und Aggregations-Datensätze (i.d.R. direkt aus den operativen Systemen abgeleitete Daten mit Zeitstempel und ohne unmittelbare Transformation
  • Archivierte Datensätze (vormals aktuelle Datensätze, die später aufgrund veralteter Datengrundlagen in das Data-Warehouse-Archiv wandern)
  • Externe Datensätze aus weiteren vom relationalen Operativsystemen unabhängigen Quellen
    • Rohstoffdaten
    • Produkt- und Marktdaten
    • Wirtschaftsdaten (z.B. Währungskurse)
    • Industriedaten und Handelsdaten
    • Demographische Daten
    • Meteorologische Daten