1/4 Integration für das Oracle Data Warehouse Oracle bietet in seinem Produkt-Portfolio gleich 3 Werkzeuge zum Extrahieren, Integrieren, Harmonisieren von Daten aus operativen Systemen, die auch in dem Kontext von Data Warehouse Systemen eine Rolle spielen. Bevor die Werkzeuge näher erklärt werden, hier eine Zusammenstellung von Anforderungen aus dem Blickwinkel eines unternehmensweiten zentralen Data Warehouse-Systems. Reine Integrationsaspekte Extrahieren von Daten aus operativen Vorsystemen ohne deren Leistungsfähigkeit zu beeinträchtigen. Übermitteln der von Daten über Rechner- und Betriebssystemgrenzen hinweg. Ausnutzen der jeweils spezifischen Möglichkeiten auf den unterschiedlichen Plattformen (Einbinden von nativen Ressourcen). Erkennen von geänderten Quelldaten (Deltadaten) Modellierungsaspekte Beschreibung funktionsorientierter Layer (Schichtenmodell). Definition aller physischen Objekte in einem Data Warehouse (Fakten, Dimensionen, Tabellen, Views, Sequences, Table Functions, Functions, Procedures, Partitions, Index). Abstrahieren von physischen Strukturen und Dokumentieren auf einem abstrakten Meta-Layer. Transformationsaspekte Prüfen und Abgleichen gegenüber Referenzdaten Umschlüsselungen Zusammenführen und Splitten von Daten Filtern, Sortieren, Gruppieren Aggregationen Referenzieren von Daten (Aufbauen von Beziehungen) Integration ist nicht gleich Integration Die oben aufgestellte Liste zeigt bereits, dass Data Warehouse Systeme über die reine Integration (Bewegen von Daten von A nach B) hinaus weitere Aufgabenstellungen erfordern. Konzepte und Technologien zur Anwendungsintegration außerhalb eines Data Warehouse Systems gibt es seit längerem. Allen voran regeln SOA-Konzepte den Datenaustausch zwischen Anwendungen mittels standardisierter Nachrichten, die man über einen generischen Bus verschickt. Bei genauer Betrachtung ist dies jedoch lediglich eine intelligente Schnittstellensteuerung, bei der man sehr flexibel Daten mechanisch kopiert. Über die Qualität der Daten, über ihren fachlichen Hintergrund und interpretierbare Bedeutung sagt das Verfahren nichts. Ein Data Warehouse kümmert sich darüber hinaus um die unterschiedlich verstehbare, semantischen Bedeutung der ausgetauschten, gesammelten und zentral zusammengefügten Daten. Anders als bei den oben genannten Bus-Systemen überführt der Integrationsprozess in einem Data Warehouse die Daten zunächst in eine anwendungsneutrale Form. Das schafft die Grundlage für eine flexible Weiterverarbeitung. Allerdings kann der hier nötige Prüf- und Transformationsprozess 2/4 die Zeit zur Bereitstellung der integrierten Daten verlängern. Sekundenschnelle Durchlaufzeiten sind nicht zu erwarten, dafür aber stimmige, geprüfte, ergänzte und verständliche Daten. Ein weiterer Unterschied zu Bus-Systeme ist die Persistenz der auszutauschenden Daten. Informationen bleiben für einen definierten Zeitraum in einer Datenbank gespeichert. Während sich in operativen Systemen die Daten i. d. R. permanent verändern, lässt sich die Aktualisierungssequenz in einem Data Warehouse nach Bedarf festlegen, ob im Sekunden-, Tages-, Wochen- oder Monatsabstand. Das ermöglicht zeitbezogene Vergleiche und lässt Trends erkennen. Daten können vervollständigt und verglichen werden. Auch aufwendige Plausibilitätsprüfungen sind machbar. Aufbau von geprüften und integrierten Datenbeständen Die besondere Aufbereitung von Daten in einem Data Warehouse hat jedoch seinen Preis. Die Daten durchlaufen mehrere Stadien bis sie sich in einer verwendungsfähigen Form befinden. Das Kopieren in ein Data Warehouse ist nur ein erster Schritt. Danach folgen regelgesteuerte Prüfverfahren, das Granularisieren (Zerlegen der Daten in Einzelinformationen, „Normalisierung“) und schließlich das Anreichern mit Ergänzungen aus Referenzdaten (Lookups). In einem letzten Schritt fügt man die Daten unter neuen Kriterien dann meist wieder zu neuen Informationseinheiten zusammen. Semantischer Abgleich über Metadaten Data Warehouse - Daten sind einmalige Daten, d. h. einmal vorhanden. Diese können jedoch in den diversen operativen Anwendungen auseinander driftende Ausprägungen besitzen. Unterschiede können liegen in der Benennung, in Maßeinheiten, in Art von Berechnungen, es kann Zeitabhängigkeiten geben u. ä. Über Metadaten zu den einzelnen Daten beschreibt man diese unterschiedlichen Ausprägungen. Diese Vorgehensweise ist umso wichtiger, je mehr Daten und Systeme betroffen sind. Die Metadaten erhalten sogenannte Synonymen-Attribute für die jeweiligen operativen Anwendungen, in denen die Daten Verwendung finden. 3/4 Datennahes Transformieren und Prüfen Die umfangreichen Datenmanipulationsaufgaben sind am leichtesten dort zu erledigen, wo die Daten gespeichert sind: In der Datenbank. Relationale Datenbanken, wie Oracle, nutzen SQL als Datenmanipulationssprache. Hierzu stellen sie besonders effiziente Funktionen und Techniken bereit. Die Komponenten zur Realisierung eines Data Warehouse- Systems mit Oracle sind: Eine Datenbank zur persistenten Datenvorhaltung. Hier bietet sich Oracle 11.2 an. Ein Repository für die Metadaten. Tools zum Extrahieren, Transportieren und Transformieren der Daten. Hier bietet Oracle gleich 3 Werkzeuge an, die man näher betrachten sollte. Technische Komponenten zum Extrahieren, Transportieren und Transformieren Neben der Eigenentwicklung Oracle Warehouse Builder (OWB) hat sich Oracle in den vergangenen Jahren durch Zukäufe in diesem Segment verstärkt. Die jüngste Akquisition GoldenGate ist besonders gut geeignet, wenn operative Systeme so schonend wie möglich „angezapft“ werden sollen. Das Tool liest die Log-Files der jeweiligen Datenbanken (alle verbreiteten Hersteller), ohne die Leistungsressourcen des operativen Systems zu belasten. Oracle Data Integrator (ODI) hat seine Stärken in dem Bereitstellen von Agenten auf unterschiedlichen Plattformen. Über diese Agenten kann man die Steuerkontrolle zum Datentransport flexibel über mehrere Rechner-Knoten asynchron und asymmetrisch verteilen. Sind Daten einmal in der Oracle-Datenbank angekommen, kann man mit OWB komplexe Transformationen Daten-nah in der Datenbank durchführen und die Daten “veredeln“. Mit OWB lässt sich das System gut modellieren und eine passende Metadaten-Auswertung aufbauen. Einsatz-Szenarien der 3 Werkzeuge Alle Werkzeuge sind natürlich in Kombination miteinander einsetzbar. So nutzt das jüngste OWBRelease (11.2) bereits die Agenten-Technik von ODI und ODI kann Komponenten von GoldenGate einbinden. Mittelfristig hat Oracle die Verschmelzung aller Komponenten in eine neue Data Integration Suite angekündigt, die ab einer Version 12 verfügbar sein soll. Allerdings zeichnen die jeweiligen Stärken besonders geeignete Einsatzgebiete vor: a) Heterogene Systemlandschaften bestehend aus unterschiedlichen Datenbanken und Betriebssystemumgebungen: 4/4 Hierfür eignet sich ODI (Oracle Data Integrator) am besten. Es lassen sich native Ressourcen der jeweiligen Plattformen einbinden, ohne umfangreiche Systemkenntnisse anwenden zu müssen. Für die meisten Umgebungen gibt es bereits vorgefertigte Zugriffsmodule (Knowledge Modules). Java-gestützte Agenten ermöglichen eine verteilte Kommunikation. b) Asynchrone Kopplung von Datenbanken und Deltadaten-Erkennung: Hier ist GoldenGate die erste Wahl. GoldenGate liest sehe effizient die jeweiligen LogDateien der Datenbanken aus und repliziert die gelesene Information in einem neutralen Format zu beliebigen Zieldatenbanken. c) Aufbau und Verwaltung von Data Warehouse Systemen mit einer Oracle Datenbank: Hier findet Oracle Warehouse Builder (OWB) Verwendung. Das Tool generiert nativeDatenbank-Code, verwendet Oracle-Funktionen und erlaubt modellgesteuert komplexe Transformationen Daten-nah in der Oracle-Datenbank. Mit OWB definiert man alle Objekte in einem Data Warehouse. [email protected] Hamburg, Juli 2011