ETL-Prozess

19:57 10 August in Big Data

Im Rahmen eines Extract, Transform, Load (ETL) –Prozesses werden Daten aus mehreren gegebenenfalls unterschiedlich strukturierten Datenquellen in einer Zieldatenbank vereinigt.

Dabei steht Extraktion für die Extrahierung der relevanten Daten aus den verschiedenen Quellen, Transformation für die Bearbeitung der Daten und deren Formatierung für die Zieldatenbank und Load für das Schreiben der Daten in das Data-Warehouse.

Bei dem ETL-Prozess wird zusätzlich sichergestellt, dass die Daten in sich konsistent sind und performant abgefragt werden können.

ETL-Verfahren können auch im Wege der Informationsintegration, bei der Informationen aus verschiedenen Datenquellen mit unterschiedlichen Datenstrukturen in eine gemeinsame einheitliche Datenstruktur zusammengeführt werden, auf andere Datenbanken übertragen werden.

ETL-Prozesse erfordern einen effizienten Ablauf, damit Sperrzeiten bei den Datenquellen minimiert werden, und eine effektive Qualitätssicherung der Daten, damit diese auch bei Änderungen der Datenquellen vollständig und konsistent im Data-Warehouse erhalten werden.

Die Minimierung der Latenzzeit, bis die Daten aus den Quellsystemen zur Verfügung stehen, ist primäre Zielrichtung von ETL. Hierfür ist es erforderlich, den Prozess wiederholt durchzuführen.

Extract – die Extraktion

Im Rahmen der Extraktion wird grundsätzlich ein Ausschnitt der Daten aus den Quellen extrahiert und für die Transformation bereitgestellt.

Dabei können die Datenquellen aus unterschiedlichen Informationssystemen bestehen, die verschiedene Datenstrukturen und Datenformate aufweisen.

Für die Versorgung des Data-Warehouse mit aktuellen Daten muss eine regelmäßige Extraktion bzw. Schematransformation vom Schema der Quelldaten in das Schema des Arbeitsbereichs stattfinden, was synchron oder asynchron mit den Datenquellen erfolgen kann.

Jede Änderung am Quellsystem wird bei synchroner Extraktion sofort an das Data-Warehouse propagiert.

Dies führt zur Möglichkeit des sogenannten Real-Time-Data-Warehousing. Dieses deckt den Bedarf nach sofort verfügbaren Daten unter Beibehaltung der Trennung von operativen und auswertenden Systemen.

Eine asynchrone Extraktion kann periodisch, ereignisgesteuert oder anfragegesteuert erfolgen.

Im Fall einer periodischen asynchronen Extraktion erzeugt die Quelle in regelmäßigen Abständen Auszüge ihrer Daten, welche regelmäßig abgefragt werden.

Bei einer ereignisgesteuerten asynchronen Extraktion erzeugt die Quelle bei bestimmten Ereignissen einen Auszug, beispielsweise bei einer definierten Anzahl von Änderungen.

Im Rahmen einer anfragegesteuerten asynchronen Extraktion stellt die Quelle die Auszüge erst auf ein Anfrage hin bereit.

Der Zugriff auf die Quellsysteme darf nur nach Nachverarbeitung erfolgen.

Bei den Auszügen aus den Quellen kann es sich um vollständige oder teilweise Momentaufnahmen (Snapshots) des Systems oder Objekts handeln oder um Bestandteile von Logdateien, die sämtliche Änderungen zum jeweils letzten Snapshot auflisten.

Transform – die Transformation

Den Daten, die aus unterschiedlich strukturierten Quellen stammen, können unterschiedliche Wertebereiche zugrunde liegen, so dass die Daten in ein einheitliches Datenschema transformiert werden müssen.

Bei der Transformation werden die Daten in der sogenannten Staging-Area, wo sie temporär zwischengespeichert werden, an die vorgegebenen Zielstrukturen des Arbeitsspeichers angepasst und bereinigt.

Nach dem Bereinigungs- und Transformationsschritt werden die Daten in eine Zieldatenbank geladen.

Transformationen und Transformationsschritte werden in die Bereiche syntaktische Transformationen und semantische Transformationen eingeteilt.

Im Bereich der syntaktischen Transformationen steht die Verbesserung, Umsetzung oder Korrektur der Daten basierend auf formalen Aspekten im Vordergrund. Gemäß der im Zielsystem notwendigen und angewandten Syntax werden die Daten hier modifiziert.

Im Bereich der semantischen Transformationen erfolgt eine Überprüfung der Daten auf inhaltliche Aspekte sowie eine Modifizierung und Anreicherung im Bedarfsfall.

Load – das Laden

Im Rahmen des Ladens erfolgt die Einbringung der Daten aus dem Arbeitsbereich in das Data-Warehouse.

Hier empfiehlt sich eine zügige und effiziente Einbringung, damit die Datenbank während des Ladens nur kurz oder idealerweise überhaupt nicht blockiert wird. Die Länge des Ladens kann zudem Einfluss auf die Integrität der Datenbank ausüben.

Eine Versionshistorie, in welcher Änderungen protokolliert werden, so dass im Bedarfsfall auf zu früheren Zeitpunkten gültige Daten zurückgegriffen werden kann, kann zusätzlich generiert werden.

Die Integration der Daten im Data-Warehouse macht eine weitere Schematransformation von dem Schema des Arbeitsbereichs in das Schema des Data-Warehouses erforderlich.