ETL-Prozess
Extract, Transform, Load (ETL) bezeichnet in der Informatik einen Prozess, um Daten aus mehreren Datenquellen mit ggf. unterschiedlichen Strukturen in einer Zieldatenbank zu vereinigen. Dieser Vorgang wird in drei Schritten vollzogen, aus denen sich die Bezeichnung ETL ableitet:
- Extraktion (Extract) der relevanten Daten aus verschiedenen Quellen
- Transformation (Transform) der Daten in das Schema und Format der Zieldatenbank
- Laden (Load) der Daten in die Zieldatenbank.
Bekannt ist der Prozess vor allem durch seine Bedeutung beim Betrieb eines Data-Warehouses. Hier müssen große Datenmengen aus mehreren operationalen Datenbanken konsolidiert werden, um dann in das Data-Warehouse gespeichert zu werden.
Das Verfahren lässt sich als allgemeiner Prozess der Informationsintegration auch auf andere Datenbanken übertragen. Dabei gilt es, heterogen strukturierte Daten aus unterschiedlichen Quellen zusammenzuführen. Der Prozess muss sowohl effizient ablaufen, um Sperrzeiten bei den Quellen zu minimieren, als auch die Qualität der Daten sichern, damit sie trotz möglicher Änderungen der Quellen vollständig und konsistent im Data-Warehouse gehalten werden können.
Neuere Einsatzgebiete von Data-Warehouses erfordern das beschleunigte Hinzufügen von Daten. Der Fokus von ETL richtet sich daher zunehmend auf die Minimierung der Latenzzeit, bis die Daten aus den Quellsystemen zur Verfügung stehen. Hierzu ist eine häufigere Durchführung des Prozesses notwendig.
Im Allgemeinen wird bei allen Schritten ein Repositorium eingebunden, das insbesondere die notwendigen Datenbereinigungs- und Transformationsregeln sowie die Schemadaten als Metadaten aufnimmt und langfristig hält.
Die meisten Tools beinhalten Routinen zum Dataprofiling. Bei Migrationen aus Altsystem ist oft die Datenqualität der Quellsysteme nicht absehbar. Diese wird im Dataprofiling gemessen. Die Mappingregeln in der Tranformation muss darauf abgestimmt sein, um ein Funktionieren des Zielsystems nach dem Load zu gewährleisten.
Extraktion
Bei der Extraktion wird in der Regel ein Ausschnitt der Daten aus den Quellen extrahiert und für die Transformation bereitgestellt. Die Quellen können aus verschiedenen Informationssystemen mit verschiedenen Datenformaten und -strukturen bestehen. Hierbei findet eine Schematransformation vom Schema der Quelldaten in das Schema des Arbeitsbereichs statt.
Um das Data-Warehouse mit aktuellen Daten zu versorgen, muss die Extraktion regelmäßig stattfinden. Dies kann synchron mit den Quellen oder asynchron geschehen. Die asynchrone Extraktion kann periodisch, ereignisgesteuert oder anfragegesteuert erfolgen.
- periodisch: Die Quelle erzeugt in regelmäßigen Abständen Auszüge ihrer Daten, die regelmäßig abgefragt werden
- ereignisgesteuert: Die Quelle erzeugt bei bestimmten Ereignissen - beispielsweise nach einer bestimmten Anzahl von Änderungen - einen Auszug
- anfragegesteuert: Die Quelle stellt Auszüge erst auf Anfrage bereit
Hierbei ist zu beachten, dass der Zugriff auf die Quellsysteme nur während deren "Ruhezeit" stattfinden kann, also nach der Nachverarbeitung und nach deren Sicherung. Die Extraktion hat also nur ein kleines Zeitfenster zur Verfügung und muss daher möglichst performant erfolgen. Es werden daher während der Extraktion nur minimale Transformationen vorgenommen.
Bei den Auszügen aus den Quellen kann es sich um ganze oder teilweise Snapshots handeln oder um Teile von Logfiles, in denen alle Änderungen zum jeweils letzten Snapshot aufgelistet sind.
Transformation
Die aus den unterschiedlich strukturierten Quellen stammenden Daten, denen unterschiedlichen Wertebereiche zugrundeliegen können, müssen in ein einheitliches Datenschema transformiert werden. Die Transformation besteht im Wesentlichen aus der Anpassung der Daten an die vorgegebenen Zielstrukturen (Schema-Mapping) des Arbeitsspeichers. Unter Transformation fällt hierbei auch die meist aufwändige Datenbereinigung. Die Transformation findet in einem eigenen Arbeitsbereich (Staging-Area) statt.
Typische Transformationen sind beispielsweise
- Eliminierung von Duplikaten (Objektidentifizierung)
- Schlüsselanpassung (z. B. unterschiedliche Ländercodierungen hin zu DIN ISO Ländercodes)
- Anpassung von Datentypen (z. B. numerische Darstellung des Tagesdatums der Form YYYYMMDD hin zu dem standardisierten Datumsformat vom Datentyp date)
- Anpassung von Datenwerten (z. B. unterschiedliche Codierung des Geschlechts wie 1 (weiblich), 2 (männlich) hin zu f (female) und m (male)).
- Anpassung von Maßeinheiten (z. B. unterschiedliche Volumina wie Gallone und Hektoliter hin zu Liter)
- Aggregation (z. B. Einzelumsätze eines Vertriebsprodukts hin zu monatlichen Umsätzen je Vertriebsprodukt)
Laden
Beim Laden müssen die Daten aus dem Arbeitsbereich in das Data-Warehouse eingebracht werden. Dies soll in der Regel möglichst effizient geschehen, so dass die Datenbank während des Ladens nicht oder nur kurz blockiert wird und ihre Integrität gewahrt wird. Zusätzlich kann eine Versionshistorie angefertigt werden, in der Änderungen protokolliert werden, so dass auf Daten zurückgegriffen werden kann, die zu früheren Zeitpunkten gültig waren .
Im Hinblick auf die Integration der Daten im Data-Warehouse ist eine weitere Schematransformation vom Schema des Arbeitsbereichs in das Schema des Data-Warehouses notwendig.
Tools/Hersteller
Grundsätzlich kann der ETL Prozess in einer beliebigen Programmiersprache umgesetzt werden. Große Unternehmen nutzen aber immer mehr bestehende ETL Lösungen von Drittherstellern. Die Tools mit der meisten Verbreitung sind:
- AbInitio [1]
- Data Transformation Services
- Informatica PowerCenter [2]
- IBM WebSphere DataStage (ehemals Ascential) [3]
- Oracle Warehouse Builder [4]
- Cognos DataManager (ehem. DecisionStream) [5]
- Pervasive Data Integrator [6]
- Hummingbird GENIO [7]
- Business Objects Data Integrator [8]
- Microsoft SQL Server Microsoft SQL Server [9]
- AixBOMS Integraton Engine[10]
Literatur
- Bauer, A., Günzel, H.: Data-Warehouse-Systeme – Architektur, Entwicklung, Anwendung, dpunkt, 2000, ISBN 3-898642-51-8
- Lehner; W.: Datenbanktechnologie für Data-Warehouse-Systeme, Konzepte und Methoden, dpunkt, 2002, ISBN 3-89864-177-5