Grundlagenserie Business Intelligence

BI-Methoden (Teil 1): Ad-hoc Analysen mit OLAP

16.04.2008 von Klaus Manhart
Die multidimensionale Sicht von Datenbeständen etwa mit dem Hypercube erlaubt, diese aus unterschiedlichen Perspektiven zu betrachten. Mit OLAP-Systemen haben Anwender die Möglichkeit, in solchen Datenbeständen intuitiv und interaktiv zu recherchieren. Ein kritischer Punkt ist die optimale Speichertechnologie für OLAP-Systeme.

Fach- und Führungskräfte, sowie andere qualifizierte Mitarbeiter, möchten häufig im Unternehmen ad-hoc Auswertungen erstellen. Sie wollen interaktiv und flexibel in den relevanten Daten navigieren und Rechercheergebnisse in Eigenregie zusammen stellen.

Diese Mitarbeiter sind meistens jedoch keine Datenbankspezialisten. Viele dieser Nutzer sind in den Vertriebs- und Controllingabteilungen tätig und verfügen über eher geringe IT-Kenntnisse. Das tiefere Know-how für Datenbankabfragen fehlt ihnen.

Die Forderung nach nutzerfreundlichen, flexiblen Abfragesystemen für Ad-hoc-Analysen beschäftigt Forschung und Praxis schon seit Jahren. Als besonders flexibel und leistungsstark erwies sich in der Vergangenheit der multidimensionale Ansatz. Unter Multidimensionalität ist dabei eine bestimmte Anordnung betriebswirtschaftlicher Größen zu verstehen, die relevantes Zahlenmaterial simultan entlang unterschiedlicher Klassen aufgliedert – dazu später mehr.

Informationssysteme, die dem Anwender eine multidimensionale Sicht auf die Datenbestände liefern, repräsentieren das Geschäftsverständnis betrieblicher Fach- und Führungskräfte optimal. Sie ermöglichen eine flexible, interaktive Generierung unterschiedlicher Perspektiven auf den Datenbestand und - je nach Anforderung - eine schnelle Sichtänderung auf die Daten.

Das bekannteste multidimensionale Verfahren, OLAP („Online Analytical Processing“), wurde 1993 vom Datenbanktheoretiker Edgar F. Codd vorgestellt. Er schlug eine Methode vor, die eine dynamische Analyse in multidimensionalen Datenräumen ermöglichen sollte. Als Leitbild wurden 12 Evaluationsregeln definiert – darunter die Forderungen nach Transparenz, Client-Server-Architektur und intuitiver Datenbearbeitung. Die Regeln sollten bei Erfüllung die OLAP-Fähigkeit von Informationssystemen garantieren. Sie wurden in der Folge allerdings heftigst kritisiert, und um weitere, teils kommerziell motivierte Regeln ergänzt.

Eine Konsolidierung der OLAP-Eigenschaften erfolgte 1995 durch die so genannte FASMI-Definition („Fast Analysis of Shared Multidimensional Information“). Sie beschreibt OLAP pragmatisch und technologiefrei und ist heute auf breiter Basis akzeptiert. Inhaltlich besagt FASMI, dass Nutzern mit OLAP-Systemen ein schneller (Fast) analytischer (Analysis) Zugriff im Mehrbenutzerbetrieb (Shared) auf kontextrelevante multidimensionale betriebliche Informationen (Multidimensional Information) ermöglicht werden soll.

OLAP und OLTP

Das „Online“ in „Online Analytical Processing“ verweist auf den OLAP-Anspruch, Analyseprozesse auf Unternehmensdaten interaktiv („Online“) durchzuführen. Dies impliziert eine Nutzung des OLAP-Systems im Dialogbetrieb. Dabei müssen die Responsezeiten möglichst kurz gehalten werden. OLAP-Systeme sind deshalb logisch und physikalisch von den operativen Transaktionssystemen getrennt.

Die Daten werden bei OLAP subjektbezogen und verdichtet unter spezieller Berücksichtigung historischer Verlaufsdaten vorgehalten. Datenaktualisierungen finden nur periodisch durch Abzüge („Snaphots“) operativer Systeme statt. In der Regel wird nur lesend auf die verfügbaren Daten zugegriffen, wobei aufgrund der Historisierung mit einer mittleren bis langen Antwortzeit gerechnet werden muss.

