Mondrian – quelloffener OLAP Server für relationale Datenbanksysteme

Inhalt
Mondrian bietet gute Abfragegeschwindigkeit bei großen DatenmengenDatenbanken
Mondrian bietet gute Abfragegeschwindigkeit bei großen DatenmengenDatenbanken

Die Arbeitsschritte innerhalb eines Data Warehouse basieren auf dem Online Analytical Processing. OLAP dient zur mehrdimensionalen Visualisierung großer Datenmengen. Zusammenhängende Daten werden typischerweise in Form eines Würfels dargestellt. Ob relationales (ROLAP), multidimensionales (MOLAP) oder hybrides (HOLAP) Online Analytical Processing eingesetzt werden sollte, ist u.a. davon abhängig, ob die Daten aus einer Datenbank kommen oder aus operativen Systemen.

Generell behandeln OLAP-Systeme Daten immer multidimensional. Das bedeutet, die Datenbank betrachtet jedes Datenattribut als eigene Dimension. Üblicherweise werden Daten aus verschiedenen Quellen als Elemente eines mehrdimensionalen Würfels logisch dargestellt: Auf diese Weise können die Daten aus unterschiedlichen Perspektiven und in diversen Detaillierungsstufen betrachtet werden. Für unser Best Practice Open Data Warehouse und die verwendeten Beispieldaten AdventureWorks2008(AWR2) sind das die Dimensionen Datum, Kunde, Produkt, Vertriebsgebiet und Währung. Anhand dieser Dimensionen lassen sich betriebswirtschaftliche Kennzahlen wie Umsatz oder Kosten berechnen.

Datenaggregation in mehrdimensionalen Würfeln

Innerhalb der Prototypenarchitektur haben wir die Analyseebene mit dem Java-basierten OLAP-Server Mondrian umgesetzt. Mondrian ist in der Lage, die Schnittpunkte verschiedener Dimensionen zu finden, zum Beispiel alle Fahrräder eines Typs, die in einer Region für einen bestimmten Preis in einem bestimmten Zeitraum verkauft wurden. Dazu liest Mondrian einfach die entsprechende Spalte aus der Datenbank Infobright sequenziell aus – das funktioniert extrem schnell, weil während der Suche nicht zwischen Zeilen gesprungen werden muss.

Mondrian verfolgt einen relationalen Ansatz (ROLAP), eine Variation des Online Analytical Processing. Das Tool transformiert mehrdimensionale Abfragen (Multidimensional Expressions, MDX) auf Basis eines Datenwürfels in mehrere einzelne SQL-Abfragen. Zusätzlich verwendet Mondrian die von Pentaho bereitgestellte Schema Workbench, mit der sich das XML-Schema visuell erzeugen lässt. Durch die direkte Verbindung zur Datenbank lassen sich Attribute per Drop-Down-Funktion im Schema hinterlegen.

ROLAP, MOLAP, HOLAP

Je nachdem, welche Speichertechnik eingesetzt wird, unterscheidet man verschiedene OLAP-Verfahren. Schnelle Antwortzeiten bei begrenzten Datenmengen bietet MOLAP. Bei dem Verfahren muss nicht für jede Dimension eines Würfels eine neue Tabelle abgebildet werden, um die darin hinterlegten Daten verarbeiten zu können – MOLAP speichert eine Kopie der Quelldaten in Form einer multidimensionalen Matrix. Aufgrund der intuitiven Abfragesprache ist MOLAP für viele Anwendungen schneller und gezielter einsetzbar als Analyseverfahren. Allerdings steigen die Zugriffszeiten mit den Datenmengen an.

Für Nutzer, die große Datenmengen in Echtzeit einsehen wollen, empfiehlt sich hingegen ROLAP. Zwar ist die Antwortzeit in der Regel langsamer als bei anderen Modi, allerdings sparen Nutzer bei der Arbeit mit großen Datensets Speicherplatz, denn ROLAP speichert die aggregierten Daten der Partition in indizierten Ansichten innerhalb der relationalen Datenbank. Der Zugriff auf das Data Warehouse erfolgt mittels Standard-SQL. Die möglichst transparente Bereitstellung und Nutzung voraggregierter Datensets zur Performancestei-
gerung – bis vor einigen Jahren noch ein großer Pluspunkt von MOLAP – wird inzwischen auch von den meisten ROLAP-Systemen gut unterstützt. Insgesamt ist ROLAP in der Regel die einfachere, kompaktere, preisgünstigere und flexiblere Lösung. HOLAP kombiniert Teile von ROLAP und MOLAP. Im Fokus der großen ROLAP-Anbieter steht ohnehin die Integration von MOLAP-Technologien zu HOLAP-Lösungen.

 

Diese Artikel könnten Sie auch interessieren: