ETL (Extract, Transform, Load) for Data Integration. Concepts and exemplary usage


Seminar Paper, 2020

31 Pages, Grade: 1


Excerpt


Inhalt

1. Einleitung
1.1. Zielsetzung
1.2. Strukturierung

2. ETL Konzepte
2.1. ETL Phasen
2.2. Nutzungsszenarien
2.3. Funktionen von ETL Tools
2.4. Probleme & Herausforderungen von ETL

3. Open Source ETL Tools
3.1. Übersicht gängiger Open Source ETL Tools
3.2. Anwendung von ETL anhand eines Use Cases
3.2.1. Vorstellung des Use Cases
3.2.2. Zusammenfassung der Ergebnisse

4. Conclusio

Anhangsverzeichnis

Anhang

Literaturverzeichnis

Abbildungsverzeichnis

Abbildung 1: Das ETL Prozessflussdiagramm - angelehnt an (Fatima, 2020)

Abbildung 2: Batch vs. Near real-time ETL (Machado et al., 2019)

Abbildung 3: Open Source ETL Tools in der Literatur

Abbildung 4: Criteria fulfillment by the candidates (Majchrzak et al., 2011)

Abbildung 5: ETL-Prozess Talend Open Studio Use Case (Bildschirmaufnahme aus Talend Opens Studio)

1. Einleitung

Seitdem es die Digitalisierung gibt, hat sich die Menge der erzeugten Daten drastisch erhöht. Es herrscht ein exponentielles Wachstum an strukturierten und unstrukturierten Daten, welche Unternehmen zur Verfügung stehen und bei richtiger Auswertung Wettbewerbsvorteile versprechen (Chakraborty et al., 2017). Doch woher kommen die relevanten Daten und welche Voraussetzungen sind zu erfüllen, um diese zu analysieren? Hier kommt die Datenintegration ins Spiel. Darunter versteht man die Kombination von technischen Prozessen und Geschäftsprozessen. Diese werden verwendet, um Daten aus unterschiedlichen Quellen zu neuen Informationen zu kombinieren, welche wertvoll und aussagekräftig sind (IBM, 2020). Extract, Transform & Load (ETL) ist einer der Prozesse, mit dem Daten integriert werden können. (Hänel, 2017). Diese Technik spielt eine zunehmend wichtige Rolle im Unternehmen, wenn es darum geht, Geschäftsabläufe zu unterstützen (Theodorou et al., 2016). Ein weiterer Treiber für die Verwendung von Datenintegrations-Tools ist der dringende Bedarf an erweiterter Datenintegration, Hybrid-/Multi-Cloud-Datenmanagement, sowie Design von Datenstrukturen (Gartner, 2020). Aufgrund des steigenden Interesses an ETL und der Notwendigkeit der Datenintegration in der Praxis, soll sich die Seminararbeit mit den Fragestellungen beschäftigen, was man unter dem Begriff ETL versteht, welche Open Source Tools zur Anwendung von ETL zur Verfügung stehen und wie ETL anhand eines Fallbeispiels angewendet wird.

1.1. Zielsetzung

Das Ziel dieser Seminararbeit ist es, einen Überblick über den aktuellen Forschungsstand der Datenintegration mithilfe von ETL zu schaffen. Im ersten Teil werden wichtige Konzepte, Nutzungsszenarien und Funktionalitäten von ETL anhand einer Literaturrecherche aufgezeigt und diskutiert. Darüber hinaus werden gängige Fehlerquellen bei der Durchführung von ETL zusammengefasst. Außerdem soll eine Übersicht über diverse Open Source Tools zur Datenintegration mit ETL gegeben werden und auf deren Vor- und Nachteile hingewiesen werden. Neben dieser Literaturrecherche wird die Anwendung von ETL anhand eines konkreten Fallbeispiels demonstriert und diskutiert. Die Ausarbeitung soll dazu dienen, anhand eines Praxisbeispiels einen tieferen Einblick in die Implementierung von ETL zu erhalten, sowie Probleme bei der Durchführung dieses Vorgangs festzustellen.

1.2. Strukturierung

In dieser Seminararbeit soll zunächst geklärt werden, was man unter dem Begriff „ETL“ versteht und welche Konzepte sich dahinter verbergen. Dabei werden die einzelnen Phasen des ETL-Prozesses genauer unter die Lupe genommen und gängige Probleme und Herausforderungen von ETL identifiziert. Weiters wird einschlägige Literatur zum Thema Business Intelligence, Data Warehousing und speziell ETL behandelt (vgl. Vassiliadis, 2009; Vassiliadis et al., 2009; Kimball und Caserta, 2004). Damit ersichtlich wird, in welchen Situationen ETL angewandt wird, werden gängige Nutzungsszenarien wie etwa das Laden von Daten in ein Data Warehouse dargestellt (Doan et al., 2012). Außerdem wird auf spezielle Fälle wie die Echtzeitintegration von Daten eingegangen (Biswas et al., 2020). Anschließend werden typische Funktionalitäten und Komponenten von ETL-Software behandelt, um ein Verständnis dafür zu schaffen, welche Funktionalitäten ETL Tools bieten. Nachdem ein Überblick über die Nutzungsszenarien und gängigen Funktionalitäten geschaffen wurde, wird in Kapitel 2.5 eine Übersicht über diverse Open Source ETL-Werkzeuge gegeben. Als Ausgangspunkt werden empirische Studien zu gängigen ETL Tools diskutiert (vgl. Katagradda et al., 2015; Majchrzak et al., 2011; Thomsen und Pedersen, 2009; Chakraborty et al., 2017). Nachdem in Kapitel 2 die Grundlagen von ETL geklärt wurden, wird in Kapitel 3 ein Use Case für die Anwendung von ETL vorgestellt, welcher selbst mit dem ETL-Werkzeug Talend Open Studio erstellt wird. Kapitel 3.2 beschäftigt sich dabei mit der Vorstellung des Use Cases, bei dem es sich um die Datenintegration eines exemplarischen Warenbestands handelt und verdeutlicht, weshalb Talend Open Studio für dieses Vorhaben verwendet wurde. Dabei wird die Implementierung des Use Cases in Kapitel 3.2.1 beschrieben und dokumentiert. Es sollen Dateien, die den Warenbestand beschreiben, extrahiert und transformiert werden. Anschließend erfolgt das Laden der entsprechenden Daten in eine MySQL Datenbank. Kapitel 3.2.2 beschäftigt sich anschließend mit der qualitativen Auswertung der vorliegenden Fallstudie und der Implikationen. Abschließend werden in Kapitel 4 die Ergebnisse der Seminararbeit zusammengefasst und mögliche Limitationen diskutiert. Außerdem wird ein Ausblick auf weiterführende Forschungsfragen gegeben.

2. ETL Konzepte

Dieser Abschnitt soll dazu dienen, die wichtigsten Konzepte von ETL zu veranschaulichen und den Zusammenhang zwischen Datenintegration und ETL darzustellen. Um ein tieferes Verständnis der ETL Konzepte zu erhalten, werden die einzelnen Phasen des Prozesses im Folgenden genauer beschrieben.

2.1 ETL Phasen

Datenintegration kann auf verschiedene Weise interpretiert werden. Sreemathy et al. (2020) verstehen darunter die Konsolidierung, Verbreitung, Visualisierung und den Verbund von Daten. Außerdem wird in der Definition der Autoren Data Warehousing als eigene Form der Datenintegration verstanden (Sreemathy et al., 2020). Ein Data Warehoue kann dabei als zentrale Datenbank verstanden werden, welche von den operativen Datenverarbeitungssystemen getrennt ist und in der historische, unternehmensspezifische Daten zusammengefasst, geordnet und dauerhaft gespeichert werden (Lackes, 2018). Die Entscheidung für die Einordnung des Data Warehousings in die Datenintegration wird darin begründet, dass die Bereinigung, Neuformatierung und Speicherung von Daten an einer einzigen Stelle selbst eine Form der Datenintegration ist (Sreemathy et al., 2020).

