ETL (Extract, Transform, Load)

In der Welt der Business Intelligence beschreibt der ETL Prozess (Extrahieren – Transformieren - Laden) das allgemeine Verfahren des Kopierens von Daten aus einer oder mehreren Quellen in ein Zielsystem, das die Daten meist harmonisiert, bereinigt bzw. in einem anderen Kontext und System als die Quelle(n) darstellt.

Das ETL-Verfahren wurde in den 1970er Jahren zu einem populären Konzept und wird häufig im Data Warehousing eingesetzt.

Bei der Datenextraktion werden Daten aus homogenen oder heterogenen Quellen extrahiert - bei der Datentransformation werden die Daten durch Datenbereinigung und Transformation in ein geeignetes Format und eine geeignete Struktur für Abfrage- und Analysezwecke verarbeitet - das Datenladen schließlich beschreibt das Einfügen der Daten in die endgültige Zieldatenbank, wie z.B. einen Operational Data Store, einen Data Mart, einen Data Lake oder ein Data Warehouse.

Ein richtig konzipiertes ETL-System extrahiert Daten aus den Quellsystemen, setzt Datenqualitäts- und Konsistenzstandards durch, passt Daten so an, dass getrennte Quellen gemeinsam genutzt werden können, und liefert die Daten schließlich in einem präsentationsreifen Format, so dass Anwendungsentwickler Anwendungen erstellen und Endbenutzer Auswertungen ausführen und Entscheidungen treffen können.

ETL-Systeme integrieren in der Regel Daten aus mehreren Anwendungen (Systemen), die typischerweise von verschiedenen Anbietern entwickelt und unterstützt werden oder auf separater Computerhardware gehostet werden. Die separaten Systeme, die die Originaldaten enthalten, werden häufig von verschiedenen Mitarbeitern verwaltet und betrieben. So kann ein Kostenrechnungssystem beispielsweise Daten aus der Produktion, der Personalabrechnung, dem Vertrieb und dem Einkauf zusammenführen.

Extract

Der erste Teil eines ETL-Prozesses beinhaltet die Extraktion der Daten aus dem/den Quellsystem(en). In vielen Fällen stellt dies den wichtigsten Aspekt des ETL-Prozesses dar, da durch die Extraktion der Daten die Voraussetzungen für den Erfolg der nachfolgenden Prozesse richtig gesetzt werden müssen. Die meisten Data-Warehousing-Projekte kombinieren Daten aus verschiedenen Quellsystemen. Jedes einzelne System kann auch eine andere Datenorganisation und/oder ein anderes Format verwenden. Zu den gängigen Datenquellenformaten gehören relationale Datenbanken (SQL), XML, JSON und Flat Files, aber auch nicht-relationale Datenbankstrukturen wie das Information Management System (IMS) oder andere Datenstrukturen wie die Virtual Storage Access Method (VSAM) oder die Indexed Sequential Access Method (ISAM) oder Formate, die von externen Quellen und Cloud-Services geholt werden. Das Streaming der extrahierten Datenquelle und das Laden on-the-fly in die Zieldatenbank ist eine weitere Möglichkeit, ETL durchzuführen, wenn keine Zwischenspeicherung der Daten erforderlich ist. Im Allgemeinen zielt die Extraktionsphase darauf ab, die Daten in ein einziges, für die Transformationsverarbeitung geeignetes Format zu konvertieren.

 Ein zentraler Teil der Extraktion beinhaltet die Datenvalidierung, um zu bestätigen, ob die aus den Quellen gezogenen Daten die richtigen/erwarteten Werte in einer bestimmten Domäne (wie z.B. ein Muster/Standard oder eine Werteliste) haben. Wenn die Daten die Validierungsregeln nicht erfüllen, werden sie ganz oder teilweise abgelehnt. Die abgelehnten Daten werden idealerweise zur weiteren Analyse an das Quellsystem zurückgemeldet, um die fehlerhaften Datensätze zu identifizieren und zu korrigieren.

Transform

In der Phase der Datentransformation werden eine Reihe von Regeln oder Funktionen auf die extrahierten Daten angewendet, um sie für das Laden in das Endziel vorzubereiten.

Eine wichtige Funktion der Transformation ist die Datenbereinigung, die darauf abzielt, nur "richtige" Daten an das Ziel zu übergeben. Die Herausforderung bei der Interaktion verschiedener Systeme liegt in der Anbindung und Kommunikation der relevanten Systeme. Zeichensätze, die in einem System verfügbar sind, sind in anderen Systemen möglicherweise nicht verfügbar.

In anderen Fällen kann eine oder mehrere der folgenden Transformationsarten erforderlich sein, um die geschäftlichen und technischen Anforderungen des Servers oder Data Warehouse zu erfüllen:

-Auswählen nur bestimmter Datenfelder zum Laden: (oder Auswahl von Nullspalten, die nicht geladen werden sollen). Wenn die Quelldaten z.B. drei Spalten Alter, Geschlecht und Gehalt haben, dann kann die Auswahl nur Geschlecht und Gehalt umfassen. Oder der Selektionsmechanismus ignoriert möglicherweise alle Sätze, bei denen Gehalt nicht vorhanden ist (Gehalt = null).

-Übersetzen der codierten Werte: (z.B. wenn das Quellsystem männlich als "1" und weiblich als "2" codiert, aber die Lagercodes männlich als "M" und weiblich als "F")

-Kodierung von Freiformwerten: (z.B. Zuordnung "Männlich" und „Male“ zu "M")

-Ableitung eines neu berechneten Wertes: (z.B. Verkaufsbetrag = Menge * Einheitspreis)

-Sortieren oder Ordnen der Daten anhand einer Liste von Spalten zur Verbesserung der Suchleistung

-Zusammenführen von Daten aus mehreren Quellen (z.B. Lookup, Merge) und Deduplizieren der Daten

-Aggregieren (z.B. Rollup - Verdichtung mehrerer Datenzeilen - Gesamtumsatz pro Filiale und pro Region, etc.)

-Generierung von Surrogatschlüsselwerten (z.B. Fortaufende Nummer, Timestamp etc.)

-Transponieren oder Schwenken (mehrere Spalten in mehrere Zeilen oder umgekehrt)

-Aufteilen einer Spalte in mehrere Spalten (z.B. Konvertieren einer kommagetrennten Liste, die als String in einer Spalte angegeben ist, in einzelne Werte in verschiedenen Spalten)

-Disaggregieren von sich wiederholenden Spalten

-Nachschlagen und Validieren der relevanten Daten aus Tabellen oder Referenzdateien

-Anwendung von verschiedenen Formen der Datenvalidierung; eine fehlgeschlagene Validierung kann zu einer vollständigen, teilweisen oder gar keiner Ablehnung der Daten führen, so dass je nach Regeldesign und Ausnahmebehandlung keine, einige oder alle Daten an den nächsten Schritt übergeben werden; viele der oben genannten Transformationen können zu Ausnahmen führen, z.B. wenn eine Codeübersetzung einen unbekannten Code in den extrahierten Daten parst

Load

In der Ladephase werden die Daten in das vordefinierte Datenziel geladen, das ein beliebiger Datenspeicher sein kann, einschließlich eines einfachen Flat-Files oder eines Data-Warehouses. Je nach den Anforderungen einer Organisation ist dieser Prozess sehr unterschiedlich. Einige Data Warehouses können vorhandene Informationen mit kumulierten Informationen überschreiben; die Aktualisierung der extrahierten Daten erfolgt häufig auf täglicher, wöchentlicher oder monatlicher Basis. Andere Data Warehouses (oder andere Teile desselben Data Warehouses) können in regelmäßigen Abständen - z. B. stündlich - neue Daten in historischer Form hinzufügen. Um dies zu verstehen, betrachten Sie ein Data Warehouse, das für die Pflege der Verkaufsaufzeichnungen des letzten Jahres benötigt wird. Dieses Data Warehouse überschreibt alle Daten, die älter als ein Jahr sind, mit neueren Daten. Die Eingabe von Daten für ein beliebiges Jahresfenster erfolgt jedoch in historischer Form. Der Zeitpunkt und Umfang der Ersetzung oder des Anfügens sind unternehmerische Entscheidungen, die von der verfügbaren Zeit und den Geschäftsanforderungen abhängen. Komplexere Systeme können eine Historie und einen Audit-Trail aller Änderungen an den in das Data Warehouse geladenen Daten führen.

Da die Ladephase mit einer Datenbank interagiert, gelten die im Datenbankschema - sowie in den beim Datenladen aktivierten Triggern - definierten Einschränkungen (z.B. Eindeutigkeit, referentielle Integrität, Pflichtfelder), die ebenfalls zur allgemeinen Datenqualitätsleistung des ETL-Prozesses beitragen.

Ein Finanzinstitut könnte beispielsweise Informationen über einen Kunden in mehreren Abteilungen haben, und jede Abteilung könnte die Informationen dieses Kunden auf unterschiedliche Weise auflisten. Die eine Abteilung könnte den Kunden namentlich auflisten, während die Buchhaltungsabteilung den Kunden nach seiner Nummer darstellen könnte. ETL kann all diese Datenelemente bündeln und zu einer einheitlichen Darstellung zusammenführen, z.B. für die Speicherung in einer Datenbank oder einem Data Warehouse.

Eine weitere Möglichkeit, wie Unternehmen ETL nutzen, ist die dauerhafte Verlagerung von Informationen in eine andere Anwendung. Die neue Anwendung könnte beispielsweise einen anderen Datenbankanbieter und ein ganz anderes Datenbankschema verwenden. ETL kann verwendet werden, um die Daten in ein für die neue Anwendung geeignetes Format zu transformieren.

Weitere Informationen

  • Kategorie: News
  • Thema: Cyber Security