Dem OLAP-Ansatz steht der traditionelle, operative OLTP-Ansatz („Online Transaction Processing“) gegenüber, wie er im relationalen Datenbankkonzept zum Ausdruck kommt. Beide Ansätze unterscheiden sich gravierend: Bei OLTP wiederholen sich die Datenbankprozesse ständig, sind strukturiert und bestehen aus isolierten, atomaren Transaktionen. Diese arbeiten mit aktuellsten Daten und greifen lesend sowie schreibend meist nur auf wenige Datensätze über Primärschlüssel zu.

Bei OLAP hingegen steht die historische, aggregierte Information im Vordergrund. Die Analysen bestehen aus komplexen Abfragen, der Zugriff erfolgt meist nur lesend. Die Tabelle fasst die wichtigsten Unterschiede schlagwortartig zusammen.

Unterschiede OLTP – OLAP

Merkmal

OLTP

OLAP

Grundlegende Orientierung

transaktionsorientiert

analyse- und themenorientiert

Anwendungsbereich

operative Systeme (Administrations- und Dispositionssysteme)

Data Warehouse Systeme

Nutzer

Administration, Sachbearbeiter

Entscheidungs- und Führungskräfte, Manager

Datenstruktur

zweidimensional, anwendungsbezogen

multidimensional, subjektbezogen

Dateninhalt

detaillierte, nicht verdichtete Einzeldaten

verdichtete und abgeleitete Daten

Datenverwaltungsziele

transaktionale Konsistenzerhaltung

zeitbasierte Versionierung

Datenaktualität

aktuelle Geschäftsdaten

historische Verlaufsdaten

Datenaktualisierung

durch laufende Geschäftsvorfälle

periodische Datenaktualisierung („Snapshot“)

Zugriffsform

lesen/schreiben/löschen

lesen/verdichten

Zugriffsmuster

vorhersehbar, repetitiv

ad hoc, heuristisch

Zugriffshäufigkeit

hoch

mittel bis niedrig

Transaktionsart und Dauer

kurze Lese und Schreiboperationen

lange Lesetransaktionen

Der Hypercube

Wie bereits in den Regeln von Codd und in „FASMI“ definiert, ist die Multidimensionalität Basis von OLAP-Systemen. Hierfür wird aus der meist relationalen Datenbankstruktur eine Darstellung in mehrdimensionalen Sichten generiert.

Obwohl theoretisch in ihrer Anzahl nicht begrenzt, besitzen betriebswirtschaftliche Anwendungen meist Dimensionen im einstelligen bis allenfalls 3- bis 4-stelligen Bereich. Diese Beschränkung erklärt sich auf Grund der Eigenschaften betriebswirtschaftlicher Problemstellungen und der limitierten kognitiven Fähigkeiten von Menschen. Beispielsweise wäre es völlig unrealistisch, Auswertungen auf Grundlage von mehreren hundert Dimensionsausprägungen durchzuführen, da dies nicht mehr durchschaubar wäre.

Die Dimensionen werden bildlich als Achsen eines Würfels dargestellt – unabhängig von der Anzahl der Dimensionen. Dieser Würfel wird auch als Cube oder Data Cube bezeichnet. Die grundlegende Metapher für multidimensionale Datenräume ist aber der Begriff Hypercube – er deutet die Offenheit bezüglich der Anzahl möglicher Dimensionen an.

Die Abbildung zeigt einen typischen Hypercube mit den drei Dimensionen „Produkte“, „Monate“ und „Wertart“ (Kennziffern).

Würfelperspektive: Ein typischer Hypercube mit drei Dimensionen.

Im Inneren des Datenwürfels stehen die quantitativen Daten, die auch als Maßzahlen bezeichnet werden. Dabei kann es sich um Basisgrößen (atomare Werte) oder abgeleitete Zahlen (berechnete Werte) handeln.

In diesem Datenwürfel kann nun nach Bedarf navigiert und recherchiert werden. Typische Abfragen, die man anhand des im Bild dargestellten Würfels stellen könnte, wären etwa folgende:

OLAP-Operationen – ein Beispiel

