ETL im Data Warehouse am Beispiel IBM DataStage (Teil II) Die Architektur einer ETL-Software In dem letzten Artikel �Geordneter Einzug dank ETL-Prozessen“ [4] beschäftigten wir uns mit den Grundlagen von ETL-Prozessen. Dieser Artikel erläutert nun den grundlegenden Aufbau einer ETL-Software zur Befüllung von Datenbanken am Beispiel IBM DataStage. Grundlagen IBM DataStage DataStage ist eines der führenden ETLProdukte im BI-Bereich. Dieses Werkzeug unterstützt die Erfassung, Integration und Konvertierung großer Datenmengen mit einfachen und komplexen Datenstrukturen aus heterogenen Datenquellen. Anhand einer Palette von visuellen Komponenten können DataMarts und Data Warehouses schnell und einfach erstellt bzw. gewartet werden (siehe Abbildung 1). DataStage handelt nach dem Prinzip �What you see, is what you get“. Durch Links werden Stages zu einer logischen Verarbeitungskette verknüpft. Dabei hat jede Stage bestimmte Eigenschaften (siehe Abbildung 2 und 3). Eine gemeinsame Nutzung von Job-Komponenten und Metadaten erhöhen zudem die Wiederverwendbarkeit und somit auch die Produktivität. Die Administration der Software erfolgt an zentraler Stelle durch Überwachungs- und Statistik-Tools, wodurch eine gute Kontrolle der Jobs gewährleistet wird. Datenstrukturen Mit DataStage ist eine nahtlose Integration von Unternehmensdaten aus verschiedenen Quellsystemen möglich. Im Folgenden sind die wichtigsten Strukturen aufgelistet: � Textdateien mit komplexen Mainframe-Dateien � Komplexe XML-Datenstrukturen � Unternehmensanwendungssysteme wie SAP, Siebel, Oracle und PeopleSoft � Nahezu jede Datenbank, wie z.B. Oracle, IBM DB2 Universal Database, IBM Informix, Sybase, Teradata und MicrosoftSQL Server � Webservices Die extrahierten Daten können anschließend mit Hilfe von Verwaltungswerkzeuge integriert und transformiert werden. Dabei kann auf ein zentrales Repository mit Metadaten zugegriffen werden, wodurch die Entwicklung ohne Programmieraufwand flexibel auf Änderungen reagieren kann. Durch die Nutzung von Parallelverarbeitungsfunktionen werden auch große Datenvolumen performant verarbeitet. Somit können die unternehmenskritischen Geschäftsinformationen in Form von Diagrammen, Charts oder sonstigen Dokumenten aufbereitet werden (siehe Abbildung 4). Zwei Varianten des DataStage-Produktes sind verfügbar, die Server Edition und die Enterprise Edition. Server Edition Die Server Edition ist das Herzstück von DataStage und deckt die wichtigsten Funktionen ab. Als Beispielkomponenten stehen in dieser Version Hash-Files, Container, Datenbankkonnektoren, Transformer und Sequenzkomponenten zur Verfügung. Server Jobs haben keinen Parallelmechanismus zum Extrahieren und Laden von Daten zwischen verschiedenen Stages. Es ist jedoch möglich, die Performance für verbundene aktive Stages durch eine prozessinterne Zeilenpufferung zu verbessern, wodurch die Daten nicht mehr zeilenweise, sondern pufferweise übergeben werden (Partitioning). Die Größe des Puffers kann im Administrator Client bestimmt werden. Darüber hinaus ist es möglich IPC Stages zu verwenden. Durch deren Verwendung muss eine Stage nicht mehr darauf warten, dass die Daten vollständig gelesen werden, bevor diese zur nächsten Stage geschickt werden. Der Transfer zur nächsten Stage erfolgt bereits nach Erhalt der ersten Daten (Pipelining). Enterprise Edition Alle oben genannten Funktionen sind ebenfalls in der Enterprise Edition enthalten. Der größte Unterschied besteht jedoch darin, dass die Enterprise Edition parallel laufende Jobs unterstützt. Durch Partitioning und Pipelining werden die ETL-Prozesse nicht mehr sequentiell, sondern simultan ausgeführt. Dies kann nur durch ein Multiprozessor-System realisiert werden. Die Enterprise Edition unterstützt dabei die Varianten SMP (Symetric Multi Processing) und MMP (Massively Parallel Prozessing). Der Unterschied zwischen den beiden Architekturen besteht darin, dass sich bei SMP die Prozesse das Betriebssystem und den Hauptspeicher teilen. Das Betriebssystem hat dabei die völlige Kontrolle über alle Prozesse mit dem Ziel einer gleichmäßigen Lastverteilung. MMP verteilt hingegen eine Aufgabe auf mehrere Hauptprozessoren, die jeweils über eigenen Arbeitsspeicher verfügen können. Angenommen es werden 1.000 Datensätze gelesen, so könnte die Laufzeit mit Hilfe von vier Hauptprozessoren auf ein Viertel reduziert werden. Ein weiterer Vorteil ist, dass die Enterprise Edition Jobs in OSH (Orchestrate Shell Script Language) kompiliert werden. Im Gegensatz zu Basic, das zum Kompilieren in der Server Edition verwendet wird, muss der Code nicht extra interpretiert werden. Weiterhin liefert die Enterprise Edition noch andere ETL-Funktionalitäten und -Komponenten. DataStage Tools IBM DataStage stellt Tools für die Verwaltung, Entwicklung und Administration zur Verfügung, die im Folgenden kurz vorgestellt werden. Director Starten, Steuern und Überwachen von Jobs – dies sind die grundlegenden Aufgaben des Directors. Alternativ können Jobs auch in dem Designer gestartet werden, allerdings mit dem Nachteil, dass keine Protokoll- und Statistikdaten gesehen werden. Designer Der DataStage Designer ist die Umgebung zur Entwicklung von Job-Abläufen. Dieser Designer dient zum Extrahieren, Integrieren, Aggregieren, Transformieren und Laden von Daten in Zieldateien oder Tabellen. Die Verwendung von visuellen Komponenten vereinfacht das Verständnis der Ablaufsteuerungen und ermöglicht den einfachen und schnellen Austausch von Komponenten. Administrator Im Administrator Client werden die globalen Server- und Projekteinstellungen angepasst. Dazu zählen die Administration von Benutzerund Gruppenprivilegien, die Verwaltung von Projekten, das Handling von parallel laufenden Jobs und das Setzen von Umgebungsvariablen. Darüber hinaus ist es möglich grundlegende Standardeinstellungen für den Director festzulegen. Systemanforderungen Bevor über Systemanforderungen gesprochen wird, sollte man sich zunächst einen Überblick über die zu integrierende Datenmenge verschaffen. Bei sehr großen Datenmengen ist es sicherlich empfehlenswert die Enterprise Edition einzusetzen, um die Vorteile der Parallelität nutzen zu können, während bei kleineren Datenmengen die Server Edition vollkommen ausreichend ist. DataStage kann auf den gängigen Betriebssystemen installiert werden. Dazu zählen AIX, HP-UX, Linux, Solaris und Windows. Die detaillierteren Systemanforderungen und weitere Informationen erhalten Sie auf der IBM Internetseite [3]. Fazit ETLWerkzeuge wie DataStage bieten eine grafi sche Oberfl äche um ETLProzesse zu visualisieren und mittels vorhandener ETLModule die Entwicklung zu vereinfachen. Zudem haben Sie den großen Vorteil unabhängig von einem bestimmten Datenbanksystem zu sein. Die Quellals auch die Zielsysteme können also Datenbanken unterschiedlicher Hersteller und Versionen sein. Im nächsten Artikel stellen wir Ihnen verschiedene ETLMethoden und ETLBeispiele mit IBM DataStage vor. Alexander Keil (info@ordix.de). karsten Fiedler (info@ordix.de). Glossar BI Business Intelligence – ITbasierter Gesamtansatz zur betrieblichen Entscheidungsunterstützung. CRM Customer Relationship Management – Kundenbeziehungsmanagement d.h. Dokumentation und Verwaltung von Kundenbeziehungen. DataMart Datenbestand aus einem Teilbereich des Data Warehouse. DWH Data Warehouse – Datensammlung mit unterschiedlichen Inhalten aus verschiedenen Systemen. ETL Extract, Transform, Load. ETL bezeichnet einen Prozess in einer Data WarehouseUmgebung, um Daten von einem Quellin ein Zielsystem zu transferieren. IPC Inter Process Communication – Nachrichtenaustausch zwischen zwei Programmen oder Threads eines Multitasking- oder MultithreadingBetriebssystems. JOIN Zusammenführen von Informationen die aufgrund von Normalisierungen in unterschiedlichen Tabellen einer Datenbank liegen. MAPPING Zuordnung von Werten zwischen Quellund Zielsystem. ODS Operational Data Store – Bereitstellung der Daten zur zeitnahen Auswertung.