Data Staging Area: Definition, Grundlagen und Beispiel

Definition Data Staging Area

Die Data Staging Area, zu Deutsch “Daten-Aufbereitungsbereich”, ist ein Bereich im Extract-Transform-Load (ETL) Prozess, der die Daten zur Überführung in ein Data Warehouse vorbereitet. Genauer folgt die Staging Area auf den “Extraction”-Schritt und bildet die Basis für Transformationen und die Kombination von verschiedenen Datensätzen. Danach folgt das Laden der aufbereiteten Daten in das Warehouse.

Welche Prozesse laufen in der Staging Area ab?

Es gibt drei Hauptprozesse in der Staging Area: 

  1. Extraktion und Transformation von Daten aus der Landing Zone, also den Replikaten aus den Quelldatensystemen. Transformation umfasst alles, was eine Veränderung, Ausschluss oder Normalisierung der Daten betrifft. 
  2. Kombination mit anderen Datenquellen oder die Vorbereitung des Datenschemas, um die Daten mit anderen Datenquellen kombinieren zu können. 
  3. Speicherung der vorbereiteten Daten in eine Staging Database, welche dann als Basis für die Überführung in das Data Warehouse fungiert.

Warum ist die Staging Area wichtig?

Es gibt einige Vorteile einer Staging Area versus einer in-Memory Transformation und direkten Überführung in ein Data Warehouse:

  • Datenkombination ist einfacher, da man sequentiell anreichern kann
  • Data Governance kann besser ausgeübt werden, da klare Prozessschritte voneinander getrennt sind
  • Durch Quality Gates kann man fehlende oder fehlerhafte Daten filtern bevor sie das Data Warehouse erreichen
  • Man kann eine bessere Datenversionierung einführen, da man Zwischenergebnisse (Distillate) speichert
  • Größere Datenmengen können via Batches verarbeitet werden, ohne in Skalierungsprobleme zu laufen
  • Eine einfache Überführung der Daten ins DWH ist möglich, da die Staging Area bereits alle “internen” Vorbereitungsschritte abgeschlossen hat

Was ist der Unterschied zwischen einer Staging Area und einer Landing Zone?

Die Landing Zone ist der Bereich, in dem Datenextrakte initial ankommen. Der Unterschied ist, dass in der Landingzone Daten als Rohformate (z.B. unstrukturierte Daten) erfasst und dokumentiert werden, während in der Staging Zone diese Daten verarbeitet werden und für den “Load” in das Data Warehouse vorbereitet werden.

Neben diesem formellen Unterschied werden beide Begriffe oft synonym für beide Aspekte genutzt. Dabei gibt es zum Beispiel in einem Data Lake zwar eine Landing Zone, aber keine Staging Area. Gleichermaßen ist ein Staging absolut notwendig, um in ein DWH zu überführen, benötigt aber keine eigens existierende Landing Zone. 

Gibt es eine Staging Area auch in einem Data Lake?

Wie bereits angerissen, benötigt ein Data Lake per se keine Staging Area, da er dem ELT-Prinzip folgt statt ETL. Das heisst, die Daten werden im Data Lake gespeichert, ohne sie für ein Warehouse-Schema aufzubereiten, was der Sinn einer Staging Area ist.

Davon abgesehen gibt es allerdings ähnliche Strukturen im Data Lake, vor allem wenn man über die Rohdatendumps hinaus weitere Datenverarbeitung betrachtet. Werden Daten weiterverarbeitet gibt es ähnliche Prozesse (z.B. Feature Engineering im Machine Learning), die den gleichen Effekt haben. 

Zu vernachlässigen ist ebenso wenig, dass ein Data Lake auch mehrere Data Warehouses beinhalten kann – weshalb es dafür wiederum selbstverständlich eine eigene Staging Area geben kann.

Beispiel für eine ETL-Infrastruktur inklusive Staging Area

Um den Nutzen einer Staging Area und deren Platz in der Infrastruktur eines ETL-Prozesses zu verdeutlichen, möchten wir ein Beispiel darstellen:

  1. Source: Die Datenquellen
  2. Extraction: Mittels APIs oder ETL-Tools werden die Daten aus den Quellsystemen oder Datenbanken extrahiert
  3. Landing Zone: Die Daten “landen” in der Landing Zone und werden in Landing Tables gespeichert
  4. Staging Area: Die Daten werden aus der Landing Zone extrahiert, aufbereitet und zusammengeführt, um sie dann in einer Staging Table zwischenzuspeichern
  5. Load: Die Daten werden in das Datenschema des Data Warehouses überführt und in das Warehouse geladen
  6. Consume: Die aufbereiteten Daten können aus dem Data Warehouse für die verschiedenen Konsumenten (z.B. Visualisierung, Analytics, Kanäle) extrahiert werden