Für einige typische OLAP-Operationen, mit denen spezifische Auswertungen möglich sind, haben sich eigene Bezeichnungen etabliert. Diese - bereits im Einführungsbeitrag über Analysemethoden angerissenen - Operationen stellen wir nun etwas ausführlicher vor und nutzen dabei den im Artikel „Datenmodellierung“ bereits verwendeten Hypercube.

OLAP-Beispiel: Mehrdimensionale Datenmodellierung von Studentenzahlen an einer Universität (Quelle: Lehrstuhl Wirtschaftsinformatik, Universität Bamberg)

Das Beispiel betrachtet quantitative Daten, wie die Anzahl der Studierenden einer Universität, unter verschiedenen Blickwinkeln. Die resultierende Datenstruktur bildet einen Cube. Die Achsen des Würfels sind die Dimensionen.

Dimensionen enthalten jeweils eine Anzahl von Dimensionselementen. Die Dimension „Studienausrichtung“ umfasst die Elemente „SOZ“ (Soziologie), „EuWi“ (Europäische Wirtschaft), „VWL“ (Volkswirtschaftslehre), „BWL“ (Betriebswirtschaftslehre) und „WI“ (Wirtschaftsinformatik). Die Dimension „Zeit“ besteht aus den einzelnen Semestern, die Dimension „Studienabschnitt“ aus den Elementen „Grundstudium“ (GS) und „Hauptstudium“ (HS).

Durch das kartesische Produkt der Dimensionselemente aller an einem Würfel beteiligten Dimensionen entsteht die Gesamtzahl der Zellen des Würfels mit jeweils einem konkreten Datenwert.

Pivotierung / Rotation

Oft reicht ein zweidimensionaler Ausschnitt aus dem Hypercube für betriebswirtschaftliche Analysen aus. Eine solche Sicht ist zum Beispiel eine Seite des Würfels. Hierzu dient die Operation „Pivotierung“.

Unter „Pivotierung“ versteht man das Rotieren des Würfels um die eigene Achse, so dass eine andere Kombiniation von zwei Dimensionen sichtbar wird. Somit erhält der Benutzer durch die Rotation unterschiedliche Sichten auf den betrachteten Datenwürfel.

Im Beispiel sieht der Nutzer im Würfel links die Dimensionen „Studienausrichtung“ und „Studienabschnitt“. Recherchierbar sind damit zum Beispiel die Studentenzahlen der jeweiligen Fächer im Grund- und Hauptstudium.

Eine neue Sicht erhält der User durch Drehen des Ausgangswürfels nach links um die Achse „Studienausrichtung“. Nun kommen die Dimensionen „Studienausrichtung“ und „Zeit“ in den Vordergrund, womit die Studentenzahlen der Studienrichtungen in den einzelnen Semestern sichtbar werden.

Pivotierung: Durch Drehen des Würfels erhält man eine neue Sicht auf die Daten. (Quelle: Lehrstuhl Wirtschaftsinformatik, Universität Bamberg)

Statt Pivotierung ist auch der Term Rotation üblich. Wenn nur zwei Dimensionen dargestellt werden, kann man diese in der Ansicht austauschen, indem man sozusagen den Würfel um eine Dimension dreht. Diese Darstellung wird mit Hilfe von Pivot-Tabellen in Tabellenkalkulationsprogrammen realisiert.

Roll-Up & Drill-Down

Viele der Dimension sind in sich noch in Hierarchien untergliedert. Die Dimension „Studienabschnitt“ hat zum Beispiel noch die Attribute „GS“ und „HS“, welche eine hierarchische Strukturierung zulassen. Um in diesen Hierarchien zu navigieren, stehen Operationen wie „Roll-Up“ und „Drill-Down“ zur Verfügung. Beide Operationen erlauben das Durchlaufen von Verdichtungsebenen innerhalb einer Dimensionshierarchie.

Beim „Drill Down“steigt man von einem bestimmten Aggregationsniveau auf die jeweils nächsttiefere und detailliertere Verdichtungsstufe. Diese Operation bewirkt eine genauere Darstellung der Daten. Es muss jedoch bereits bei der Modellierung des Data Warehouses überlegt werden, bis zu welchen Detaillierungsgrad die Daten vorhanden sein sollen.

