In der Informatik ist ein Data Warehouse (DW oder DWH), auch bekannt als Enterprise Data Warehouse (EDW), ein System, das für Berichterstattung und Datenanalyse verwendet wird und eine Kernkomponente von Business Intelligence darstellt. Data Warehouses sind zentrale Datenrepositorys, die Daten aus unterschiedlichen Quellen integrieren. Sie speichern aktuelle und historische Daten in einer Weise, die für Datenanalyse, die Erstellung von Berichten und die Gewinnung von Erkenntnissen aus den integrierten Daten optimiert ist. Sie sollen von Analysten und Managern genutzt werden, um organisatorische Entscheidungen zu unterstützen.
Die im Warehouse gespeicherten Daten werden aus operativen Systemen (wie Marketing oder Vertrieb) hochgeladen. Die Daten können durch ein operatives Datenspeichersystem (Operational Data Store) laufen und müssen möglicherweise einer Datenbereinigung unterzogen werden, um die Datenqualität für zusätzliche Operationen sicherzustellen, bevor sie im Data Warehouse für die Berichterstattung verwendet werden. Die beiden Hauptworkflows zum Aufbau eines Data-Warehouse-Systems sind Extract, Transform, Load (ETL) und Extract, Load, Transform (ELT).
Komponenten
Die Umgebung für Data Warehouses und Data Marts umfasst mehrere Schlüsselkomponenten. Quellsysteme von Daten bestehen oft aus den operativen Datenbanken eines Unternehmens, wie relationalen Datenbanken. Datenintegrationstechnologien und -prozesse werden verwendet, um Daten aus diesen Quellsystemen zu extrahieren, zu transformieren und in einen Data Mart oder ein Warehouse zu laden. Architekturen sind erforderlich, um Daten im Warehouse oder in den Marts zu speichern, zusammen mit Werkzeugen und Anwendungen für verschiedene Benutzer. Metadaten, Datenqualität und Governance-Prozesse sind ebenfalls wesentlich; Metadaten umfassen Datenquellen (Datenbank-, Tabellen- und Spaltennamen), Aktualisierungspläne und Datennutzungsmaße.
Verwandte Systeme
Operative Datenbanken
Operative Datenbanken sind auf die Wahrung der Datenintegrität und die Geschwindigkeit der Erfassung von Geschäftstransaktionen durch den Einsatz von Datenbanknormalisierung und einem Entity-Relationship-Modell optimiert. Designer operativer Systeme folgen im Allgemeinen der Datenbanknormalisierung, um die Datenintegrität sicherzustellen. Vollständig normalisierte Datenbankdesigns führen oft dazu, dass Informationen aus einer Geschäftstransaktion in Dutzenden bis Hunderten von Tabellen gespeichert werden. Relationale Datenbanken sind effizient bei der Verwaltung der Beziehungen zwischen diesen Tabellen. Die Datenbanken haben eine sehr schnelle Einfüge-/Aktualisierungsleistung, da nur eine kleine Datenmenge in diesen Tabellen von jeder Transaktion betroffen ist. Um die Leistung zu verbessern, werden ältere Daten regelmäßig gelöscht.
Data Warehouses sind für analytische Zugriffsmuster optimiert, die in der Regel die Auswahl bestimmter Felder beinhalten, anstatt aller Felder, wie es in operativen Datenbanken üblich ist. Aufgrund dieser Unterschiede im Zugriff profitieren operative Datenbanken (lose als OLTP bezeichnet) von der Verwendung eines zeilenorientierten Datenbankmanagementsystems (DBMS), während Analysedatenbanken (lose als OLAP bezeichnet) von der Verwendung eines spaltenorientierten DBMS profitieren. Operative Systeme halten eine Momentaufnahme des Geschäfts, während Warehouses historische Daten durch ETL-Prozesse speichern, die regelmäßig Daten von den operativen Systemen in das Warehouse migrieren.
Online Analytical Processing (OLAP) ist durch eine niedrige Transaktionsrate und komplexe Abfragen gekennzeichnet, die Aggregationen beinhalten. Die Antwortzeit ist ein effektives Leistungsmaß für OLAP-Systeme. OLAP-Anwendungen werden häufig für Data Mining verwendet. OLAP-Datenbanken speichern aggregierte, historische Daten in multidimensionalen Schemata (in der Regel Sternschemata). OLAP-Systeme haben typischerweise eine Datenlatenz von einigen Stunden, während die Latenz von Data Marts näher an einem Tag liegt. Der OLAP-Ansatz wird verwendet, um multidimensionale Daten aus mehreren Quellen und Perspektiven zu analysieren. Die drei grundlegenden Operationen in OLAP sind Roll-up (Konsolidierung), Drill-down sowie Slicing und Dicing.
Online Transaction Processing (OLTP) ist durch eine große Anzahl kurzer Online-Transaktionen (INSERT, UPDATE, DELETE) gekennzeichnet. OLTP-Systeme betonen schnelle Abfrageverarbeitung und die Aufrechterhaltung der Datenintegrität in Umgebungen mit mehrfachem Zugriff. Für OLTP-Systeme ist die Leistung die Anzahl der Transaktionen pro Sekunde. OLTP-Datenbanken enthalten detaillierte und aktuelle Daten. Das Schema zur Speicherung transaktionaler Datenbanken ist das Entity-Modell (in der Regel 3NF). Normalisierung ist die Norm für Datenmodellierungstechniken in diesem System.
Predictive Analytics befasst sich mit dem Finden und Quantifizieren verborgener Muster in den Daten mithilfe komplexer mathematischer Modelle, um sich auf verschiedene zukünftige Ergebnisse vorzubereiten, einschließlich der Nachfrage nach Produkten, und bessere Entscheidungen zu treffen. Im Gegensatz dazu konzentriert sich OLAP auf die Analyse historischer Daten und ist reaktiv. Predictive Systeme werden auch für Customer Relationship Management (CRM) verwendet.
Datenbank
Eine Datenbank ist eine organisierte Sammlung von Daten, die elektronisch gespeichert und verwaltet wird. Sie ist darauf ausgelegt, strukturierte Daten mithilfe eines Datenbankmanagementsystems (DBMS) für Abfragen und Manipulation der Daten zu speichern, abzurufen und zu verwalten.
Data Marts
Ein Data Mart ist ein einfaches Data Warehouse, das sich auf ein einzelnes Thema oder einen funktionalen Bereich konzentriert. Daher bezieht es Daten aus einer begrenzten Anzahl von Quellen wie Vertrieb, Finanzen oder Marketing. Data Marts werden oft von einer einzelnen Abteilung einer Organisation aufgebaut und kontrolliert. Die Quellen können interne operative Systeme, ein zentrales Data Warehouse oder externe Daten sein. Arten von Data Marts umfassen abhängige, unabhängige und hybride Data Marts.
Data Lake
Ein Data Lake ist ein zentrales Repository, das große Datenmengen in rohem Format speichert, die zur Laufzeit verarbeitet werden. Es kann Daten aus mehreren Quellen wie APIs, Dateien, Datenbanken, Sensoren und Websites sammeln. Im Gegensatz zu Data Warehouses speichern Data Lakes Daten in strukturierten, halbstrukturierten und unstrukturierten Formaten, was sie für maschinelles Lernen und Big-Data-Verarbeitung nutzbar macht.
Varianten
ETL
Das typische auf Extract, Transform, Load (ETL) basierende Data Warehouse verwendet Staging-, Integrations- und Zugriffsebenen, um seine Kernfunktionen zu beherbergen. Die Staging-Ebene oder Staging-Datenbank speichert rohe Daten, die aus jedem der unterschiedlichen Quellsysteme extrahiert wurden. Die Integrationsebene integriert unterschiedliche Datensätze, indem sie die Daten aus der Staging-Ebene transformiert und diese transformierten Daten oft in einer Operational Data Store (ODS)-Datenbank speichert. Die integrierten Daten werden dann in eine weitere Datenbank verschoben, die oft als Data-Warehouse-Datenbank bezeichnet wird, wo die Daten in hierarchische Gruppen, oft Dimensionen genannt, sowie in Fakten und aggregierte Fakten angeordnet werden. Die Kombination aus Fakten und Dimensionen wird manchmal als Sternschema bezeichnet. Die Zugriffsebene hilft Benutzern, Daten abzurufen.
Die Hauptdatenquelle wird bereinigt, transformiert, katalogisiert und für Manager und andere Geschäftsprofis zur Nutzung für Data Mining, Online Analytical Processing, Marktforschung und Entscheidungsunterstützung verfügbar gemacht. Die Mittel zum Abrufen und Analysieren von Daten, zum Extrahieren, Transformieren und Laden von Daten sowie zur Verwaltung des Datenwörterbuchs werden jedoch ebenfalls als wesentliche Komponenten eines Data-Warehouse-Systems betrachtet. Viele Verweise auf Data Warehousing verwenden diesen breiteren Kontext. Somit umfasst eine erweiterte Definition von Data Warehousing Business-Intelligence-Tools sowie Werkzeuge zum Extrahieren, Transformieren und Laden von Daten in das Repository.
ELT und moderne Architekturen
Im Gegensatz zu ETL lädt der Extract, Load, Transform (ELT)-Workflow rohe Daten direkt in das Zielsystem, wie einen Data Lake oder ein Cloud-Data-Warehouse, und führt Transformationen danach durch. Dieser Ansatz nutzt die Rechenleistung moderner Systeme, um große Datenmengen zu verarbeiten. ELT wird oft mit cloudbasierten Plattformen wie Amazon Web Services, Microsoft Azure und Google Cloud assoziiert, die skalierbaren Speicher und Rechenleistung bieten. Diese Plattformen haben die Entwicklung des Data Warehousing beeinflusst und die Integration mit Machine learning- und Artificial intelligence-Workloads für erweiterte Analysen ermöglicht.
Historischer Kontext
Das Konzept des Data Warehousing entstand in den 1980er Jahren, mit wichtigen Beiträgen von Forschern und Praktikern auf dem Gebiet der Business Intelligence. Der Begriff "Data Warehouse" wurde in den frühen 1990er Jahren von Bill Inmon populär gemacht, der es als eine themenorientierte, integrierte, nichtflüchtige und zeitvariante Sammlung von Daten definierte. Ralph Kimball führte später den dimensionalen Modellierungsansatz ein, einschließlich Sternschemata, der weit verbreitet wurde. Diese grundlegenden Ideen bleiben zentral für moderne Data-Warehousing-Praktiken, obwohl Cloud-Technologien die Implementierungsdetails verändert haben.