Oracle: Für Warehousing gerüstet

21.08.2007
Von Stefan  Ueberhorst

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.