In der Grafik wird - ausgehend von den Studierendenzahlen in den Sozial- und Wirtschaftswissenschaften im Sommersemester 1998 - in allen Studienabschnitten gleichzeitig eine Drill Down-Operation auf die Dimensionen „Studienausrichtung“ und „Studienabschnitt“ durchgeführt. Auf der darunterliegenden Verdichtungsebene werden Daten zu den einzelnen Studiengängen und Studienabschnitten ersichtlich.

Drill Down und Roll Up: Beim Drill Down (links) werden Daten genauer dargestellt, beim Roll Up (rechts) verdichtet. (Quelle: Lehrstuhl Wirtschaftsinformatik, Universität Bamberg)

Die inverse Operation zum „Drill Down“ ist das „Roll Up“. Beim „Roll-Up“ werden alle Einzelwerte zu einem weiter oben liegenden Hierarchieattribut verdichtet. Dadurch verringert sich der Detaillierungsgrad. In der Abbildung ist ein „Roll Up“ im rechten Bild dargestellt.

Slice & Dice

Die Operation der Selektionermöglicht die Auswahl einzelner Würfeldaten, sie erfüllt also eine Filterfunktion. Eine Selektion wäre etwa: Finde die drei Studiengänge mit den höchsten Studierendenzahlen im Grundstudium während des Sommersemesters 1998 (BWL, VWL und WI).

Wichtige spezielle Selektionsoperatoren sind „Slice“und „Dice“. Der Slice-Operator entspricht bei einem dreidimensionalen Hypercube dem Herausschneiden einer Scheibe aus dem Würfel. Das Ergebnis ist dann eine zweidimensionale Matrix.

In dem Beispiel (Abbildung) wird durch Beschränkung auf das Sommersemester 98 eine zweidimensionale Matrix aller Studienabschnitte und Studiengänge herausgeschnitten.

Slice und Dice: Der Slice-Operator schneidet eine Scheibe (2-dimensionale Matrix) aus dem Würfel, Dice erzeugt einen mehrdimensionalen Teilwürfel. (Quelle: Lehrstuhl für Wirtschaftsinformatik, Universität Bamberg)

Ein „Dice“ ist ein kleiner, mehrdimensionaler Ausschnitt eines Hypercubes. Dabei werden mehrere Dimensionen jeweils durch eine Menge von Dimensionselementen eingeschränkt. Das Ergebnis ist ein neuer, mehrdimensionaler Datenraum, der extrahiert und weiter verarbeitet werden kann.

Das Dice-Beispiel in der rechten Seite der Abbildung verdeutlicht dies. Hierbei wird ein Teilwürfel des gesamten Hypercubes gebildet wird. Die Auswahl der Studiengänge EuWi, BWL und VWL in den Semestern WS 98/99 und SS 99 führt zu dem Unterwürfel ganz rechts.

Drill Through & Drill Across

Stößt ein „Drill Down“ auf die höchste Detaillierungsstufe, ist meist keine weitere Verfeinerung möglich. Durch einen „Drill Through“ kann jedoch die physische Datenquelle gewechselt werden, so dass sich detailliertere Daten verfügbar machen lassen. Diese erweiterte, vertikale Recherche kann auch durch Rückgriff auf andere relationale Quellen oder einen anderen Hypercube erfolgen. Der Wechsel findet für den Nutzer unmerklich statt.

Die oft auch als „OLAP Join“ bezeichnete Operationstellt beispielsweise analog zur Verbund-Operation bei der Verknüpfung von Tabellen in relationalen Datenbanksystemen eine Verbindung zwischen mehreren Hypercubes her. Voraussetzung hierfür sind gemeinsame Dimensionen zwischen den zu verknüpfenden Datenwürfeln.

Drill Through: Ein OLAP-Join verbindet die Daten zweier Hypercubes. (Quelle: Lehrstuhl für Wirtschaftsinformatik, Universität Bamberg)

In der Abbildung gibt es neben den bislang verwendeten Hypercube-Daten weitere Daten aus einem zweiten Cube. In dem Beispiel werden die Maßzahlen „Anzahl der Studierenden“ des ersten Würfels und „Anzahl der Exmatrikulationen“ des zweiten Cubes zu einer neuen Maßzahl „Prozentualer Anteil der Exmatrikulationen an der Gesamtzahl der Studierenden“ kombiniert.