Um eine Datenintegration durchzuführen, gibt es mehrere Ansätze. Im Bereich des Data Warehousing erleichtert die Verwendung von ETL-Tools den sonst aufwändigen Prozess der Datenintegration (Vassiliadis et al., 2005). Hinter der Abkürzung ETL verbirgt sich „Extract - Transform - Load“, ein dreistufiger Prozess der Datenintegration, der als Grundpfeiler eines Data Warehouses angesehen wird. Obwohl die Endbenutzer oftmals nicht viel von ETL mitbekommen, entfallen etwa 70% der verwendeten Ressourcen, die für die Implementierung und Wartung eines Data Warehouses gedacht sind, auf das ETL System (Kimball und Caserta, 2004).

Wenn ein ETL-System richtig entworfen wird, können nicht nur Daten aus unterschiedlichen Quellsystemen extrahiert werden, sondern auch Datenqualitäts- und Konsistenzstandards durchgesetzt werden. Außerdem sorgt ETL mithilfe von Transformationen für die Konformität von Daten und erlaubt es diese Daten in der Regel zentral an einer Stelle abzulegen. Dadurch sind die Daten für Entwickler und Endbenutzer leichter zugänglich und stehen für zukünftige Analysen und Entscheidungen zur Verfügung (Kimball und Caserta, 2004). Die Datenbereinigung und KonformitätsPrüfung der Daten sind laut Kimball und Caserta (2004) die Hauptschritte, bei der ETL einem Mehrwert schafft. Außerdem wird geprüft, ob sich die Daten für den beabsichtigten Zweck verwenden lassen. Die Extraktion und das Laden der Daten sind nach Auffassung der Autoren zwar notwendig, jedoch werden dabei nur Daten bewegt und formatiert. Abbildung 1 veranschaulicht die 3 Phasen des ETL-Prozesses, auf die im Folgenden genauer eingegangen wird.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1: Das ETL Prozessflussdiagramm - angelehnt an (Fatima, 2020)

Der erste Schritt eines ETL-Prozesses besteht darin Daten aus unterschiedlichen operativen Systemen zu extrahieren, welche üblicherweise heterogene Datenbestände aufweisen. Bei der Extraktion werden nicht benötigte Datensätze weggelassen, um die Datenmenge zu verringern. Es ist anzumerken, dass die Leistung der produktiven Systeme bei diesem Vorgang nicht eingeschränkt werden darf. Indem man diesen Prozess in Zeiten geringer Auslastung durchführt, kann dem Leistungsabfall entgegengewirkt werden (Majchrzak et al. 2011). Diese Extraktions-Phase wird laut (Vassiliadis, 2009) als schwierigster Teil der Aktualisierung eines Data Warehouses angesehen, da die Extraktions-Software in eben genanntem Zeitraum und während der Laufzeit minimalen Overhead verursachen soll. Weiters muss sichergestellt werden, dass das ETL-Tool dort installiert wird, an der die geringsten Auswirkungen auf die Konfiguration des Quellsystems zu erwarten sind (Vassiliadis, 2009).

Der nächste Schritt - die Transformation - ist zuständig für das Sicherstellen der Datenqualität der bereitgestellten Daten und die Durchführung jeglicher Transformationen, welche dafür sorgen, dass die Daten geschäftlich interpretiert werden können. Außerdem werden die Daten so aufbereitet und konsolidiert, dass sie dem Schema der Zieldatenbank entsprechen (Majchrzak et al., 2011). Zu den verschiedenen Arten der Transformation gehört die Aggregation und das Sortieren von Daten, sowie das Generieren von Surrogatschlüsseln. Darüber hinaus werden neue Werte aus den vorhandenen Daten abgeleitet und Regeln zum Überprüfen der Daten auf deren Validität angewandt. (Katagradda et al., 2015). Entgegen der Ansicht von Vassiliadis (2009) stufen Katagradda et al. (2015). die Transformationsphase als komplexeste Phase eines ETL- Prozesses ein.

Nachdem die Daten transformiert worden sind, folgt der letzte Schritt, das Laden der Daten in das Data Warehouse. Die vorverarbeiteten und kategorisierten Daten werden in dieser Phase in die Faktentabellen eines Datenbankmanagementsystems geladen (Hänel, 2017). Dabei unterscheidet man zwischen initialen und inkrementellen Laden der Daten, wobei erstere Form des Ladens nicht zeitkritisch ist und zweitere als kritische Aufgabe angesehen wird. Es ist zu anzumerken, dass das Data Warehouse von dieser Phase stark beeinflusst wird. Das sollte man bei der Aktualisierung der Datensätze oder anderen komplexen Aufgaben beachten (Majchrzak et al., 2011). Die Aktualisierungen der Daten im Data Warehouse mittels ETL werden unterschiedlich gehandhabt. Aus diesem Grund wird in Kapitel 2.2 genauer auf die Unterschiede der verschiedenen „Lade-Paradigmen“ eingegangen und ein Ausblick auf die Nutzungsszenarien gegeben.

