ETL-Prozessphasen: eine Übersicht
Im Kontext der Datenintegration und Business Intelligence nimmt ETL eine bedeutende Rolle ein. Sobald Sie für z. B. Ihr Unternehmen Zugriff auf verschiedene Datenquellen benötigen, empfiehlt sich die Implementierung von ETL-Prozessen. Darauf aufbauend können Sie mit der Business Intelligence fundierte Management-Entscheidungen treffen. Im gleichen Zusammenhang lassen sich große Datenbanken durch die Zusammenführung in Data Warehouses für Ihr Unternehmen zentralisieren. Jede einzelne Phase eines Prozesses in ETL ist für diese optimierte Nutzung von Datenquellen essenziell.
E wie Extract: die Extraktion aus verschiedenen Datenquellen
Als modernes Unternehmen sollten Sie sich nicht auf einen einzigen Typ von Datenquellen beschränken. Die meisten Firmen nutzen für ihre Verwaltung unterschiedliche Quellen, doch dafür ist eine geeignete Methode notwendig. Hierbei handelt es sich bei der Extraktion um den ersten wichtigen Schritt. Die Extraktion im ETL-Prozess zeichnet sich dadurch aus, dass sie sowohl auf interne als auch externe Quellsysteme zurückgreifen kann, um eine Datenbank zu erstellen. Dadurch ergibt sich eine große Vielfalt der Quellen.
Die Extraktion kann z. B. aus bereits bestehenden Datenbanken erfolgen oder Customer-Relationship-Management-Systeme (CRM-Systeme) nutzen. Zudem ist die Extraktion aus mobilen Anwendungen als Quelle möglich sowie die Nutzung von Aktivitätsprotokollen jeder Art. Für die Extraktion an sich werden im Vorfeld Prozesse für die Verbindungsarten zu den diversen Quellsystemen festgelegt. Ein wesentlicher Bestandteil hiervon stellt der Aktualisierungsrhythmus dar, wodurch sich unterschiedliche Methoden für Extraktionen ergeben.
Unterschieden wird zwischen synchronen und asynchronen Extraktionen. Während bei synchronen Extraktionen die Datenbanken im Rahmen eines fortlaufenden Prozesses aktualisiert werden, können Sie bei der asynchronen Methode individuelle Zeitfenster einplanen. Dies hat den Vorteil, dass bei den Extraktionen Ressourcen geschont werden, während die synchrone Methode einen aktuellen Stand sämtlicher Datenbanken sicherstellt. Die Implementierung einer Möglichkeit zum flexiblen Wechsel würde Ihnen somit die Nutzung beider Vorteile ermöglichen, indem beispielsweise nachts weniger Ressourcen verbraucht werden.
T wie Transform: die Umwandlung von Daten
Die Transformation ist der zweite wichtige Prozess bei ETL. In diesem Prozess werden die extrahierten Daten aus den Quellen so umgewandelt, dass diese mit der Zieldatenbank übereinstimmen. Hierbei kann die Transformation selbst wiederum in mehrere einzelne Phasen unterteilt werden.
Zunächst werden die Richtlinien der Formatierung bestimmt. Anschließend kommt es zu einer Optimierung der Datenbanken, was die Entfernung gedoppelter und falscher Daten im Warehouse umfasst. Dem schließt sich die Schlussphase an, in der passende Daten sortiert werden und eine Feinabstimmung der Datenbank mit den festgelegten Zielschemata durchgeführt wird. Sie können die Prozesse der Transformation individuell anpassen, wodurch weitere Operationen möglich sind. Daten können normalisiert werden, indem die Redundanz minimiert und die allgemeine Datenintegrität verbessert wird. Möglich wird dies, wenn Sie die vorhandenen Tabellen nochmals in kleinere Elemente aufteilen und die Beziehungen zwischen diesen neu definieren.
Ein absichtliches Denormalisieren führt hingegen absichtlich Redundanz in das System ein, wodurch die Abfrageleistung beschleunigt wird. Eine weitere bedeutsame Operation bei der Transformation sind Merges: Daten aus verschiedenen Quellen werden hier aufgrund ihrer gemeinsamen Attribute zu einem einzigen Satz kombiniert und neu ausgerichtet. Zusammengefasst wird bei der Transformation die gesamte Data aus Quellen optimiert und in der festgelegten Zieldatenbank zusammengeführt, weswegen dieser Prozess als wichtigste Phase bei ETL angesehen werden kann.
L wie Load: die Bereitstellung aller nötigen Daten
Die letzte Hauptphase der ETL-Prozesse ist das Laden der zuvor extrahierten, umgewandelten und aufbereiteten Daten. Bei diesem Prozess geschieht somit die eigentliche Integration in das Warehouse oder eine andere Zieldatenbank.
Der Speicherort der Datenquellen ist während dieses Prozesses in der Regel gesperrt, sodass es nicht zu Fehlern kommt. Es erfolgt eine physische Verschiebung der Daten und Sie können durch Protokoll- bzw. Logdateien sämtliche Änderungen dokumentieren. Dadurch haben Sie die Möglichkeit, bei Verlusten durch technische Fehler alte Datenstände wiederherzustellen.
Beim Laden gibt es, wie bei den anderen ETL-Prozessen, verschiedene Varianten. Große Datenmengen können z. B. in einem einzigen Batch geladen werden oder es wird jeder Datenstapel nacheinander in festgelegten Intervallen verarbeitet. Des Weiteren gibt es selektive Methoden wie das inkrementelle Loading, bei dem ausschließlich neue oder abgeänderte Datensätze geladen werden. Dadurch können Sie den Aufwand bei der Verarbeitung auf ein Minimum reduzieren. Wenn Sie sich des Weiteren eine möglichst schnelle Methode wünschen, können Datensätze mit Streaming nahezu in Echtzeit geladen werden. Ein typisches Beispiel hierfür sind Echtzeit-Analyse-Dashboards.