Der „Drill Across“ erweitert die horizontalen Recherchemöglichkeiten, indem er den Wechsel zwischen Hypercubes ermöglicht. Damit ist es möglich, eine Kennzahl über mehrere Würfel, die eine Wertkette bilden, zu verfolgen. Dabei ist zu beachten, dass die Dimensionen der einzelnen Würfel die gleiche Granularität aufweisen müssen.

OLAP-Datenhaltung – ROLAP, MOLAP, HOLAP

Die meisten OLAP-Systeme werden in einer Client-Server-Architektur realisiert. Der Server übernimmt die Datenhaltung, der Client dient zur Abfrage. Durch ein Präfix wird signalisiert, welche Datenbanktechnologie bei der physischen Datenspeicherung Verwendung findet. OLAP-Systeme setzen häufig oberhalb des Data Warehouses auf der Ebene der Data Marts auf und beziehen ihre Daten aus dieser Quelle oder extrahieren periodisch direkt aus den operativen Beständen.

Die Multidimensionalität lässt sich physikalisch unterschiedlich realisieren. In der Praxis werden die Daten meist in relationalen Datenbanksystemen vorgehalten und dann dem Nutzer multidimensional präsentiert. Üblich sind aber auch multidimensionale Datenbanken oder Zusatzkomponenten für relationale Datenbanken.

Konkret haben sich bei der Datenhaltung von OLAP folgende Konzepte durchgesetzt:

OLAP-Datenhaltung – DOLAP und Memory Based OLAP

Wie angedeutet, hat jeder Typ seine Vor- und Nachteile. ROLAP skaliert gut, ist dafür aber langsamer als MOLAP. Dies liegt bei ROLAP daran, dass die Daten neben den teils vielleicht schon vorausberechneten Aggregationen in einer vielseitigen, aber langsameren Datenbank gespeichert vorliegen.

Bei MOLAP sind diese Daten hingegen in geeigneter, schnell zugänglicher Form meist direkt im Dateisystem abgespeichert. Deshalb kann MOLAP sehr schnell Aggregationen berechnen. Daher bietet HOLAP oft einen guten Kompromiss aus ROLAP und MOLAP.

Neben diesen Basistypen gibt es weitere OLAP-Varianten, die diese Grundtypen ergänzen. Beim Architekturtyp DOLAP („D“ für Desktop) werden die Basisdaten zunächst lokal in den Analyseclient importiert, um eine lokale Analyse vollziehen zu können. Diese Variante lässt sich vor allem auf den Wunsch von Anwendern zurückführen, multidimensionale Datensichten auch im mobilen Einsatz auf Notebooks nutzen zu können. Als Nachteil kann hier eine unter Umständen zu schwache Hardwareauslegung gesehen werden.

Einen weiteren, neuerdings sehr populären Typ stellt „Memory Based OLAP“ dar. Hier werden alle Daten im RAM gehalten und alle Werte in Echtzeit berechnet. Diese Technik war in der Vergangenheit hinsichtlich der Datenmengen limitiert. Aufgrund der zunehmenden Verbreitung von 64 Bit Rechner-Architekturen können jedoch heutzutage auch große Datenmengen mit Memory based OLAP analysiert werden.

Beispiel Cedavis

Ein Beispiel für Memory Based OLAP ist die BI-Lösung Cedavis. Hier erfogt die Datenhaltung nicht, wie bei üblichen OLAP-Systemen, auf langsamen Festplattenspeichersystemen, sondern komplett im RAM. Der zusätzliche Einsatz von hocheffizienten Algorithmen erlaubt es, auf jede Form von Voraggregation zu verzichten.

Die Abbildung zeigt die Architektur des Systems. Das Modul „Data Loader“übergibt die Daten aus der Data Warehouse-Datenbank an einen oder mehrere „Processing Server“. Hierzu steht standardmäßig eine ODBC-Schnittstelle zur Verfügung.