2.2 Nutzungsszenarien

Einen großen Einfluss auf das Nutzungsszenario eines ETL-Prozesses haben bereits vorgelagerte Entscheidungsprozesse. Denn bevor ein ETL-System implementiert wird, muss zunächst geplant werden, welche Anforderungen an das System gestellt werden und wie der Status Quo der Datenbereitstellung und -verarbeitung im Unternehmen aussieht. Erst nachdem die Anforderungen formuliert worden sind, sollte mit der Auswahl der passenden Architektur des ETL-Systems begonnen werden. Dabei sollte man sich unter anderem die Frage stellen, ob man auf dem Markt erhältliche ETL Tools verwenden will, oder ob man das System selbst schreiben will. Es werden zumeist Tools verwendet, die anpassbar sind, anstatt neue Programme zu schreiben (Majchrzak et al., 2011). Außerdem hat die Form des Datenflusses entscheidenden Einfluss auf die Architektur des gewählten Systems (Kimball und Caserta, 2004). Bei ETL-Prozessen kann man in dieser Hinsicht zwischen dem „batch-mode“, also einem stapelweisen Abarbeiten der Daten und der Echtzeit Integration von Daten unterscheiden. Typischerweise werden sogenannte „batch-jobs“ in bestimmten Intervallen durchgeführt. Wenn diese Intervalle zunehmend kleiner werden und sich im Rahmen von Stunden oder Minuten befinden, spricht man von „near real time“. Umso kürzer diese Intervalle sind, desto komplexer wird die Datenintegration.

Üblicherweise werden ETL-Aktivitäten jedoch stapelweise ausgeführt. Eine Tatsache, die beim Design der Architektur berücksichtigt werden muss und einen genauen Ausführungsplan erfordert. Dieser Plan bestimmt, wann der ETL-Prozess startet (Vassiliadis et al., 2005). Die Ausführung dieser Aktualisierungen fand traditionell im Offlinemodus zu einem nächtlichen Zeitpunkt statt, damit die Systeme tagsüber nicht ausgelastet werden. Jedoch haben sich im Laufe der Zeit die Anforderungen an die Aktualität der Daten geändert. Je aktueller die Daten im Data Warehouse gehalten werden, desto besser (Vassiliadis, 2009). Doch die vollständige Aktualität der Daten im Data Warehouse birgt auch Probleme und steht im Widerspruch zu den Hauptgründen der Separation von Online Transaction Processing- Systemen (OLTP) und der Berichterstattung (Vassiliadis, 2009). Während OLTP sich mit der operativen Massen-Datenverarbeitung beschäftigt, soll die Berichterstattung die Daten für die Zukunft aufbewahren und zur Verfügung stellen (Siepermann, 2018).

Data Warehouse Experten waren vor einigen Jahren noch der Überzeugung, dass das Laden von Daten in Echtzeit im Data Warehousing nicht möglich ist, dagegen legt die aktuelle Literatur nahe, dass „Echtzeit-ETL“ zu einer obligatorischen Anforderung wird, da veraltete Daten zu Missverständnissen führen können. Demnach erhalten moderne Data Warehouses tägliche und stündliche Aktualisierungen. Ermöglicht wird das unter anderem durch sogenannte „Mini-Batches“, also kleineren AktualisierungsPaketen (Mukherjee und Kar, 2017). Aufgrund der Tatsache, dass es dennoch periodische Updates mit kürzeren Intervallen gibt, ist der Begriff „real-time-ETL“ irreführend. Ein treffenderer Begriff ist aus diesem Grund „near-real-time ETL“. Abbildung 2 zeigt die Unterschiede von „Batch-ETL“ und „near real-time ETL“ auf. Es ist zu erkennen, dass sich die beiden Varianten bei dem Zeitpunkt der Extraktion, dem Update-Zyklus, sowie dem Verwendungszweck unterscheiden.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2: Batch vs. Near real-time ETL (Machado et al., 2019)

Mithilfe neuer Ansätze für die Echtzeit-Datenintegration wie dem sogenannten „change data capture“ (CDC), versucht man allerdings die Latenzzeiten drastisch zu reduzieren, lediglich auf Minuten oder Sekunden. Dabei muss man weiters zwischen Push- und Pull- Ansätzen unterscheiden. Pulling-Techniken versenden periodische Batches, welche lediglich die Änderungen zu den letzten empfangenen Datensätzen vornehmen. Somit entspricht diese Technik eher dem traditionellen Befüllen von Data Warehouse Systemen. Dagegen versprechen Push-Ansätze einen kontinuierlichen Datenstrom, womit die Latenzzeiten sehr stark gesenkt werden können (Biswas et al., 2020). Diese neuen Techniken bieten eine Reihe von Vorteilen wie etwa eine Senkung des Ressourcenbedarfs, sowie eine Erhöhung der Effizienz und Geschwindigkeit des Datenflusses. Damit bieten sich auch neue Anwendungsgebiete an, wie der Aufbau von Echtzeit-Dashboards oder die Verbesserung anderer Geschäftsanforderungen, wie etwa des Business Activity Monitorings (BAM) oder der Verbesserung der Datenqualität (Biswas et al., 2020). Um alle dies zu erreichen müssen jedoch neben geringen Latenzzeiten auch eine hohe Verfügbarkeit der Systeme, sowie die Möglichkeit zur Skalierung vorhanden sein. Moderne Systeme können diese Herausforderungen meistern, indem sie auf eine Kombination von CDC, Stream-Verarbeitung, Cluster Computing, In- Memory-Speichern, effizienter Dateipartitionierung und einheitliche Programmiermodelle setzen (Machado et al., 2019). Die Anforderungen an die Implementierung eines solchen Systems sind demnach entsprechend hoch und anspruchsvoll in der Umsetzung. Dennoch kann sich der Aufwand auszahlen, wie sich in der Fallstudie von (Machado et al., 2019) zeigt. Darin wurde mithilfe eines modernen ETL Frameworks eine bis zu 10-fach schnellere Abarbeitung der Datensätze im Vergleich zu dem alten ETL System erzielt (Machado et al., 2019).

Dieses Kapitel hat gezeigt, dass sich die Prozess-Strategien für ETL stark voneinander unterscheiden können. Während Daten traditionell mittels ETL in langen Update-Prozessen stapelweise in ein Data Warehouse geladen worden sind, haben sich die Anforderungen und Gegebenheiten mittlerweile massiv verändert. Mittels „near-real- time“ ETL können Daten in immer kleiner werdenden periodischen Abständen in Data Warehouse Systeme geladen werden. Außerdem führen neue Entwicklungen im Bereich wie etwa CDC dazu, die Latenzen nochmals deutlich zu verringern. Das ermöglicht die Verwendung von ETL in neuen Szenarien wie etwa dem Echtzeit-Dashboards. Auch wenn die Implementierung moderner ETL Systeme entsprechend anspruchsvoll ist, lassen sich deutliche Geschwindigkeitsvorteile erzielen.

2.3 Funktionen von ETL Tools

In Kapitel 2.1 wurden bereits die grundlegenden Konzepte von ETL erklärt. Dieses Kapitel dient dazu, einzelne Funktionen üblicher ETL Tools genauer zu behandeln, um ein tieferes Verständnis über den ETL Prozess zu erhalten. ETL Prozesse gehören zu den wichtigsten Komponenten eines Data Warehouse Systems.

Ein wichtiger Prozess in einem Data Warehouse ist das sogenannte Data Mapping, bei dem eine Verbindung zwischen Tabellen beziehungsweise Attributen unterschiedlicher Datenmodelle hergestellt wird (Ul Haq, 2015). ETL Tools besitzen jedoch eine Reihe von Funktionalitäten, welche über das bloße Datenintegrations- Mapping hinausgehen (Doan et al., 2012). Dazu gehören diverse Funktionen und Methoden, die im Folgenden genauer unter die Lupe genommen werden.

