Oracle: Für Warehousing gerüstet

16.08.2007
Die Basis für ein erfolgreiches BI ist ein solides Data Warehouse. Im Hinblick auf die dafür benötigte Skalierbarkeit, Performance und Integration braucht Oracle die Konkurrenz nicht zu scheuen.

Data Warehouses sind für ressourcenintensive Abfragen eingerichtet und enthalten oft große Mengen historischer Daten. Deshalb sind spezielle Anforderungen an die Abfrage-Performance und Skalierbarkeit unabdingbar. Oracle bietet hier verschiedene Features, die für Data-Warehouse- und Olap-Datenbanken entwickelt wurden. Skalierbarkeit ist eine der Stärken der Oracle-Technik, weiß Dani Schnider, Senior Consultant Business Intelligence bei der Trivadis AG in Glattbrugg (Zürich). Für diesen Bereich, wenn es zum Beispiel um Data Warehouses (DWH) mit Hunderten von Gigabyte oder mehreren Terabyte geht, gibt es Techniken wie Partitioning, Table Compression und Parallel Execution. Partitionierung wird oft in Data Warehouses eingesetzt, da sie einen enormen Performance-Gewinn bei Abfragen mit zeitlicher Einschränkung bewirkt und die Verwaltung der Daten vereinfacht. Sollen alte oder fehlerhafte Daten aus der Datenbank entfernt werden, müssen diese nicht mittels DELETE-Befehl gelöscht werden, sondern können partitionenweise mit einem DROP-Befehl eliminiert werden.

Fazit

Oracle bietet mit seinem Datenbanksystem eine Basis für ein gut skalierbares und performantes Data Warehouse. Mit dem Oracle Warehouse Builder steht zudem eine integrierte Entwicklungsumgebung zur Verfügung. Unklar ist die Strategie bei den Frontend-Tools, die durch den Zukauf von ehemaligen Konkurrenzprodukten umfangreich, aber damit auch unübersichtlich geworden ist.

Data-Warehouse- und Olap-Features

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,

Direct-Load INSERT,

MERGE,

Multitable INSERT,

Table Functions.

Olap-Features:

GROUP BY ROLLUP/CUBE,

analytische Funktionen,

Model Clause (10g),

Data Densification (10g).

BI-Tools und Optionen:

Oracle BI Discoverer,

Oracle Olap Option,

Oracle Data Mining Option.

Komprimierte Tabellen abfragen

Komprimierung ermöglicht eine geringere Input-Output-Belastung und somit auch kürzere 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 lassen sich die SQL-Prozesse parallelisieren. Insbesondere bei partitionierten Tabellen führt dies laut Schnider zu erheblichen Performance-Verbesserungen, wenn beispielsweise ein "Partition-wise Join" ausgeführt werden kann. Entsprechende Hardware vorausgesetzt, können durch geeignete Parallelisierung der ETL-Prozesse (Extraction, Transformation, Loading) und Abfragen effiziente Data Warehouses im Terabyte-Bereich realisiert werden.

Rolap und Molap

In Olap-Systemen werden oft Datenmodelle verwendet, die sich für flexible Auswertungen nach unterschiedlichen Kriterien eignen und sowohl mit relationaler (Rolap) als auch mit multidimensionaler Technik (Molap) implementiert werden können. Die physische Implementierung mit Rolap-Technik erfolgt, indem ein so genanntes 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 Maßnahmen implementiert, um Abfragen auf ein Star Schema auszuführen.

Durch die "Star Transformation" sind Abfragen mit Einschränkungen über mehrere Dimensionen möglich. Hierbei evaluiert und kombiniert der Query Optimizer zuerst die Einschränkungen auf den Dimensionstabellen, bevor anschließend auf die oft sehr große Fakttabelle zugegriffen wird. Voraussetzung dafür sind Bitmap-Indizes auf allen Fremdschlüsselattributen der Fakttabelle. Die Abfrage-Performance lässt sich zusätzlich durch den gezielten Einsatz von Bitmap Join Indizes verbessern, 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 verschiedenen Hierarchiestufen vorzunehmen. 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 dem Materialized View zu verwenden. Die hierarchischen Zusammenhänge sollten über Oracle Dimensions definiert werden, damit Query Rewrite auch für übergeordnete Hierarchiestufen funktioniert.

Der zweite Ansatz besteht laut Schnider darin, das Modell mit multidimensionaler Technik zu implementieren und die Daten in Olap-Cubes zu speichern, die für typische Olap-Zugriffe wie Drill-up und Drill-down optimiert sind. Mit Oracles 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.

Integration - ETL-Prozesse

ETL-Prozesse werden in Oracle-Umgebungen typischerweise mittels SQL und PL/SQL entwickelt. Dabei sollte, so die Empfehlung des Trivadis-Experten, wann immer möglich mengenbasiert gearbeitet werden. Ein "INSERT INTO SELECT FROM " sei 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 erlaubt, oder External Tables, mit denen auf einfache Weise mittels SQL auf externe Files zugegriffen werden kann.

Bei der Implementierung von ETL-Prozessen kommen heute vermehrt ETL-Tools zum Einsatz, die eine komfortable und effiziente Entwicklung von Ladeprozessen ermöglichen. Standardfunktionen wie Fehlerbehandlung und Logging-Mechanismen sind hier schon vorgefertigt. Die Datenflüsse und Transformationen werden grafisch in so genannten Mappings entwickelt. Oracle selbst 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/SQL-Packages generiert. Der OWB wird von Oracle jedoch nicht nur als ETL-Tool positioniert, sondern als Integrationsplattform für Data-Warehouse-Lösungen.

Zwei ETL-Lösungen

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 für den Metadatenaustausch mit Tools wie dem Oracle Discoverer. In einer reinen Oracle-Umgebung entspricht der OWB laut Schnider mittlerweile den Anforderungen an eine integrierte Entwicklungsumgebung. Während als Datenquellen unterschiedlichste Systeme eingebunden werden können, werden als Ziel neben Flat Files ausschließlich Oracle-Datenbanken unterstützt. Nachdem Oracle letztes Jahr das ETL-Konkurrenzprodukt Sunopsis gekauft hat, welches im Bereich von hetegorenen Systemen viel versprechende Alternativen bietet, bleibt abzuwarten, ob und in welcher Zeit es Oracle schafft, die Vorteile von OWB und Sunopsis zu einem ETL-Tool zu integrieren.

Frontend-Tools

Anwender einer Plattform für Business Intelligence sind am meisten oder ausschließlich 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. (ue)