Den OLAP-Begriff kennen wir als erfahrene Streiter in Sachen Business Intelligence in- und auswendig. Ausgeschrieben bedeutet es Online Analytical Processing – also eine analytische Auswertung, die am Bildschirm durchgeführt wird.
Es ist eine überaus interessante Entwicklung für an sich einfache Dinge Begriffe zu suchen, die derart lang und kompliziert sind, dass sie nur abgekürzt verwendet werden können. Diese Abkürzungen werden dann wie selbstverständlich in die Kommunikation eingebaut, dass die eigene Fachkompetenz, aber auch die vom Zuhörer gefragt ist.
In gewissen Abständen wird man immer wieder gefragt, ob man das eine oder andere neue Sternchen am OLAP-Himmel kenne und dass dies ja nun endlich die lang ersehnte Lösung aller bekannten Probleme sei.
Im heutigen Blogbeitrag werden die Begriffe und Tendenzen (also die neuen Sternchen) erläutert und systematisiert. Letztlich soll der Versuch unternommen werden, dass sich niemand ein x für ein D oder ein H vormachen lässt.
Mein OLAP, dein OLAP
Man wird immer wieder damit konfrontiert, dass die eine oder andere Datenbank(technologie) die tollste und schnellste der Welt sei. Dabei werden viele (spezielle) Gründe angeführt, die dies rechtfertigen. Betrachtet man das Ganze einmal ohne Emotion und mit viel Pragmatismus, so muss man feststellen, dass in den berühmten 80% aller Einsatzfälle jede Technologie ihre Vor- und Nachteile hat, letztlich aber beliebig austauschbar wäre. Der Endanwender, gerade von DeltaMaster, würde nicht einmal etwas davon merken.
Alle Datenbankhersteller wissen von dieser Austauschbarkeit und versuchen sich durch immer neue Begriffe vom Wettbewerb abzusetzen (sie nennen es dann „Technologiesprünge“).
OLAP – Datenhaltungskonzepte
Es gibt zwei grundsätzliche Datenhaltungskonzepte im OLAP-Bereich. Man unterscheidet relationales und multidimensionales OLAP.
Der Rest sind Kunstworte und Kreationen findiger Marketingexperten. Weiß man sie zu unterscheiden, erkennt man sehr oft den „alten Wein in neuen Schläuchen“.
Relationales OLAP (ROLAP)
ROLAP-Systeme basieren auf standardisierten Datenbanksystemen wie Oracle, MS SQL Server oder IBM DB2.
Sie werden meist in Anwendungsbereichen mit hohen Datenvolumina und großen Nutzerzahlen eingesetzt. Nachteilig ist eine u. U. höhere Abfragezeit, da jede weitere dimensionale Einschränkung zu einer zusätzlichen WHERE-Klausel in der Abfrage führt.
Multidimensionales OLAP (MOLAP)
MOLAP Datenbanksysteme nutzen meist proprietäre, herstellerspezifische multidimensionale Datenbanken. Diese Systeme sind darauf optimiert, schnell Ergebnisse in multidimensionalen Strukturen zu liefern und darauf ausgelegt Aggregationen über Hierarchieebenen zu bilden. Letztlich setzen sie den OLAP-Gedanken von Professor Codd konsequent um.
Nachteilig ist, dass diese Aggregationen meist vorberechnet werden (müssen). In umfangreichen Datenstrukturen mit einem geringen Füllungsgrad (nicht jeder Kunde kauft jeden Tag in jeder Filiale jedes Produkt) kann es durchaus vorkommen, dass der überwiegende Teil der Aggregation zwar vorberechnet, aber nie abgefragt wird.
Die Hersteller begegnen diesem Umstand mit unterschiedlichen Methoden. In heutigen Systemen werden die Aggregationen oft verwendungsbasiert historisch ermittelt und bei neuen Daten im Cube entsprechend berechnet. Neu abgefragte Aggregationen werden zur Laufzeit ermittelt, abgelegt und zur weiteren Verwendung bereitgestellt.
Hybrides OLAP (HOLAP)
Diese Mischform soll die Vorteile von ROLAP und MOLAP vereinen.
Genau genommen setzen wir HOLAP (fast täglich) bei der klassischen Planungsanwendung mit DeltaMaster ein. Alle Partitionen mit IST-Daten und die bereits rückverdichteten Eingabedaten werden als MOLAP aufgebaut. Die eigentliche Eingabe erfolgt in eine ROLAP-basierte Rückschreibepartition.
Zwischenfazit
Wie bereits angedeutet, hat jeder Typ spezifische Vor- und Nachteile. MOLAP ist schneller als ROLAP, dafür skaliert ROLAP besser. HOLAP stellt oft einen guten Kompromiss der beiden anderen Grundtypen dar.
Neue Tendenzen
Desktop OLAP (DOLAP)
Dieser Form liegt der Wunsch der Anwender zugrunde, multidimensionale Datensichten auch im mobilen Einsatz auf Notebooks nutzen zu können. Die Basisdaten werden zunächst lokal importiert, um eine lokale Analyse vollziehen zu können. Dabei wird MOLAP auf dem lokalen Rechner (meist ein Notebook) ausgeführt. Nachteilig ist natürlich die oft sehr beschränkte Hardwareausstattung dieser Geräte.
Das Neue daran ist eigentlich nur der geprägte Begriff. Die Idee tragen wir Berater schon seit Jahren auf unseren Notebooks durch die Welt – wir nannten es bisher noch nicht DOLAP. Pragmatisch betrachtet gibt es nur eine Bissantz’sche Antwort auf DOLAP: DM2GO!
Memory Based OLAP (In Memory OLAP)
Diese Form ist gerade „der letzte Schrei“. Alle (multidimensionalen) OLAP-Daten werden im RAM (Random-Access Memory, d.h. Arbeitsspeicher) gehalten. Dies verspricht eine erheblich bessere Performance als die klassische Datenhaltung auf der Festplatte.
Diese Technik gibt es bereits seit vielen Jahren. Früher nannte man sie je nach Hersteller „RAM-Würfel“ oder auch ein wenig anders. Sie war nur bisher durch 16- oder 32-Bit-Rechnerarchitekturen in der Größe stark limitiert. Durch die gerade aktuellen 64-Bit-Systeme ist es heute jedoch möglich auch große Datenmengen mit Memory based OLAP zu analysieren.
Vorteilhaft ist eine u. U. überragende Performance dieser Systeme, solange das Betriebssystem alle Daten im RAM halten kann. Nachteilig ist, dass die Anbieter oft die Vorberechnung von Aggregationen einsparen und damit eine schlechtere Abfragezeit für eine geringere Lade- und Aufbereitungszeit in Kauf nehmen.
Fazit
Schaut man mit wachem Auge auf die OLAP-Datenbanken, so können sie alle in die beiden Typen MOLAP oder ROLAP kategorisiert werden. Die Mischform HOLAP spannt sich dazwischen. Die neuen Tendenzen DOLAP und Memory based OLAP sind genau genommen „nur“ marketingtechnisch aufgeheizte Spielarten der MOLAP-Technologie.
Mit dieser Erkenntnis und ein wenig Besonnenheit können wir wieder in unseren Streitwagen steigen und ganz gelassen auf den nächsten Hype warten. Der kommt bestimmt – so viel ist sicher!