Filter

In dem Vorgang des Filterns wird die Erfüllung vorgegebener Bedingungen überprüft. Neben der Selektierung bestimmter, notwendiger Datensätze, ist es möglich nur diejenigen Daten zu importieren, die keine Null-Werte beinhalten oder keine Primär- /Fremdschlüssel verletzen (Vassiliadis et al., 2005). Eine Subfunktion des Filters ist der Importfilter, welcher ermöglicht, externe Dateiformate aus Drittanbieter-Tools zu extrahieren. Dadurch können Daten, das oftmals nicht in relationalen Datenbanken gespeichert werden, mittels Importfilter in das Data Warehouse geladen werden, das zumeist relational aufgebaut ist (Doan et al., 2012). Importfilter nach Doan et al. (2012) dienen der Extraktion von Daten, konträr dazu sind Filter im Sinne von Vassiliadis et al. (2002) als Teil der Datentransformation zu verstehen.

Datentransformation

Diese zentrale Funktion ist im ETL-Prozess als eigene Phase definiert und hat wiederum mehrere Aufgaben. Dazu gehören die Zusammenführung, Aggregation und das Filtern von Daten (Doan et al., 2012). Transformation kann in diesem Kontext als Oberbegriff für die Umstrukturierung von Schemata und Werten verstanden werden (Vassiliadis et al., 2002). Datentransformationen können laut Vassiliadis et al. (2002) in vier logische Gruppen und zwei physische Gruppen eingeordnet werden. Die erste Gruppe „Filter“ wurde bereits beschrieben. Darüber hinaus existieren die unären und binären Transformationen, welche ebenfalls den logischen Transformationen zugeordnet werden können. Unäre Transformationen haben den Zweck, Daten vom Anbieter zum Verbraucher zu bringen und typische Data Warehouse Operationen durchzuführen, wie etwa die Anwendung von Funktionen oder Aggregationen, sowie De-/Normalisierung und das Zuweisen von Schlüsseln. Dagegen ermöglichen binäre Transformationen die Verbindung, Kombination und Differenz von Konzepten (union, join, difference), sowie das Entdecken von Updates. Die vierte logische Gruppe beinhaltet fortgeschrittene Transformationen, welche die zuvor vorgestellten, einfachen logischen Transformationen kombinieren. Bei der Anwendung der kombinierten Transformationen müssen außerdem Aufgaben berücksichtigt werden, welche Data-Warehouse spezifisch sind. Dazu gehören etwa sich langsam verändernde Dimensionen, sowie Unstimmigkeiten der Formate. Zu den physischen Datentransformationen gehören hingegen die Transfer-Operationen, welche Dateien de-/komprimieren und verschlüsseln. Die Datei-Operationen ermöglichen die Konvertierung von Daten in andere Formate, sowie das Sortieren von Dateien (Vassiliadis et al., 2002).

[...]

Excerpt out of 31 pages

Details

Title
ETL (Extract, Transform, Load) for Data Integration. Concepts and exemplary usage
College
University of Vienna  (Betriebswirtschaftslehre)
Course
Advanced Topics in Business Informatics (MA) - Business Intelligence
Grade
1
Author
Year
2020
Pages
31
Catalog Number
V1007463
ISBN (eBook)
9783346393463
Language
German
Keywords
ETL, Data, Integration, Extract, Transform, Load, BI, Business, Intelligence, Business Intelligence, Talend, ETL Prozess, Universität Wien, Open Source, Open Source ETL, ETL Tools, Use Case, DWH, Data Warehouse, batch ETL, real-time ETL, Data Lineage, MySQL
Quote paper
Daniel Kapferer (Author), 2020, ETL (Extract, Transform, Load) for Data Integration. Concepts and exemplary usage, Munich, GRIN Verlag, https://www.grin.com/document/1007463

Comments

  • No comments yet.
Look inside the ebook
Title: ETL (Extract, Transform, Load) for Data Integration. Concepts and exemplary usage



Upload papers

Your term paper / thesis:

- Publication as eBook and book
- High royalties for the sales
- Completely free - with ISBN
- It only takes five minutes
- Every paper finds readers

Publish now - it's free