Was ist ETL?
ETL ist ein Prozess, der die Daten aus verschiedenen Quellsystemen extrahiert, dann die Daten transformiert (wie das Anwenden von Berechnungen, Verkettungen usw.) und schließlich die Daten in das Data Warehouse-System lädt. Die vollständige Form von ETL ist Extrahieren, Transformieren und Laden.
Es ist verlockend zu glauben, dass beim Erstellen eines Data Warehouse einfach Daten aus mehreren Quellen extrahiert und in die Datenbank eines Data Warehouse geladen werden. Dies ist weit von der Wahrheit entfernt und erfordert einen komplexen ETL-Prozess. Der ETL-Prozess erfordert aktive Beiträge von verschiedenen Stakeholdern, einschließlich Entwicklern, Analysten, Testern und Top-Managern, und ist technisch herausfordernd.
Um seinen Wert als Werkzeug für Entscheidungsträger zu erhalten, muss sich das Data Warehouse-System mit geschäftlichen Änderungen ändern. ETL ist eine wiederkehrende Aktivität (täglich, wöchentlich, monatlich) eines Data Warehouse-Systems und muss agil, automatisiert und gut dokumentiert sein.
In diesem ETL-Tutorial lernen Sie:
- Was ist ETL?
- Warum brauchst du ETL?
- ETL-Prozess in Data Warehouses
- Schritt 1) Extraktion
- Schritt 2) Transformation
- Schritt 3) Laden
- ETL-Tools
- Best Practices ETL-Prozess
Warum brauchst du ETL?
Es gibt viele Gründe für die Einführung von ETL in der Organisation:
- Es hilft Unternehmen, ihre Geschäftsdaten zu analysieren, um wichtige Geschäftsentscheidungen zu treffen.
- Transaktionsdatenbanken können keine komplexen Geschäftsfragen beantworten, die anhand eines ETL-Beispiels beantwortet werden können.
- Ein Data Warehouse bietet ein gemeinsames Datenrepository
- ETL bietet eine Methode zum Verschieben der Daten aus verschiedenen Quellen in ein Data Warehouse.
- Wenn sich Datenquellen ändern, wird das Data Warehouse automatisch aktualisiert.
- Ein gut konzipiertes und dokumentiertes ETL-System ist für den Erfolg eines Data Warehouse-Projekts von entscheidender Bedeutung.
- Ermöglichen die Überprüfung der Regeln für Datentransformation, Aggregation und Berechnung.
- Der ETL-Prozess ermöglicht den Vergleich von Probendaten zwischen dem Quell- und dem Zielsystem.
- Der ETL-Prozess kann komplexe Transformationen durchführen und benötigt den zusätzlichen Bereich zum Speichern der Daten.
- ETL hilft bei der Migration von Daten in ein Data Warehouse. Konvertieren Sie in die verschiedenen Formate und Typen, um ein einheitliches System zu verwenden.
- ETL ist ein vordefinierter Prozess für den Zugriff auf und die Bearbeitung von Quelldaten in der Zieldatenbank.
- ETL im Data Warehouse bietet einen tiefen historischen Kontext für das Unternehmen.
- Es hilft, die Produktivität zu verbessern, da es ohne technische Kenntnisse kodifiziert und wiederverwendet.
ETL-Prozess in Data Warehouses
ETL ist ein dreistufiger Prozess