Im Modul „Processing Server“werden alle Abfragen der Anwender bearbeitet. Je nach Datenmenge besteht das Modul aus einem oder beliebig vielen Servern, die zusammen die kompletten Daten im RAM halten. Sind mehrere Processing Server vorhanden, berechnet jeder Server einen OLAP-Teilwürfel. Die Anzahl der Processing Server ist beliebig skalierbar, so dass sich auch sehr große Datenmengen integrieren lassen.

Das Modul „Data Dispatcher“übergibt die Abfragen an die Processing Server. Es erhält von ihnen die jeweiligen Teilergebnisse zurück, berechnet den OLAP-Gesamtwürfel und reicht diesen an den „Query Manager“ weiter.

Die Hauptaufgabe des Moduls „Query Manager“besteht in der Steuerung der Sicherheitsverwaltung. Der Administrator kann hier die Zugriffsberechtigungen des Benutzers bis auf die unterste Hierarchieebene des Dimensionsmodells und für jede einzelne Kennzahl bestimmen.

Das Frontend Modul „Web Analyzer“bietet dem Benutzer eine komfortable Oberfläche für die Durchführung von freien Ad-Hoc OLAP-Analysen, zum Einrichten von Jobs und zum Erstellen von Reports.

Memory Based OLAP: Die Architektur von Cedavis

OLAP-Frontends

Mittlerweile existiert eine Vielzahl an Front-Ends, die direkt auf OLAP-Cubes zugreifen und die darin enthaltenen Daten anhand von Dimensionen und Kennzahlen flexibel und mit sehr geringen Antwortzeiten auswerten können. Damit ist es für den Nutzer möglich, mit Hilfe der oben beschriebenen Operationen interaktiv auf einer graphischen Benutzeroberfläche durch Drag & Drop beliebige Auf- und Einsichten in den Datenwürfel zu erreichen.

Bei den OLAP-Frontends lassen sich zwei grundlegende Typen unterscheiden. Bei der geführten OLAP-Analyse stellen die Systeme eine intuitiv bedienbare GUI zur Verfügung, mit der auch unerfahrene Mitarbeiter multidimensionale Datenanalysen durchführen können. Da diese hoch strukturierten Programme ausschließlich festgelegte Navigationspfade, Berechnungsvarianten und Berichte anbieten, ist die Flexibilität der Analysemöglichkeiten eher gering.

Freie OLAP-Analysen bieten keine oder nur eine gering ausgeprägte Nutzerführung, sind dafür aber flexibler einsetzbar. Hinsichtlich der individuellen Auswertungsmöglichkeiten sind kaum Grenzen gesetzt und die Ergebnisse lassen sich beliebig weiter berechnen. Hierfür ist allerdings etwas Know-how und eine Einarbeitung erforderlich.

In der Praxis erfolgen OLAP-Analysen oft durch Einbindung der OLAP-Funktionalität in Tabellenkalkulationsprogramme. IT-versierten Nutzergruppen bieten sich durch die Kombination etwa von Excel und OLAP sehr gute Recherchemöglichkeiten. Ein konkretes OLAP-System, das diese Verknüpfung ermöglicht, ist etwa MIS-Alea.

OLAP mit Excel: OLAP-Funktionalität lässt sich mit MIS-Alea und Excel realisieren.

Fazit

Inzwischen gehören OLAP-Systeme zu den unverzichtbaren Instrumenten betrieblicher Datenanalyse. Sie ermöglichen dem Anwender multidimensionale Sichten auf betriebliche Datenbestände und kommen den Bedürfnissen von Managern und anderen Fachkräften entgegen.

Daten lassen sich mit OLAP intuitiv und interaktiv analysieren, der Datenbestand kann aus unterschiedlichen Perspektiven flexibel betrachtet werden. Basis der OLAP-Analyse ist der Hypercube, aus dem sich mit Operationen wie Drill Down oder Slice and Dice beliebige Verdichtungen und Datenextrakte ziehen lassen.

Bei der Datenhaltung unterscheidet man zwischen ROLAP, das auf eine relationale Datenbanken zugreift, und MOLAP, das auf proprietären, multidimensionalen Datenbanken basiert. HOLAP ist eine Zwischenform zwischen ROLAP und MOLAP. Jeder Typ hat seine Vor- und Nachteile.

Auf Clientseite lässt sich OLAP-Funktionalität in Tabellenkalkulationsprogramme wie Excel einbinden. (ala)