ETL-Prozess (Extrahieren, Transformieren und Laden) im Data Warehouse

Was ist ETL?

ETL ist ein Prozess, der die Daten aus verschiedenen Quellsystemen extrahiert, die Daten dann transformiert (z. B. durch 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 die Erstellung eines Data Warehouse einfach darin besteht, Daten aus mehreren Quellen zu extrahieren und in die Datenbank eines Data Warehouse zu laden. Dies ist jedoch weit von der Wahrheit entfernt und erfordert einen komplexen ETL-Prozess. Der ETL-Prozess erfordert aktive Eingaben von verschiedenen Beteiligten, darunter Entwickler, Analysten, Tester und Führungskräfte, und ist technisch anspruchsvoll.

Um seinen Wert als Werkzeug für Entscheidungsträger aufrechtzuerhalten, muss sich das Data-Warehouse-System an geschäftliche Veränderungen anpassen. ETL ist eine wiederkehrende Aktivität (täglich, wöchentlich, monatlich) eines Data Warehouse-Systems und muss agil, automatisiert und gut dokumentiert sein.

Warum brauchen Sie 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.
  • Transaktionale Datenbanken können keine komplexen Geschäftsfragen beantworten, die beispielsweise durch ETL beantwortet werden können.
  • Ein Data Warehouse stellt ein gemeinsames Datenrepository bereit
  • ETL bietet eine Methode zum Verschieben von 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 nahezu entscheidend für den Erfolg eines Data Warehouse-Projekts.
  • Ermöglichen Sie die Überprüfung von Datentransformations-, Aggregations- und Berechnungsregeln.
  • Der ETL-Prozess ermöglicht den Vergleich von Beispieldaten zwischen dem Quell- und dem Zielsystem.
  • Der ETL-Prozess kann komplexe Transformationen durchführen und erfordert zusätzlichen Speicherplatz zum Speichern der Daten.
  • ETL hilft bei der Migration von Daten in ein Data Warehouse. Konvertieren Sie in verschiedene Formate und Typen, um ein einheitliches System einzuhalten.
  • ETL ist ein vordefinierter Prozess für den Zugriff auf Quelldaten und deren Bearbeitung in der Zieldatenbank.
  • ETL im Data Warehouse bietet einen umfassenden historischen Kontext für das Unternehmen.
  • Es trägt zur Verbesserung der Produktivität bei, da es ohne technische Kenntnisse kodifiziert und wiederverwendet werden kann.

ETL-Prozess in Data Warehouses

ETL ist ein dreistufiger Prozess

ETL-Prozess
ETL-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 aus der Quelle in die Data Warehouse-Datenbank kopiert werden, ist ein Rollback zudem eine Herausforderung. Der Staging-Bereich bietet die Möglichkeit, extrahierte Daten zu validieren, bevor sie in das Data Warehouse verschoben werden.

Data Warehouse muss unterschiedliche Systeme integrieren

DBMS, Hardware, OperaKommunikationssysteme und Kommunikationsprotokolle. Quellen können Legacy-Anwendungen wie Mainframes, kundenspezifische Anwendungen, Point-of-Contact-Geräte wie Geldautomaten, Anrufvermittlungen, Textdateien, Tabellenkalkulationen, ERP, Daten von Anbietern, Partnern und anderen sein.

Daher benötigt man eine logische Datenzuordnung, bevor Daten extrahiert und physisch geladen werden. Diese Datenkarte beschreibt die Beziehung zwischen Quell- und Zieldaten.

Drei Datenextraktionsmethoden:

  1. Volle Extraktion
  2. Teilweise Extraktion – ohne Update-Benachrichtigung.
  3. Teilweise Extraktion – mit Update-Benachrichtigung

Unabhängig von der verwendeten Methode sollte die Extraktion keinen Einfluss auf die Leistung und Antwortzeit der Quellsysteme haben. Bei diesen Quellsystemen handelt es sich um Live-Produktionsdatenbanken. Jede Verlangsamung oder Sperrung könnte sich auf das Geschäftsergebnis des Unternehmens auswirken.

Während der Extraktion werden einige Validierungen durchgeführt:

  • Datensätze mit den Quelldaten abgleichen
  • Stellen Sie sicher, dass kein Spam/unerwünschte 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) Umwandlung

Die vom Quellserver extrahierten Daten sind roh und können in ihrer ursprünglichen Form nicht verwendet werden. Deshalb muss es gereinigt, kartiert und transformiert werden. Tatsächlich ist dies der entscheidende Schritt, bei dem der ETL-Prozess einen Mehrwert schafft und Daten so verändert, dass aufschlussreiche BI-Berichte erstellt werden können.

Es ist eines der wichtigsten ETL-Konzepte, bei dem Sie eine Reihe von Funktionen auf extrahierte Daten anwenden. Daten, die keine Transformation erfordern, werden als direkt bewegen or Daten weiterleiten.

Im Transformationsschritt können Sie benutzerdefinierte Vorgänge an den Daten durchführen. Zum Beispiel, wenn der Benutzer die Summe der Verkaufserlöse haben möchte, die nicht in der Datenbank enthalten ist. Oder wenn der Vor- und Nachname in einer Tabelle in unterschiedlichen Spalten stehen. Es ist möglich, sie vor dem Laden zu verketten.

Probleme bei der Datenintegration
Probleme bei der Datenintegration