Schritt 1) Extraktion
In diesem Schritt der ETL-Architektur werden Daten aus dem Quellsystem in den Staging-Bereich extrahiert. Eventuelle Transformationen werden im Staging-Bereich durchgeführt, damit die Leistung des Quellsystems nicht beeinträchtigt wird. Wenn beschädigte Daten direkt von der Quelle in die Data Warehouse-Datenbank kopiert werden, ist das Rollback eine Herausforderung. Der Staging-Bereich bietet die Möglichkeit, extrahierte Daten zu validieren, bevor sie in das Data Warehouse verschoben werden.
Data Warehouse muss Systeme mit unterschiedlichen Eigenschaften integrieren
DBMS, Hardware, Betriebssysteme und Kommunikationsprotokolle. Zu den Quellen gehören unter anderem Legacy-Anwendungen wie Mainframes, benutzerdefinierte Anwendungen, Point-of-Contact-Geräte wie Geldautomaten, Anrufschalter, Textdateien, Tabellenkalkulationen, ERP, Daten von Anbietern und Partner.
Daher benötigt man eine logische Datenkarte, bevor Daten extrahiert und physikalisch geladen werden. Diese Datenkarte beschreibt die Beziehung zwischen Quell- und Zieldaten.
Drei Datenextraktionsmethoden:
- Vollständige Extraktion
- Teilweise Extraktion - ohne Update-Benachrichtigung.
- Teilweise Extraktion - mit Update-Benachrichtigung
Unabhängig von der verwendeten Methode sollte die Extraktion die Leistung und Reaktionszeit der Quellsysteme nicht beeinflussen. Diese Quellsysteme sind Live-Produktionsdatenbanken. Jegliche Verlangsamung oder Sperrung kann sich auf das Unternehmensergebnis auswirken.
Einige Validierungen werden während der Extraktion durchgeführt:
- Stimmen Sie Datensätze mit den Quelldaten ab
- Stellen Sie sicher, dass keine Spam- / unerwünschten Daten geladen werden
- Datentypprüfung
- Entfernen Sie alle Arten von doppelten / fragmentierten Daten
- Überprüfen Sie, ob alle Schlüssel vorhanden sind oder nicht
Schritt 2) Transformation
Vom Quellserver extrahierte Daten sind Rohdaten und können nicht in ihrer ursprünglichen Form verwendet werden. Daher muss es gereinigt, kartiert und transformiert werden. Tatsächlich ist dies der Schlüsselschritt, in dem der ETL-Prozess einen Mehrwert schafft und Daten so ändert, dass aufschlussreiche BI-Berichte generiert werden können.
Es ist eines der wichtigen ETL-Konzepte, bei denen Sie eine Reihe von Funktionen auf extrahierte Daten anwenden. Daten, für die keine Transformation erforderlich ist, werden als direktes Verschieben oder Durchlaufen von Daten bezeichnet .
Im Transformationsschritt können Sie benutzerdefinierte Vorgänge für Daten ausführen. Zum Beispiel, wenn der Benutzer Umsatzerlöse wünscht, die nicht in der Datenbank enthalten sind. Oder wenn sich der Vor- und Nachname in einer Tabelle in verschiedenen Spalten befindet. Es ist möglich, sie vor dem Laden zu verketten.

