what is etl extract
In diesem ausführlichen Lernprogramm zum ETL-Prozess werden der Prozessablauf und die Schritte erläutert, die am ETL-Prozess (Extraktion, Transformation und Laden) im Data Warehouse beteiligt sind:
Dieses Tutorial in der Reihe erklärt: Was ist der ETL-Prozess? Datenextraktion, Transformation, Laden, Flat Files, Was ist Staging? ETL-Zyklus usw.
Lasst uns beginnen!!
=> Lesen Sie hier den perfekten Data Warehousing-Schulungsleitfaden.
Was du lernen wirst:
- Grundlagen des ETL-Prozesses (Extrahieren, Transformieren, Laden)
- Fazit
Grundlagen des ETL-Prozesses (Extrahieren, Transformieren, Laden)
Zielgruppe
- Entwickler und Tester von Data Warehouse / ETL.
- Datenbankprofis mit Grundkenntnissen in Datenbankkonzepten.
- Datenbankadministratoren / Big-Data-Experten, die Data Warehouse- / ETL-Bereiche verstehen möchten.
- Hochschulabsolventen / Studienanfänger, die nach Data Warehouse-Jobs suchen.
Was ist der ETL-Prozess im Data Warehouse?
Wir alle wissen, dass Data Warehouse eine Sammlung großer Datenmengen ist, um den Geschäftsbenutzern mithilfe von Business Intelligence-Tools Informationen bereitzustellen.
Zu diesem Zweck sollte DW in regelmäßigen Abständen geladen werden. Die Daten im System werden von einem oder mehreren Betriebssystemen, Flatfiles usw. gesammelt. Der Prozess, der die Daten zu DW bringt, wird als ETL-Prozess bezeichnet . Extrahieren, Transformieren und Laden sind die Aufgaben von ETL.
# 1) Extraktion: Alle bevorzugten Daten aus verschiedenen Quellsystemen wie Datenbanken, Anwendungen und Flatfiles werden identifiziert und extrahiert. Die Datenextraktion kann abgeschlossen werden, indem Jobs außerhalb der Geschäftszeiten ausgeführt werden.
# 2) Transformation: Die meisten extrahierten Daten können nicht direkt in das Zielsystem geladen werden. Basierend auf den Geschäftsregeln können einige Transformationen durchgeführt werden, bevor die Daten geladen werden.
Zum Beispiel, Daten einer Zielspalte können zwei mit Quellspalten verkettete Daten als Eingabe erwarten. Ebenso kann es eine komplexe Logik für die Datentransformation geben, die Fachwissen erfordert. Einige Daten, für die keine Transformationen erforderlich sind, können direkt auf das Zielsystem verschoben werden.
Der Transformationsprozess korrigiert auch die Daten, entfernt alle falschen Daten und behebt alle Fehler in den Daten, bevor sie geladen werden.
# 3) Laden: Alle gesammelten Informationen werden in die Data Warehouse-Zieltabellen geladen.
Datenextraktion
Die Datenextraktion spielt eine wichtige Rolle beim Entwurf eines erfolgreichen DW-Systems. Unterschiedliche Quellsysteme können unterschiedliche Dateneigenschaften aufweisen, und der ETL-Prozess verwaltet diese Unterschiede effektiv, während die Daten extrahiert werden.
'' Logische Datenkarte ”Ist ein Basisdokument für die Datenextraktion. Dies zeigt, welche Quelldaten zu welcher Zieltabelle gehen sollen und wie die Quellfelder den jeweiligen Zieltabellenfeldern im ETL-Prozess zugeordnet werden.
Im Folgenden sind die Schritte aufgeführt, die beim Entwerfen der logischen Datenkarte ausgeführt werden müssen:
- Ein Data Warehouse-Architekt entwirft das logische Datenzuordnungsdokument.
- Unter Bezugnahme auf dieses Dokument erstellt der ETL-Entwickler ETL-Jobs und ETL-Tester Testfälle.
- In diesem Dokument werden alle spezifischen Datenquellen und die jeweiligen Datenelemente aufgeführt, die die Geschäftsentscheidungen unterstützen. Diese Datenelemente dienen während des Extraktionsprozesses als Eingaben.
- Daten aus allen Quellsystemen werden analysiert und jede Art von Datenanomalien dokumentiert, sodass dies beim Entwerfen der richtigen Geschäftsregeln hilft, um das Extrahieren der falschen Daten in DW zu stoppen. Solche Daten werden hier selbst abgelehnt.
- Sobald das endgültige Quell- und Zieldatenmodell von den ETL-Architekten und den Geschäftsanalysten entworfen wurde, können sie einen Rundgang mit den ETL-Entwicklern und den Testern durchführen. Auf diese Weise erhalten sie ein klares Verständnis dafür, wie die Geschäftsregeln in jeder Phase des Extrahierens, Transformierens und Ladens ausgeführt werden sollten.
- Durch Durchlaufen der Zuordnungsregeln aus diesem Dokument sollten die ETL-Architekten, Entwickler und Tester ein gutes Verständnis dafür haben, wie Daten aus jeder Tabelle als Dimensionen, Fakten und andere Tabellen fließen.
- Hier werden auch alle Arten von Datenmanipulationsregeln oder -formeln erwähnt, um das Extrahieren falscher Daten zu vermeiden. Zum Beispiel, Extrahieren Sie nur die letzten 40 Tage von Daten usw.
- Es liegt in der Verantwortung des ETL-Teams, einen Drilldown in die Daten gemäß den Geschäftsanforderungen durchzuführen, um alle nützlichen Quellsystem-, Tabellen- und Spaltendaten herauszubringen, die in DW geladen werden sollen.
Das logische Datenzuordnungsdokument ist im Allgemeinen eine Tabelle, die die folgenden Komponenten enthält:
(Tabelle “” nicht gefunden /)Extraktionsflussdiagramm:
Geben Sie im Voraus das Zeitfenster an, in dem die Jobs für jedes Quellsystem ausgeführt werden sollen, damit während des Extraktionszyklus keine Quelldaten übersehen werden.
Mit den oben genannten Schritten erreicht die Extraktion das Ziel, Daten aus verschiedenen Formaten aus verschiedenen Quellen in ein einziges DW-Format zu konvertieren, was den gesamten ETL-Prozessen zugute kommt. Solche logisch platzierten Daten sind für eine bessere Analyse nützlicher.
Extraktionsmethoden im Data Warehouse
Abhängig von der Quell- und Zieldatenumgebung und den Geschäftsanforderungen können Sie die für Ihre DW geeignete Extraktionsmethode auswählen.
# 1) Logische Extraktionsmethoden
Die Datenextraktion in einem Data Warehouse-System kann eine einmalige Volllast sein, die anfänglich ausgeführt wird (oder). Es kann sich um inkrementelle Ladevorgänge handeln, die jedes Mal mit ständigen Aktualisierungen auftreten.
wie man double in java benutzt
- Vollständige Extraktion: Wie der Name schon sagt, werden die Quellsystemdaten vollständig in die Zieltabelle extrahiert. Jedes Mal, wenn diese Art der Extraktion die gesamten aktuellen Quellsystemdaten lädt, ohne die zuletzt extrahierten Zeitstempel zu berücksichtigen. Vorzugsweise können Sie die vollständige Extraktion für die anfänglichen Ladevorgänge oder Tabellen mit weniger Daten verwenden.
- Inkrementelle Extraktion: Die Daten, die ab einem bestimmten Datum hinzugefügt / geändert werden, werden für die inkrementelle Extraktion berücksichtigt. Dieses Datum ist geschäftsspezifisch als letztes extrahiertes Datum (oder) Datum der letzten Bestellung usw. Wir können auf eine Zeitstempelspalte aus der Quelltabelle selbst verweisen (oder) eine separate Tabelle kann erstellt werden, um nur die Details des Extraktionsdatums zu verfolgen. Die Bezugnahme auf den Zeitstempel ist eine wichtige Methode bei der inkrementellen Extraktion. Logik ohne Zeitstempel kann fehlschlagen, wenn die DW-Tabelle große Datenmengen enthält.
# 2) Physikalische Extraktionsmethoden
Abhängig von den Fähigkeiten der Quellsysteme und den Einschränkungen der Daten können die Quellsysteme die Daten physisch zur Extraktion als Online-Extraktion und Offline-Extraktion bereitstellen. Dies unterstützt alle logischen Extraktionstypen.
- Online-Extraktion :: Mit den Verbindungszeichenfolgen können wir eine direkte Verbindung zu beliebigen Quellsystemdatenbanken herstellen, um Daten direkt aus den Quellsystemtabellen zu extrahieren.
- Offline-Extraktion :: Wir werden hier keine direkte Verbindung zur Quellsystemdatenbank herstellen, sondern das Quellsystem stellt Daten explizit in einer vordefinierten Struktur bereit. Quellsysteme können Daten in Form von Flatfiles, Dump-Dateien, Archivprotokollen und Tablespaces bereitstellen.
ETL-Tools eignen sich am besten für komplexe Datenextraktionen, für DW beliebig oft, obwohl sie teuer sind.
Geänderte Daten extrahieren
Nach dem ersten Laden ist es wichtig zu überlegen, wie die geänderten Daten aus dem Quellsystem weiter extrahiert werden können. Das ETL-Prozessteam sollte zu Beginn des Projekts selbst einen Plan für die Implementierung der Extraktion für die Anfangslasten und die inkrementellen Lasten entwerfen.
Meistens können Sie die Strategie „Überwachungsspalten“ für die inkrementelle Last in Betracht ziehen, um die Datenänderungen zu erfassen. Im Allgemeinen können die Quellsystemtabellen Überwachungsspalten enthalten, in denen der Zeitstempel für jede Einfügungs- (oder) Änderung gespeichert ist.
Der Zeitstempel wird möglicherweise von Datenbank-Triggern (oder) aus der Anwendung selbst ausgefüllt. Sie müssen sicherstellen, dass die Daten der Überwachungsspalten auch dann korrekt sind, wenn sie auf irgendeine Weise geladen werden, damit die geänderten Daten für inkrementelle Ladevorgänge nicht übersehen werden.
Während des inkrementellen Ladevorgangs können Sie das maximale Datum und die maximale Uhrzeit des letzten Ladevorgangs berücksichtigen und alle Daten aus dem Quellsystem extrahieren, wobei der Zeitstempel größer als der Zeitstempel des letzten Ladevorgangs ist.
Beim Extrahieren der Daten:
- Verwenden Sie Abfragen optimal, um nur die Daten abzurufen, die Sie benötigen.
- Verwenden Sie die Distinct-Klausel nicht sehr, da dies die Leistung der Abfragen verlangsamt.
- Verwenden Sie SET-Operatoren wie Union, Minus und Intersect sorgfältig, da dies die Leistung beeinträchtigt.
- Verwenden Sie Vergleichsschlüsselwörter wie like, Between usw. in der where-Klausel anstelle von Funktionen wie substr (), to_char () usw.
Datentransformation
Transformation ist der Prozess, bei dem eine Reihe von Regeln auf die extrahierten Daten angewendet wird, bevor die Quellsystemdaten direkt in das Zielsystem geladen werden. Die extrahierten Daten werden als Rohdaten betrachtet.
Der Transformationsprozess mit einer Reihe von Standards bringt alle unterschiedlichen Daten aus verschiedenen Quellsystemen in verwendbare Daten im DW-System. Die Datentransformation zielt auf die Qualität der Daten ab. Sie können sich auf das Datenzuordnungsdokument für alle logischen Transformationsregeln beziehen.
Basierend auf den Transformationsregeln werden Quelldaten, wenn Quelldaten nicht den Anweisungen entsprechen, vor dem Laden in das Ziel-DW-System zurückgewiesen und in eine Ablehnungsdatei oder Ablehnungstabelle gestellt.
Die Transformationsregeln sind für die Daten der geraden Lastspalten (muss nicht geändert werden) von Quelle zu Ziel nicht angegeben. Daher können Datentransformationen als einfach und komplex klassifiziert werden. Datentransformationen können Spaltenkonvertierungen, Neuformatierungen der Datenstruktur usw. umfassen.
Im Folgenden sind einige der Aufgaben aufgeführt, die während der Datentransformation ausgeführt werden müssen:
# 1) Auswahl: Sie können entweder die gesamten Tabellendaten oder einen bestimmten Satz von Spaltendaten aus den Quellsystemen auswählen. Die Auswahl der Daten wird normalerweise bei der Extraktion selbst abgeschlossen.
Es kann Fälle geben, in denen das Quellsystem es nicht zulässt, während der Extraktionsphase einen bestimmten Satz von Spaltendaten auszuwählen, dann die gesamten Daten zu extrahieren und die Auswahl in der Transformationsphase durchzuführen.
# 2) Teilen / Verbinden: Sie können die ausgewählten Daten bearbeiten, indem Sie sie teilen oder verbinden. Sie werden aufgefordert, die ausgewählten Quelldaten während der Transformation noch weiter aufzuteilen.
Zum Beispiel, Wenn die gesamte Adresse in einem einzigen großen Textfeld im Quellsystem gespeichert ist, fordert das DW-System möglicherweise auf, die Adresse in separate Felder wie Stadt, Bundesland, Postleitzahl usw. aufzuteilen. Dies ist einfach für die Indizierung und Analyse basierend auf jedem Feld Komponente einzeln.
Während das Verbinden / Zusammenführen von zwei oder mehr Spaltendaten während der Transformationsphase im DW-System weit verbreitet ist. Dies bedeutet nicht, dass zwei Felder zu einem einzigen Feld zusammengeführt werden.
Zum Beispiel, Wenn Informationen zu einer bestimmten Entität aus mehreren Datenquellen stammen, kann das Sammeln der Informationen als einzelne Entität als Zusammenführen / Zusammenführen der Daten bezeichnet werden.
# 3) Konvertierung: Die extrahierten Quellsystemdaten können für jeden Datentyp in unterschiedlichen Formaten vorliegen, daher sollten alle extrahierten Daten während der Transformationsphase in ein standardisiertes Format konvertiert werden. Das gleiche Format ist leicht zu verstehen und für Geschäftsentscheidungen leicht zu verwenden.
# 4) Zusammenfassung: In einigen Situationen sucht DW nach zusammengefassten Daten und nicht nach detaillierten Daten auf niedriger Ebene aus den Quellsystemen. Weil Daten auf niedriger Ebene nicht am besten für die Analyse und Abfrage durch die Geschäftsbenutzer geeignet sind.
Zum Beispiel, Verkaufsdaten für jede Kaufabwicklung werden möglicherweise nicht vom DW-System benötigt. Tägliche Verkaufsnebenprodukte (oder) tägliche Verkäufe durch das Geschäft sind nützlich. Daher kann eine Zusammenfassung der Daten während der Transformationsphase gemäß den Geschäftsanforderungen durchgeführt werden.
# 5) Anreicherung: Wenn eine DW-Spalte durch Kombinieren einer oder mehrerer Spalten aus mehreren Datensätzen gebildet wird, ordnet die Datenanreicherung die Felder neu an, um die Daten im DW-System besser anzeigen zu können.
# 6) Formatrevisionen: Formatrevisionen treten am häufigsten während der Transformationsphase auf. Der Datentyp und seine Länge werden für jede Spalte überarbeitet.
Zum Beispiel, Eine Spalte in einem Quellsystem kann numerisch sein und dieselbe Spalte in einem anderen Quellsystem kann ein Text sein. Um dies zu standardisieren, wird während der Transformationsphase der Datentyp für diese Spalte in Text geändert.
# 7) Dekodierung von Feldern: Wenn Sie Daten aus mehreren Quellsystemen extrahieren, werden die Daten in verschiedenen Systemen möglicherweise unterschiedlich decodiert.
Zum Beispiel, Ein Quellsystem kann den Kundenstatus als AC, IN und SU darstellen. Ein anderes System kann den gleichen Status wie 1, 0 und -1 darstellen.
Während der Datentransformationsphase müssen Sie solche Codes in geeignete Werte dekodieren, die für die Geschäftsbenutzer verständlich sind. Daher können die obigen Codes in Aktiv, Inaktiv und Angehalten geändert werden.
# 8) Berechnete und abgeleitete Werte: Durch Berücksichtigung der Quellsystemdaten kann DW zusätzliche Spaltendaten für die Berechnungen speichern. Sie müssen die Berechnungen basierend auf der Geschäftslogik durchführen, bevor Sie sie in DW speichern.
# 9) Datums- / Zeitumrechnung: Dies ist einer der wichtigsten Datentypen, auf die Sie sich konzentrieren sollten. Das Datums- / Uhrzeitformat kann in mehreren Quellsystemen unterschiedlich sein.
Zum Beispiel, Eine Quelle kann das Datum als 10. November 1997 speichern. Eine andere Quelle kann dasselbe Datum im Format 11.10.1997 speichern. Daher sollten während der Datentransformation alle Datums- / Zeitwerte in ein Standardformat konvertiert werden.
# 10) Deduplizierung: Wenn das Quellsystem doppelte Datensätze enthält, stellen Sie sicher, dass nur ein Datensatz in das DW-System geladen wird.
Transformationsflussdiagramm:
Wie implementiere ich Transformation?
Abhängig von der Komplexität der Datentransformationen können Sie manuelle Methoden, Transformationstools (oder eine Kombination aus beiden) verwenden, je nachdem, was effektiv ist.
# 1) Manuelle Techniken
Manuelle Techniken sind für kleine DW-Systeme ausreichend. Datenanalysten und Entwickler erstellen die Programme und Skripte, um die Daten manuell zu transformieren. Diese Methode muss für jeden Teil des Codes detailliert getestet werden.
Die Wartungskosten können aufgrund von Änderungen in den Geschäftsregeln (oder) aufgrund der Wahrscheinlichkeit von Fehlern bei der Zunahme des Datenvolumens hoch werden. Sie sollten sich zunächst und bei jeder Änderung der Transformationsregeln um Metadaten kümmern.
# 2) Transformationswerkzeuge
Wenn Sie den größten Teil des Transformationsprozesses automatisieren möchten, können Sie die Transformationstools je nach Budget und Zeitrahmen für das Projekt übernehmen. Während der Automatisierung sollten Sie viel Zeit darauf verwenden, die Tools auszuwählen, zu konfigurieren, zu installieren und in das DW-System zu integrieren.
Praktisch Eine vollständige Transformation mit den Werkzeugen selbst ist ohne manuelles Eingreifen nicht möglich. Aber die von den Tools transformierten Daten sind sicherlich effizient und genau.
Um dies zu erreichen, sollten wir als Eingabe geeignete Parameter, Datendefinitionen und Regeln in das Transformationstool eingeben. Aus den angegebenen Eingaben zeichnet das Tool selbst die Metadaten auf und diese Metadaten werden zu den gesamten DW-Metadaten hinzugefügt.
Wenn sich Änderungen an den Geschäftsregeln ergeben, geben Sie diese Änderungen einfach in das Tool ein. Die restlichen Transformationsänderungen werden vom Tool selbst übernommen. Daher ist eine Kombination beider Methoden effizient anzuwenden.
Laden von Daten
Extrahierte und transformierte Daten werden während der Ladephase des ETL-Prozesses in die Ziel-DW-Tabellen geladen. Das Unternehmen entscheidet, wie der Ladevorgang für jede Tabelle ablaufen soll.
Der Ladevorgang kann auf folgende Arten erfolgen:
- Anfangslast: Laden Sie die Daten, um die jeweiligen DW-Tabellen zum ersten Mal zu füllen.
- Inkrementelle Belastung: Sobald die DW-Tabellen geladen sind, werden die restlichen laufenden Änderungen regelmäßig angewendet.
- Vollständige Aktualisierung: Wenn verwendete Tabellen aktualisiert werden müssen, werden die aktuellen Daten aus dieser Tabelle vollständig entfernt und anschließend neu geladen. Das Nachladen ähnelt dem anfänglichen Laden.
Schauen Sie sich das folgende Beispiel an, um den Ladevorgang in ETL besser zu verstehen:
Produkt ID | Produktname | Verkaufsdatum |
---|---|---|
1 | Grammatikbuch | 3. Juni 2007 |
zwei | Marker | 3. Juni 2007 |
3 | Rucksack | 4. Juni 2007 |
4 | Deckel | 4. Juni 2007 |
5 | Schuhe | 5. Juni 2007 |
# 1) Während des ersten Ladens werden die Daten, die am 3 verkauft werdenrdJuni 2007 wird in die DW-Zieltabelle geladen, da es sich um die Anfangsdaten aus der obigen Tabelle handelt.
#zwei) Während des inkrementellen Ladens müssen wir die Daten laden, die nach 3 verkauft werdenrdJuni 2007. Wir sollten alle Datensätze berücksichtigen, deren Verkaufsdatum größer als (>) das vorherige Datum für den nächsten Tag ist. Daher am 4thJuni 2007, holen Sie alle Datensätze mit Verkaufsdatum> 3rdJuni 2007 mithilfe von Abfragen und Laden nur dieser beiden Datensätze aus der obigen Tabelle.
Am 5thJuni 2007, holen Sie alle Datensätze mit Verkaufsdatum> 4thJuni 2007 und laden Sie nur einen Datensatz aus der obigen Tabelle.
#3) Während der vollständigen Aktualisierung werden alle oben genannten Tabellendaten unabhängig vom Verkaufsdatum zu einem Zeitpunkt in die DW-Tabellen geladen.
Die geladenen Daten werden in den jeweiligen Dimension (oder) Faktentabellen gespeichert. Die Daten können wie folgt in die DW-Tabellen geladen, angehängt oder zusammengeführt werden:
# 4) Laden: Die Daten werden in die Zieltabelle geladen, wenn sie leer sind. Wenn in der Tabelle Daten vorhanden sind, werden die vorhandenen Daten entfernt und dann mit den neuen Daten geladen.
Zum Beispiel,
Vorhandene Tabellendaten
Mitarbeitername | Rolle |
---|---|
John | Manager |
Revanth | Führen |
Bob | Direktionsassistent |
Ronald | Entwickler |
Geänderte Daten
Mitarbeitername | Rolle |
---|---|
John | Manager |
Rohan | Direktor |
Chetan | AVP |
Das | VP |
Daten nach dem Laden
Mitarbeitername | Rolle |
---|---|
John | Manager |
Rohan | Direktor |
Chetan | AVP |
Das | VP |
# 5) Anhängen: Anhängen ist eine Erweiterung der obigen Last, da es für bereits vorhandene Daten funktioniert. In den Zieltabellen fügt Anhängen den vorhandenen Daten weitere Daten hinzu. Wenn ein doppelter Datensatz mit den Eingabedaten gefunden wird, kann er als doppelter (oder) abgelehnter Datensatz angehängt werden.
Zum Beispiel,
Vorhandene Tabellendaten
Was kann eine EPS-Datei öffnen
Mitarbeitername | Rolle |
---|---|
John | Manager |
Revanth | Führen |
Geänderte Daten
Mitarbeitername | Rolle |
---|---|
John | Manager |
Rohan | Direktor |
Chetan | AVP |
Das | VP |
Daten nach dem Anhängen
Mitarbeitername | Rolle |
---|---|
John | Manager |
Revanth | Führen |
Rohan | Direktor |
Chetan | AVP |
Das | VP |
# 6) Destruktive Zusammenführung: Hier werden die eingehenden Daten anhand des Primärschlüssels mit den vorhandenen Zieldaten verglichen. Wenn eine Übereinstimmung vorliegt, wird der vorhandene Zieldatensatz aktualisiert. Wird keine Übereinstimmung gefunden, wird ein neuer Datensatz in die Zieltabelle eingefügt.
Zum Beispiel,
Vorhandene Tabellendaten
Mitarbeitername | Rolle |
---|---|
John | Manager |
Revanth | Führen |
Geänderte Daten
Mitarbeitername | Rolle |
---|---|
John | Manager |
Revanth | Direktor |
Chetan | AVP |
Das | VP |
Daten nach konstruktiver Zusammenführung
Mitarbeitername | Rolle |
---|---|
John | Manager |
Revanth | Direktor |
Chetan | AVP |
Das | VP |
# 7) Konstruktiv geht: Im Gegensatz zur destruktiven Zusammenführung belässt der vorhandene Datensatz den vorhandenen Datensatz unverändert, fügt den eingehenden Datensatz ein und markiert ihn als die neuesten Daten (Zeitstempel) in Bezug auf diesen Primärschlüssel.
Zum Beispiel,
Vorhandene Tabellendaten
Mitarbeitername | Rolle |
---|---|
John | Manager |
Revanth | Führen |
Geänderte Daten
Mitarbeitername | Rolle |
---|---|
John | Manager |
Revanth | Direktor |
Chetan | AVP |
Das | VP |
Daten nach konstruktiver Zusammenführung
Mitarbeitername | Rolle |
---|---|
John | Manager |
Revanth | Direktor*** |
Revanth | Führen |
Chetan | AVP |
Das | VP |
Technisch gesehen ist das Aktualisieren einfacher als das Aktualisieren der Daten. Das Update erfordert eine spezielle Strategie, um nur die spezifischen Änderungen zu extrahieren und auf das DW-System anzuwenden, während Refresh nur die Daten ersetzt. Das Aktualisieren der Daten dauert jedoch je nach Datenvolumen länger.
Wenn Sie solche Aktualisierungsjobs täglich ausführen müssen, müssen Sie möglicherweise das DW-System herunterfahren, um die Daten zu laden. Anstatt das gesamte DW-System jedes Mal herunterzufahren, um Daten zu laden, können Sie Daten in Form weniger Dateien teilen und laden.
Notieren Sie sich beim Testen die Laufzeit für jede Last. Wenn Daten aufgrund von Schlüsselinkongruenzen usw. nicht in das DW-System geladen werden können, geben Sie ihnen die Möglichkeit, mit solchen Daten umzugehen. Stellen Sie sicher, dass die geladenen Daten gründlich getestet werden.
Ladeflussdiagramm:
Flat Files
Flatfiles werden häufig zum Datenaustausch zwischen heterogenen Systemen, von verschiedenen Quellbetriebssystemen und von verschiedenen Quellendatenbanksystemen zu Data Warehouse-Anwendungen verwendet. Flatfiles sind auch für homogene Systeme am effizientesten und einfachsten zu verwalten.
Flatfiles werden hauptsächlich für folgende Zwecke verwendet:
# 1) Lieferung von Quelldaten: Möglicherweise gibt es nur wenige Quellsysteme, die DW-Benutzern aus Sicherheitsgründen keinen Zugriff auf ihre Datenbanken ermöglichen. In solchen Fällen werden die Daten über Flatfiles geliefert.
In ähnlicher Weise werden die Daten von externen Anbietern oder Mainframesystemen im Wesentlichen in Form von Flatfiles bezogen, und diese werden von den ETL-Benutzern per FTP übertragen.
# 2) Arbeits- / Staging-Tabellen: Der ETL-Prozess erstellt Staging-Tabellen für seinen internen Zweck. Die Zuordnung von Staging-Tabellen zu den Flatfiles ist viel einfacher als beim DBMS, da Lese- und Schreibvorgänge in ein Dateisystem schneller sind als das Einfügen und Abfragen einer Datenbank.
# 3) Vorbereitung für die Massenladung: Wenn die Extraktions- und Transformationsprozesse abgeschlossen sind, Wenn das In-Stream-Massenladen vom ETL-Tool nicht unterstützt wird (oder) Wenn Sie die Daten archivieren möchten, können Sie eine Flatfile erstellen. Diese Flatfile-Daten werden vom Prozessor gelesen und laden die Daten in das DW-System.
Flatfiles können auf zwei Arten erstellt werden: 'Flatfiles mit fester Länge' und 'Begrenzte Flatfiles'. Flatfiles können von den Programmierern erstellt werden, die für das Quellsystem arbeiten.
Lassen Sie uns sehen, wie wir diese Flatfiles verarbeiten:
Verarbeitung von Flatfiles mit fester Länge
Im Allgemeinen haben flache Dateien Spalten mit fester Länge, daher werden sie auch als positionelle flache Dateien bezeichnet. Unten sehen Sie das Layout einer Flatfile, in der die genauen Felder und ihre Positionen in einer Datei angezeigt werden.
Feldname | Länge | Start | Ende | Art | Bemerkungen |
---|---|---|---|---|---|
Vorname | 10 | 1 | 10 | Text | Vorname des Kunden |
Zweiter Vorname | 5 | elf | fünfzehn | Text | Zweiter Vorname des Kunden |
Nachname | 10 | 16 | 25 | Text | Nachname des Kunden |
Das Layout enthält die Feldname, Länge, Startposition an welcher Stelle das Feldzeichen beginnt, an welcher Endposition das Feldzeichen endet, der Datentyp als Text, numerisch usw. und gegebenenfalls Kommentare.
Abhängig von den Datenpositionen überprüft das ETL-Testteam die Genauigkeit der Daten in einer Flatfile mit fester Länge.
Verarbeitung von abgegrenzten Flat Files
In abgegrenzten Flat Files wird jedes Datenfeld durch Trennzeichen getrennt. Dieses Trennzeichen gibt die Start- und Endposition jedes Felds an. Im Allgemeinen wird ein Komma als Trennzeichen verwendet, Sie können jedoch jedes andere Symbol oder eine Reihe von Symbolen verwenden.
Begrenzte Dateien können die Erweiterung .CSV (oder) .TXT (oder) ohne Erweiterung haben. Die Entwickler, die die ETL-Dateien erstellen, geben das tatsächliche Trennzeichen an, um diese Datei zu verarbeiten. In dem begrenzten Dateilayout kann die erste Zeile die Spaltennamen darstellen.
Wie bei den Positions-Flatfiles überprüft das ETL-Testteam explizit die Genauigkeit der abgegrenzten Flatfile-Daten.
Zweck des Bereitstellungsbereichs
Der Hauptzweck des Staging-Bereichs besteht darin, Daten vorübergehend für den ETL-Prozess zu speichern. Der Staging-Bereich wird als Hinterzimmer des DW-Systems bezeichnet. Der ETL-Architekt entscheidet, ob Daten im Staging-Bereich gespeichert werden sollen oder nicht.
Staging hilft dabei, die Daten von Quellsystemen sehr schnell abzurufen. Wenn das DW-System ausfällt, müssen Sie den Prozess nicht erneut starten, indem Sie Daten aus den Quellsystemen erfassen, wenn die Staging-Daten bereits vorhanden sind.
Nach dem Datenextraktionsprozess gibt es folgende Gründe, um Daten im DW-System bereitzustellen:
# 1) Wiederherstellbarkeit: Die aufgefüllten Staging-Tabellen werden in der DW-Datenbank selbst gespeichert (oder) sie können in Dateisysteme verschoben und separat gespeichert werden. Irgendwann können die Staging-Daten als Wiederherstellungsdaten fungieren, wenn eine Transformation oder ein Ladeschritt fehlschlägt.
Es besteht die Möglichkeit, dass das Quellsystem die für ETL verwendeten Daten überschrieben hat. Daher hilft es uns, die extrahierten Daten beim Staging beizubehalten.
# 2) Backup: Es ist schwierig, große Mengen an DW-Datenbanktabellen zu sichern. Backups sind jedoch ein Muss für jede Notfallwiederherstellung. Wenn Sie also über die Staging-Daten verfügen, bei denen es sich um extrahierte Daten handelt, können Sie die Jobs zum Transformieren und Laden ausführen, wodurch die abgestürzten Daten erneut geladen werden können.
Um die Staging-Daten zu sichern, können Sie die Staging-Daten häufig in Dateisysteme verschieben, damit sie einfach komprimiert und in Ihrem Netzwerk gespeichert werden können. Wenn nötig, dekomprimieren Sie einfach die Dateien, laden Sie sie in Staging-Tabellen und führen Sie die Jobs aus, um die DW-Tabellen neu zu laden.
# 3) Prüfung: Manchmal kann eine Prüfung des ETL-Systems durchgeführt werden, um die Datenverbindung zwischen dem Quellsystem und dem Zielsystem zu überprüfen. Die Prüfer können die ursprünglichen Eingabedaten anhand der Transformationsregeln anhand der Ausgabedaten validieren.
Die Staging-Daten und die Sicherung sind hier sehr hilfreich, auch wenn das Quellsystem über die verfügbaren Daten verfügt oder nicht. Da die Prüfung jederzeit und zu jedem Zeitpunkt der gegenwärtigen (oder) vergangenen Daten erfolgen kann. Die Architektur des Staging-Bereichs sollte gut geplant sein.
Entwerfen des Staging-Bereichs
Im Data Warehouse können die Staging-Bereichsdaten wie folgt gestaltet werden:
Bei jedem neuen Laden von Daten in Staging-Tabellen können die vorhandenen Daten als Referenzdaten gelöscht (oder) als Referenz verwaltet werden. Wenn Daten gelöscht werden, spricht man von einem „vorübergehenden Staging-Bereich“.
Wenn Daten als Verlauf verwaltet werden, werden sie als 'persistenter Staging-Bereich' bezeichnet. Sie können auch einen Bereitstellungsbereich mit einer Kombination der beiden oben genannten Typen entwerfen, nämlich „Hybrid“.
Hier sind die Grundregeln, die beim Entwerfen des Bereitstellungsbereichs zu beachten sind:
- Nur das ETL-Team sollte Zugriff auf den Datenbereitstellungsbereich haben. Das Abfragen der Staging-Daten ist auf andere Benutzer beschränkt.
- Tabellen im Staging-Bereich können vom ETL-Datenarchitekten hinzugefügt, geändert oder gelöscht werden, ohne dass andere Benutzer beteiligt sind. Da der Staging-Bereich kein Präsentationsbereich zum Generieren von Berichten ist, fungiert er lediglich als Workbench.
- Der ETL-Architekt sollte das Datenspeichermaß des Staging-Bereichs schätzen, um die Details für DBA- und Betriebssystemadministratoren bereitzustellen. Administratoren weisen Speicherplatz für die Bereitstellung von Datenbanken, Dateisystemen, Verzeichnissen usw. zu.
Wenn der Staging-Bereich und die DW-Datenbank denselben Server verwenden, können Sie die Daten problemlos in das DW-System verschieben. Wenn sich die Server unterscheiden, verwenden Sie FTP- (oder) Datenbankverbindungen.
ETL-Prozessablauf
Ein Standard-ETL-Zyklus durchläuft die folgenden Prozessschritte:
- Starten Sie den ETL-Zyklus, um Jobs nacheinander auszuführen.
- Stellen Sie sicher, dass alle Metadaten bereit sind.
- Der ETL-Zyklus hilft beim Extrahieren der Daten aus verschiedenen Quellen.
- Überprüfen Sie die extrahierten Daten.
- Wenn Staging-Tabellen verwendet werden, lädt der ETL-Zyklus die Daten in das Staging.
- ETL führt Transformationen durch Anwenden von Geschäftsregeln, Erstellen von Aggregaten usw. Durch
- Wenn es Fehler gibt, wird der ETL-Zyklus dies in Form von Berichten zur Kenntnis bringen.
- Dann lädt der ETL-Zyklus Daten in die Zieltabellen.
- Frühere Daten, die als historische Referenz gespeichert werden müssen, werden archiviert.
- Der Rest der Daten, die nicht gespeichert werden müssen, wird bereinigt.
ETL-Prozessflussdiagramm:
Fazit
In diesem Tutorial haben wir die wichtigsten Konzepte des ETL-Prozesses in Data Warehouse kennengelernt. Inzwischen sollten Sie in der Lage sein, Datenextraktion, Datentransformation, Datenladen und den ETL-Prozessfluss zu verstehen.
Lesen Sie das bevorstehende Tutorial, um mehr über Data Warehouse-Tests zu erfahren!
=> Besuchen Sie hier für die exklusive Data Warehousing-Serie.
Literatur-Empfehlungen
- Tutorial zum Testen von Data Warehouse mit Beispielen | ETL-Testhandbuch
- 10 besten Tools für die Datenzuordnung, die im ETL-Prozess nützlich sind (2021 LIST)
- Tutorial zum Testen von ETL-Data Warehouse-Tests (Eine vollständige Anleitung)
- Data Mining: Prozesse, Techniken und wichtige Probleme bei der Datenanalyse
- Data Mining-Prozess: Modelle, Prozessschritte und Herausforderungen
- Fragen und Antworten zum ETL-Testinterview
- Top 10 ETL-Testwerkzeuge im Jahr 2021
- Top 10 der beliebtesten Data Warehouse-Tools und Testtechnologien