Business Intelligence – Warum gerade mit Oracle? Dani Schnider . Senior Consultant . 21 August 2007 Um erfolgreich Business Intelligence betreiben zu können, muss ein solides Data Warehouse als Basis vorhanden sein. Skalierbarkeit, Performance und Integration sind wichtige Erfolgsfaktoren – und gerade hier hat Oracle einiges zu bieten. Data Warehouses sind für ressourcenintensive Abfragen optimiert und enthalten oft grosse Mengen historischer Daten. Deshalb sind spezielle Anforderungen an Abfrageperformance und Skalierbarkeit gefragt. Oracle bietet hier verschiedene Features, die für DWH- und OLAPDatenbanken entwickelt wurden. 1. Skalierbarkeit Wer Data Warehouses mit Hunderten von Gigabyte oder mehreren Terabyte betreibt, weiss Oracle-Features wie Partitioning, Table Compression und Parallel Execution zu schätzen. Skalierbarkeit ist eine der Stärken der Oracle-Technologie. Partitionierung wird oft in Data Warehouses eingesetzt, da sie einen enormen PerformanceGewinn bei Abfragen mit zeitlicher Einschränkung bewirkt und die Verwaltung der Daten vereinfacht. Muss man alte oder fehlerhafte Daten aus der DB eliminieren, müssen diese nicht mittels DELETE-Befehl gelöscht werden, sondern können partitionenweise mit einem DROPBefehl eliminiert werden. Komprimierung ermöglicht eine Reduzierung der I/O-Belastung und somit auch der Abfragezeiten, da weniger Datenblöcke gelesen werden müssen. Voraussetzung ist, dass die Daten mit dem DWH-typischen „Direct-Load INSERT“ eingefügt werden. Je nach Komprimierungsfaktor werden Abfragen auf komprimierten Tabellen deutlich schneller. Sowohl beim Laden der Daten als auch bei Abfragen können die SQL-Prozesse parallelisiert werden. Insbesondere bei partitionierten Tabellen führt dies zu erheblichen Performanceverbesserungen, wenn beispielsweise ein „Partition-wise Join“ ausgeführt werden kann. Entsprechende Hardware vorausgesetzt, können durch geeignete Parallelisierung der ETLProzesse und Abfragen effiziente Data Warehouses im Terabyte-Bereich realisiert werden. DWH front-end DWH back-office Anwender reporting tactical decision support Erweiterte Dateninhalte Daten Bewirtschaftung (ETL) CORE Data Warehouse Database strategical analysis data mining Transaktionssysteme (OLTP) DatenExtrakte Typische DWH-Architektur mit Quellsystemen, CORE Data Warehouse und Data Marts in ROLAP- und MOLAP-Technologie [email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Date 22.08.2007 . Page 1 / 4 2. Performance bei ROLAP und MOLAP In OLAP-Systemen werden oft dimensionale Datenmodelle verwendet, die sich für flexible Auswertungen nach unterschiedlichen Kriterien eignen und sowohl mit relationaler (ROLAP) als auch mit multidimensionaler Technologie (MOLAP) implementiert werden können. Die physische Implementierung mit ROLAP-Technologie erfolgt, indem ein sogenanntes „Star Schema“, bestehend aus Dimensions- und Fakttabellen, erstellt wird. Die Dimensionstabellen enthalten die Auswahl- und Gruppierungsmerkmale, während in der Fakttabelle die Kennzahlen gespeichert sind. Oracle hat verschiedene Massnahmen implementiert, um Abfragen auf ein Star Schema effizient auszuführen. Durch die „Star Transformation“ können Abfragen mit Einschränkungen auf mehreren Dimensionen sehr effizient ausgeführt werden. Hierbei evaluiert und kombiniert der Query Optimizer zuerst die Einschränkungen auf den Dimensionstabellen, bevor anschliessend auf die – oft sehr grosse – Fakttabelle zugegriffen wird. Voraussetzung dafür sind Bitmap Indizes auf allen Fremdschlüsselattributen der Fakttabelle. Die Abfrageperformance lässt sich zusätzlich verbessern durch gezielten Einsatz von Bitmap Join Indizes, welche den Join zwischen Fakt- und Dimensionstabellen bereits zum Ladezeitpunkt ausführen und im Index speichern. In OLAP-Anwendungen werden Daten oft über verschiedene Hierarchiestufen aggregiert. Der Benutzer hat dadurch die Möglichkeit, „Drill-Ups“ oder „Drill-Downs“ auf verschiedene Hierarchiestufen zu machen. Mittels Materialized Views und Query Rewrite können die aggregierten Daten vorberechnet abgespeichert werden, um eine optimale Performance zu erreichen. Der Optimizer ist nun in der Lage, je nach ausgewählter Hierarchiestufe entweder die Detaildaten aus den Basistabellen oder die aggregierten Daten aus der Materialized View zu verwenden. Die hierarchischen Zusammenhänge sollten über Oracle Dimensions definiert werden, damit Query Rewrite auch für übergeordnete Hierarchiestufen funktioniert. Ein zweiter Ansatz besteht darin, das dimensionale Modell mit multidimensionaler Technologie zu implementieren und die Daten in sogenannten OLAP-Cubes zu speichern, die für typische OLAP-Zugriffe wie Drill-Up und Drill-Down optimiert sind. Mit der Oracle OLAP Option besteht die Möglichkeit, multidimensionale OLAP-Cubes als „Analytic Workspaces“ (AW) in der relationalen Datenbank abzulegen. Abfragen auf einen AW können sowohl über SQL als auch über eine spezielle multidimensionale Sprache (OLAP DML) erfolgen. Noch nicht unterstützt wird von Oracle die multidimensionale Sprache MDX, die sich in den letzten Jahren bei MOLAP-Datenbanken als Quasi-Standard etabliert hat. 3. Integration ETL-Prozesse werden in Oracle-Umgebungen typischerweise mittels SQL und PL/SQL entwickelt. Dabei sollte wenn immer möglich mengenbasiert gearbeitet werden. Ein „INSERT INTO … SELECT FROM …“ ist viel effizienter als ein prozeduraler Cursor-Loop in PL/SQL. Daneben gibt es verschiedene nützliche SQL-Erweiterungen wie das MERGE-Statement, welches INSERT und UPDATE in einem Schritt durchführen kann, oder External Tables, mit denen auf einfache Weise mittels SQL auf externe Files zugegriffen werden kann. Bei der Implementation von ETL-Prozessen kommen heute vermehrt ETL-Tools zum Einsatz, die eine komfortable und effiziente Entwicklung von Ladeprozessen ermöglichen. Standardfunktionalitäten wie Fehlerbehandlung und Logging-Mechanismen sind hier schon vorgefertigt. Die Datenflüsse und Transformationen werden grafisch in sogenannten Mappings entwickelt. Oracle stellt mit dem Oracle Warehouse Builder (OWB) ein ETL-Tool zur Verfügung, das die Features der Datenbank weitgehend unterstützt. Aus den grafischen Mappings werden PL/SQLPackages generiert. Der OWB wird von Oracle jedoch nicht nur als ETL-Tool positioniert, sondern als Integrationsplattform für DWH-Lösungen. [email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Date 22.08.2007 . Page 2 / 4 Mit dem Oracle Warehouse Builder können ETL-Prozesse als grafische Mappings entwickelt werden Mit der Version 10g Release 2 wurde der OWB stark ausgebaut und mit einer neuen Entwicklungsoberfläche versehen. Es gibt umfangreiche Features für Data Quality und Profiling, Aufbau und Laden von multidimensionalen Strukturen sowie Metadatenaustausch mit Tools wie dem Oracle Discoverer. In einer reinen Oracle-Umgebung entspricht der OWB mittlerweile den Anforderungen an eine integrierte Entwicklungsumgebung. Während als Datenquellen unterschiedlichste Systeme eingebunden werden können, werden als Ziel neben Flat Files ausschliesslich Oracle-Datenbanken unterstützt. Nachdem Oracle letztes Jahr das ETLKonkurrenzprodukt Sunopsis gekauft hat, welches im Bereich von hetegorenen Systemen vielversprechende Alternativen bietet, bleibt abzuwarten, ob und in welcher Zeit es Oracle schafft, die Vorteile von OWB und Sunopsis zu einem ETL-Tool zu integrieren. 4. Frontend-Tools Anwender jeder BI-Plattform sind am meisten – oder ausschliesslich – an der Präsentation der Daten interessiert. Oracle bietet neben den Standard-Tools wie Oracle Reports und Oracle Discoverer eine Menge von „Business Intelligence Solutions“, die insbesondere durch den Zukauf von Siebel Systems und Hyperion Solutions umfangreich, aber auch unübersichtlich geworden ist. Eine klare Strategie ist noch nicht ersichtlich, und wir werden uns gedulden müssen, bis die verschiedenen Produkte zu einer einheitlichen BI-Plattform integriert sind. Momentan werden unter dem Namen „Oracle BI Standard Edition“ die klassischen Oracle-Produkte vermarktet, während die ehemaligen Siebel-Produkte als „Oracle BI Suite Enterprise Edition“ angeboten werden. [email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Date 22.08.2007 . Page 3 / 4 OracleBI Discoverer erlaubt Auswertungen auf ROLAP- und MOLAP-Datenstrukturen Eine oft praktizierte Alternative ist der Zugriff auf ein Oracle Data Warehouse mit FrontendProdukten von Fremdherstellern. Während es im ROLAP-Bereich eine grosse Auswahl an Tools auf dem Markt gibt, ist der MOLAP-Zugriff bisher nur wenigen Herstellern (z.B. Business Objects) möglich. 5. Fazit Oracle bietet mit seinem Datenbanksystem eine ideale Basis für ein gut skalierbares und performantes Data Warehouse. Mit dem Oracle Warehouse Builder steht eine integrierte Entwicklungsumgebung zur Verfügung. Unklar ist die Strategie bei den Frontend-Tools, die durch den Zukauf von ehemaligen Konkurrenzprodukten umfangreich, aber auch unübersichtlich geworden ist. DWH- und OLAP-Features der Oracle-Datenbank • • • Dani Schnider Trivadis AG Europa-Strasse 5 CH-8152 Glattbrugg Tel: +41-808 70 20 Fax: +41-808 70 21 Internet: www.trivadis.com Mail: [email protected] • Performance und Skalierbarkeit: - Bitmap Indizes - Bitmap Join Indizes - Star Transformation - Materialized Views/Query Rewrite - Dimensions - Partitionierung (Option) - Parallel Execution - Table Compression ETL-Features: - Change Data Capture - External Tables - MERGE - Multitable INSERT - Table Functions OLAP-Features: - GROUP BY ROLLUP/CUBE - Analytische Funktionen - Model Clause (10g) - Data Densification (10g) BI-Tools und Optionen: - OracleBI Discoverer - Oracle OLAP Option - Oracle Data Mining Option [email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Date 22.08.2007 . Page 4 / 4