Im Folgenden sind Probleme mit der Datenintegrität aufgeführt:
- Unterschiedliche Schreibweise derselben Person wie Jon, John usw.
- Es gibt mehrere Möglichkeiten, Firmennamen wie Google, Google Inc. zu kennzeichnen.
- Verwendung verschiedener Namen wie Cleaveland, Cleveland.
- Es kann vorkommen, dass verschiedene Kontonummern von verschiedenen Anwendungen für denselben Kunden generiert werden.
- In einigen Daten bleiben die erforderlichen Dateien leer
- Ungültige Produkte, die am POS als manuelle Eingabe gesammelt wurden, können zu Fehlern führen.
In dieser Phase werden Validierungen durchgeführt
- Filtern - Wählen Sie nur bestimmte Spalten zum Laden aus
- Verwenden von Regeln und Nachschlagetabellen für die Datenstandardisierung
- Zeichensatzkonvertierung und Codierungsbehandlung
- Umrechnung von Maßeinheiten wie Datums- und Uhrzeitumrechnung, Währungsumrechnung, numerische Umrechnung usw.
- Überprüfung der Datenschwellenvalidierung. Das Alter darf beispielsweise nicht mehr als zwei Ziffern betragen.
- Datenflussvalidierung vom Staging-Bereich zu den Zwischentabellen.
- Erforderliche Felder sollten nicht leer bleiben.
- Reinigung (z. B. Zuordnung von NULL zu 0 oder Geschlecht männlich zu "M" und weiblich zu "F" usw.)
- Teilen Sie eine Spalte in mehrere Spalten und führen Sie mehrere Spalten zu einer einzigen Spalte zusammen.
- Zeilen und Spalten transponieren,
- Verwenden Sie Lookups, um Daten zusammenzuführen
- Verwenden einer komplexen Datenüberprüfung (z. B. wenn die ersten beiden Spalten in einer Zeile leer sind, wird die Verarbeitung der Zeile automatisch abgelehnt)
Schritt 3) Laden
Das Laden von Daten in die Datawarehouse-Zieldatenbank ist der letzte Schritt des ETL-Prozesses. In einem typischen Data Warehouse muss in relativ kurzer Zeit (Nächte) ein großes Datenvolumen geladen werden. Daher sollte der Ladevorgang hinsichtlich der Leistung optimiert werden.
Im Falle eines Lastfehlers sollten die Wiederherstellungsmechanismen so konfiguriert werden, dass sie ab dem Punkt des Fehlers ohne Verlust der Datenintegrität neu gestartet werden. Data Warehouse-Administratoren müssen das Laden gemäß der aktuellen Serverleistung überwachen, fortsetzen und abbrechen.
Arten des Ladens:
- Erstes Laden - Füllen aller Data Warehouse-Tabellen
- Inkrementelle Belastung - Anwenden laufender Änderungen nach Bedarf in regelmäßigen Abständen.
- Vollständige Aktualisierung - Löschen des Inhalts einer oder mehrerer Tabellen und erneutes Laden mit frischen Daten.
Ladeüberprüfung
- Stellen Sie sicher, dass die Schlüsselfelddaten weder fehlen noch null sind.
- Testen Sie Modellierungsansichten basierend auf den Zieltabellen.
- Überprüfen Sie die kombinierten Werte und berechneten Maße.
- Datenprüfungen in der Dimensionstabelle sowie in der Verlaufstabelle.
- Überprüfen Sie die BI-Berichte in der geladenen Fakt- und Dimensionstabelle.
ETL-Tools
Es gibt viele Data Warehousing-Tools auf dem Markt. Hier sind einige der bekanntesten:
1. MarkLogic:
MarkLogic ist eine Data Warehousing-Lösung, die die Datenintegration mithilfe einer Reihe von Unternehmensfunktionen einfacher und schneller macht. Es kann verschiedene Datentypen wie Dokumente, Beziehungen und Metadaten abfragen.
https://www.marklogic.com/product/getting-started/
2. Oracle:
Oracle ist die branchenführende Datenbank. Es bietet eine breite Auswahl an Data Warehouse-Lösungen sowohl vor Ort als auch in der Cloud. Es hilft, das Kundenerlebnis zu optimieren, indem es die betriebliche Effizienz erhöht.
https://www.oracle.com/index.html
3. Amazon RedShift:
Amazon Redshift ist ein Datawarehouse-Tool. Es ist ein einfaches und kostengünstiges Tool zum Analysieren aller Datentypen mit Standard-SQL und vorhandenen BI-Tools. Es ermöglicht auch das Ausführen komplexer Abfragen für Petabyte strukturierter Daten.
https://aws.amazon.com/redshift/?nc2=h_m1
Hier finden Sie eine vollständige Liste nützlicher Data Warehouse-Tools.
Best Practices ETL-Prozess
Im Folgenden finden Sie die Best Practices für die Schritte des ETL-Prozesses:
Versuchen Sie niemals, alle Daten zu bereinigen:
Jede Organisation möchte, dass alle Daten sauber sind, aber die meisten von ihnen sind nicht bereit zu zahlen, um zu warten, oder nicht bereit zu warten. Das Bereinigen würde einfach zu lange dauern, daher ist es besser, nicht zu versuchen, alle Daten zu bereinigen.
Reinigen Sie niemals etwas:
Planen Sie immer, etwas zu bereinigen, da der Hauptgrund für den Aufbau des Data Warehouse darin besteht, sauberere und zuverlässigere Daten anzubieten.
Bestimmen Sie die Kosten für die Bereinigung der Daten:
Bevor Sie alle verschmutzten Daten bereinigen, müssen Sie die Bereinigungskosten für jedes verschmutzte Datenelement ermitteln.
Verwenden Sie zusätzliche Ansichten und Indizes, um die Abfrageverarbeitung zu beschleunigen:
Speichern Sie zusammengefasste Daten auf Datenträgern, um die Speicherkosten zu senken. Außerdem ist der Kompromiss zwischen dem zu speichernden Datenvolumen und seiner detaillierten Verwendung erforderlich. Kompromiss auf der Ebene der Datengranularität, um die Speicherkosten zu senken.
Zusammenfassung:
- ETL steht für Extrahieren, Transformieren und Laden.
- ETL bietet eine Methode zum Verschieben der Daten aus verschiedenen Quellen in ein Data Warehouse.
- Im ersten Schritt der Extraktion werden Daten aus dem Quellsystem in den Staging-Bereich extrahiert.
- Im Transformationsschritt werden die aus der Quelle extrahierten Daten bereinigt und transformiert.
- Das Laden von Daten in das Zieldatenlager ist der letzte Schritt des ETL-Prozesses.