Nachfolgend sind Daten Integrity Probleme:

  1. Unterschiedliche Schreibweise derselben Person wie Jon, John usw.
  2. Es gibt mehrere Möglichkeiten, den Firmennamen zu bezeichnen, z. B. Google, Google Inc.
  3. Verwendung verschiedener Namen wie Cleaveland, Cleveland.
  4. Es kann vorkommen, dass von verschiedenen Anwendungen für denselben Kunden unterschiedliche Kontonummern generiert werden.
  5. In einigen Daten bleiben die erforderlichen Dateien leer
  6. Am POS wurde ein ungültiges Produkt abgeholt, da die manuelle Eingabe zu Fehlern führen kann.

In dieser Phase werden Validierungen durchgeführt

  • Filtern – Wählen Sie nur bestimmte Spalten zum Laden aus
  • Verwendung von Regeln und Nachschlagetabellen zur Datenstandardisierung
  • Zeichensatzkonvertierung und Kodierungsbehandlung
  • Umrechnung von Maßeinheiten wie Datum-/Uhrzeitumrechnung, Währungsumrechnungen, numerische Umrechnungen usw.
  • Validierungsprüfung des Datenschwellenwerts. Beispielsweise darf das Alter nicht mehr als zweistellig sein.
  • 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 auf und führen Sie mehrere Spalten zu einer einzigen Spalte zusammen.
  • Vertauschen von Zeilen und Spalten,
  • Verwenden Sie Suchvorgänge, um Daten zusammenzuführen
  • Durch die Verwendung einer komplexen Datenüberprüfung (wenn beispielsweise die ersten beiden Spalten einer Zeile leer sind, wird die Zeile automatisch von der Verarbeitung ausgeschlossen)

Schritt 3) Laden

Das Laden von Daten in die Ziel-Datawarehouse-Datenbank ist der letzte Schritt des ETL-Prozesses. In einem typischen Data Warehouse müssen große Datenmengen in relativ kurzer Zeit (Nächte) geladen werden. Daher sollte der Ladevorgang hinsichtlich der Leistung optimiert werden.

Im Falle eines Ladefehlers sollten Wiederherstellungsmechanismen so konfiguriert werden, dass sie am Fehlerpunkt ohne Verlust der Datenintegrität neu gestartet werden. Data Warehouse-Administratoren müssen Ladevorgänge entsprechend der aktuellen Serverleistung überwachen, fortsetzen und abbrechen.

Beladungsarten:

  • Anfängliche Ladung – Füllen aller Data Warehouse-Tabellen
  • Inkrementelle Last — Anwendung laufender Änderungen bei Bedarf in regelmäßigen Abständen.
  • Vollständige Aktualisierung – Löschen des Inhalts einer oder mehrerer Tabellen und Neuladen mit neuen Daten.

Überprüfung laden

  • 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.
  • Datenüberprüfungen sowohl in der Dimensionstabelle als auch in der Verlaufstabelle.
  • Überprüfen Sie die BI-Berichte zur geladenen Fakten- und Dimensionstabelle.

ETL-Tools

Da sind viele ETL-Tools sind auf dem Markt erhältlich. 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 Arten von Daten wie Dokumente, Beziehungen und Metadaten abfragen.

https://www.marklogic.com/product/getting-started/


2. Oracle:

Oracle ist die branchenführende Datenbank. Sie bietet eine große Auswahl an Data Warehouse-Lösungen sowohl vor Ort als auch in der Cloud. Sie trägt zur Optimierung des Kundenerlebnisses bei, indem sie die betriebliche Effizienz steigert.

https://www.oracle.com/index.html


3. Amazon RotShift:

Amazon Redshift ist ein Datawarehouse-Tool. Es ist ein einfaches und kostengünstiges Tool zur Analyse aller Arten von Daten mit Standard SQL und vorhandene BI-Tools. Es ermöglicht auch die Ausführung komplexer Abfragen für Petabyte an strukturierten Daten.

https://aws.amazon.com/redshift/?nc2=h_m1

Hier ist eine vollständige Liste nützlicher Data-Warehouse-Tools.

Best Practices für den ETL-Prozess

Im Folgenden finden Sie die Best Practices für ETL-Prozessschritte:

Versuchen Sie niemals, alle Daten zu bereinigen:

Jede Organisation möchte alle Daten sauber haben, aber die meisten von ihnen sind nicht bereit, für das Warten zu bezahlen, oder sind nicht bereit, zu warten. Es würde einfach zu lange dauern, alles zu bereinigen, daher ist es besser, nicht zu versuchen, alle Daten zu bereinigen.

Reinigen Sie niemals etwas:

Planen Sie immer, etwas zu bereinigen, denn der Hauptgrund für den Aufbau des Data Warehouse besteht darin, sauberere und zuverlässigere Daten bereitzustellen.

Bestimmen Sie die Kosten für die Datenbereinigung:

Bevor Sie alle fehlerhaften Daten bereinigen, ist es wichtig, dass Sie die Bereinigungskosten für jedes fehlerhafte Datenelement ermitteln.

Um die Abfrageverarbeitung zu beschleunigen, verfügen Sie über Hilfsansichten und Indizes:

Um die Speicherkosten zu senken, speichern Sie zusammengefasste Daten auf Festplattenbändern. Außerdem ist ein Kompromiss zwischen dem zu speichernden Datenvolumen und seiner detaillierten Nutzung erforderlich. Um die Speicherkosten zu senken, muss ein Kompromiss auf der Ebene der Datengranularität getroffen werden.

Zusammenfassung

  • ETL steht für Extract, Transform and Load.
  • ETL bietet eine Methode zum Verschieben der Daten aus verschiedenen Quellen in eine Data Warehouse.
  • Im ersten Extraktionsschritt 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 Ziel-Datawarehouse ist der letzte Schritt des ETL-Prozesses.