Zum Inhalt springen

OLAP: Was ist Online Analytical Processing?

  • Daten

Online Analytical Processing (kurz: OLAP) ist eine Technologie zur Organisation von großen, unübersichtlichen Datenbanken, damit sie für Business Intelligence Anwendungen aus verschiedenen Blickwinkeln analysiert werden können.

Wie funktioniert Online Analytical Processing?

Online Analytical Processing wird verwendet um Datenbanken für Data Mining oder Business Intelligence zu optimieren und deren Abfragen zu beschleunigen. Dabei werden die Daten aus den relationalen Tabellen neu strukturiert und nach Dimensionen getrennt in den sogenannten Cubes abgespeichert. Diese Würfel werden so gebildet, dass sie die am Häufigsten abgefragten Dimensionen und Werte enthalten, welche viele Business Analysten benötigen.

In der Architektur ergeben sich dann zwei Datenbanken:

  1. Data Warehouse: Hier werden die ursprünglichen Tabellen und Zeilen gespeichert, wie sie aus dem Quellsystem gekommen sind. Falls im Detail auf spezielle Zeilen zugegriffen werden muss, kann das Data Warehouse angefragt werden. Eine Tabelle im Data Warehouse umfasst beispielsweise detailliert alle Aufträge. Jede Zeile entspricht hier genau einem Auftrag oder sogar einer Auftragsposition.
  2. OLAP – Datenbank: Diese Datenbanken versuchen häufig genutzte Spalten (Dimensionen) zu aggregieren und im Speicher vorzuhalten. Das ist vor allem für Business Intelligence Anwendungen wichtig, in denen aggregierte Kennzahlen berechnet werden. Für die Geschäftsleitung ist beispielsweise der monatliche Umsatz ausschlaggebend, somit muss nicht jeder einzelne Auftrag in einer Zeile vorgehalten werden.

Was ist der OLAP Würfel?

Sobald Datensätze in Diagrammen dargestellt werden sollen, benötigen wir zwei unterschiedliche Konzepte: Dimensionen und Werte. Die Dimension ist die Grundlage für jede Auswertung und steht für eine unabhängige Größe. Wenn unser Datensatz die Umsatzdaten aus dem letzten Jahr enthält, gibt es beispielsweise die Dimension „Auftragsdatum“, „Kundennummer“ oder „Produktnummer“. Demgegenüber stehen die Werte, welche konkrete Zahlen sind mit denen wir im Diagramm rechnen können, beispielsweise die Umsatzmenge oder der Umsatz.

Durch die Kombination aus mindestens einer Dimension und einer Kennzahl entstehen dann Diagramme. Ein Balkendiagramm könnte beispielsweise als Dimension die Kundennummer und als Wert den Umsatz nutzen. Daraus entsteht eine Ansicht aus der das umsatzstärkste Produkt abgelesen werden kann. In Kurzform ist das die Funktionsweise von Business Intelligence. Es werden diverse Dimensionen und Werte zu Diagrammen verbunden, welche helfen sollen, konkrete Fragestellungen aus dem Geschäftsumfeld zu beantworten.

Herkömmliche Datenbanken sind für solche Abfragen nicht optimiert und führen deshalb zu langsamen und ineffizienten Transaktionen, vor allem dann, wenn mehrere Dimensionen gleichzeitig abgefragt werden. Hier mal ein konkretes Beispiel, welches die Problematik aufzeigt:

Für eine Umsatzauswertung müssen wir drei Dimensionen zusammenbringen, eine Kundendimension (z.B. den Kundennamen), eine Produktdimension (z.B. den Produktnamen) und eine Zeitdimension (z.B. Auftragsdatum). All diese Informationen sind aufgrund der Normalisierung einer relationalen Datenbank in verschiedenen Datenbanktabellen abgespeichert. Um diese zusammenzubringen, müssen wir mit Join-Operationen in SQL arbeiten.

Das Bild zeigt den Join aus drei Tabellen zu einer aggregierten Ansicht.
Herkömmlicher SQL – Join ohne OLAP

Aus diesem Grund nutzt OLAP den sogenannten Würfel. Darin können mehrere Dimensionen als Achsen des Würfels dargestellt werden. Die Werte sind dann ein konkreter Punkt im Würfelraum. Die drei Dimensionen Kunde, Produkt und Zeit können wir also als Würfelachsen abbilden.

Auf diese Würfelstruktur können dann alle Business Intelligence Anwender zugreifen und Abfragen machen. Dadurch werden die mehrmaligen Join-Abfragen auf die Datenbank vermieden und die Transaktionen sind deutlich schneller und effizienter. Natürlich können auch mehr als drei Dimensionen in den Cube aufgenommen werden. Der Cube dient dabei lediglich als Veranschaulichungsunterstützung und ist nicht als tatsächlicher Würfel zu verstehen. Ab einer vierten Dimension beispielsweise lässt sich das ganze nicht mehr als Würfel repräsentieren, jedoch kann trotzdem Online Analytical Processing genutzt werden.

Das Bild zeigt den OLAP-Cube für die Dimensionen Zeit, Produkte und Kunden.
OLAP – Cube für die Dimensionen Kunde, Zeit und Produkt

Welche Operationen werden durch den Cube möglich?

Für die Analysten ergeben sich durch die Aufteilung in Würfel ganz neue Möglichkeiten, die mit herkömmlichen relationalen Datenbanken nicht oder nur mit großem Berechnungsaufwand möglich waren. Insgesamt lassen sich die Operationen mit einem OLAP-Würfel in fünf Kategorien einteilen:

  • Slicing: Beim Slicing wird lediglich ein Teil des Würfels (ein Slice) betrachtet, indem eine der Dimensionen auf einen festen Wert gesetzt wird. In unserem Beispiel könnte das ein bestimmtes Produkt sein für welches aber alle Kunden und alle Auftragszeitpunkte betrachtet werden.
  • Dicing: Das Dicing ist eingeschränkter als das Slicing, indem es mehr als nur eine Dimension festlegt. Wir könnten beispielsweise alle Produkte betrachten für einen bestimmten Kunden im Monat Juni 2022. Somit wäre die Dimension Produkt noch flexibel, aber die Dimensionen Kunde und Auftragsdatum festgesetzt.
  • Drill-down / Drill-up: Bei dieser Kategorie wird dem Analysten die Möglichkeit gegeben, von der aggregierten Sicht auf eine detaillierte Stufe hinabzusteigen (Drill-Down) oder von einer detaillierten Stufe auf eine aggregiert Stufe aufzusteigen (Drill-Up). Wenn man zuerst die Umsätze eines gesamten Monats betrachtet, um dann in eine Ansicht zu wechseln, in der die Umsätze pro Tag aufgeführt sind, dann macht man einen Drill-Down.
  • Roll-up: Hierbei werden alle Werte einer der Dimensionen zusammenaggregiert. Wenn die Umsätze des Unternehmens beispielsweise drei Jahre zurückreichen, werden die kompletten Umsätze der letzten drei Jahre aufaddiert und ausgegeben.
  • Pivot: Diese Kategorie ist etwas abstrakt, indem sie die Möglichkeit gibt, den Analysten auf neue Gedanken zu bringen und den Würfel zu drehen, wodurch eine neue, möglicherweise vernachlässigte, Dimension in den Vordergrund rückt. Im Business Intelligence Bereich ist es beispielsweise sehr verbreitet die Umsätze im zeitlichen Verlauf zu betrachten. Durch einen OLAP Cube kann jedoch auch die Sicht auf einzelne Kunden oder Produkte wieder in den Vordergrund rücken.

Welche Vor- und Nachteile bietet die Nutzung von OLAP?

Die Nutzung von OLAP hat es ermöglicht, dass häufige Abfragen deutlich flexibler und effizienter ablaufen als noch auf klassischen, relationalen Tabellen, die darauf natürlich nicht ausgerichtet sind. Darüber hinaus sorgen sie auch für ganz neue Blickwinkel auf die Daten im Business Intelligence durch die Operationen, die ein OLAP Cube bietet.

Das Bild zeigt den Weg der Daten aus den Ursprungstabellen über ein Data Warehouse und OLAP Cube hin zu den Business Analysts.
Effiziente Arbeitsweise mithilfe von OLAP

Es gibt nur wenige Punkte, die gegen die Verwendung von Online Analytical Processing sprechen, trotzdem ist die Verbreitung von OLAP bisher noch sehr gering. Das liegt vor allem daran, dass die Kenntnisse über OLAP noch nicht so verbreitet sind, wie das beispielsweise bei SQL der Fall ist, das mittlerweile bei nahezu jeder Weiterbildung oder jedem Studium unterrichtet wird. Deshalb muss erst Personal geschult werden oder das Know-How teuer eingekauft werden.

Was die eigentliche Funktionalität von Online Analytical Processing angeht, ist die Analyse nur auf Daten beschränkt, die sich numerisch darstellen lassen. Ansonsten können sie nicht im Koordinatensystem des Würfels dargestellt werden. Für Textdaten aus Social Media Mining beispielsweise müssen erst numerische Repräsentationen gefunden werden, um OLAP zu nutzen.

Welche Arten von Online Analytical Processing gibt es?

Online Analytic Processing Systeme lassen sich in insgesamt drei verschiedene Arten unterteilen. Diese sind:

  1. Multidimensionales Online Analytical Processing (MOLAP): Das ist die am häufigsten genutzte Form, welche mehrdimensionale Würfel bildet. Obwohl die Bildung der Cubes verhältnismäßig lange dauert, sind die Abfragen sehr schnell und effizient. Besonders geeignet ist diese Form bei numerischen Feldern.
  2. Relationales Online Analytical Processing (ROLAP): Diese Art verzichtet auf die Würfel und arbeitet stattdessen direkt auf relationalen Tabellen. Während des ETL-Prozesses wird das Data Warehouse mit Aggregationstabellen versorgt. Diese können mithilfe von SQL abgefragt werden.
  3. Hybrid Online Analytical Processing (HOLAP): Das ist die Kombination aus den beiden vorherigen Arten. Ein Teil der Daten wird in einem herkömmlichen MOLAP Cube gespeichert und der übrige Teil liegt in einem ROLAP Speicher ab.

OLTP und OLAP im Vergleich

Die beiden Abkürzungen OLAP (für Online Analytical Processing) und OLTP (für Online Transaction Processing) werden fälschlicherweise oft miteinander in Verbindung gebracht, da die Namen einen ähnlichen Aufbau haben. Tatsächlich haben die Begrifflichkeiten jedoch gar nicht viel gemeinsam, sondern beschreiben unterschiedliche Konzepte.

Das Online Transaction Processing (OLTP) umschreibt Systeme, die sich auf die schnelle Verarbeitung von Transaktionen spezialisiert haben. Der Hauptfokus liegt dabei vor allem darauf, dass die relevanten Personen im Frontend relativ einfach damit arbeiten können, um ihre Transaktionen, beispielsweise an der Kasse, verarbeiten zu können.

Das Online Analytical Processing (OLAP) hingegen ist eine Plattform zur einfacheren Datenanalyse in Datenbanken. Es wird also vor allem im Backend von Business Analysts oder Data Scientists genutzt, um Geschäftsdaten zu analysieren und teils komplexe Zusammenhänge zu finden, die zur Weiterentwicklung des Unternehmens beitragen können.

Aus der technischen Sicht werden die Unterschiede sogar noch deutlicher, wie die folgenden Punkte zeigen, die von IBM zusammengestellt wurden:

  • OLTP Abfragen basieren meist auf einzelnen Datensätzen zur Verarbeitung einer Transaktion, bei OLAP hingegen wird eine Vielzahl von Datensätzen abgefragt.
  • Beim Online Transaction Processing spielt die Reaktionszeit eine große Rolle, wohingegen die Analysen beim Online Analytical Processing nicht zeitrelevant sind und in vielen Fällen auch länger dauern können.
  • Beim Online Analytical Processing werden die Daten nicht geändert, sondern lediglich analysiert. Das Online Transaction Processing modifiziert die Datenbank mit jeder eingehenden Transaktion.
  • Die Speicherplatzanforderung von OLTP ist vergleichsweise gering, da zwar viele Transaktionen abgespeichert werden, diese aber eine klare Struktur haben und eine begrenzte Menge an Spalten aufweisen. Beim OLAP hingegen werden große Datenmengen verarbeitet, da die Informationen nicht selten aus verschiedenen Datenbanken stammen und zusammengeführt werden.

Das solltest Du mitnehmen

  • Online Analytical Processing ist eine Technologie zur Organisation von großen Datenbanken zur Nutzung für Business Intelligence.
  • Die Dimensionen und Werte werden in einem sogenannten OLAP-Cube organisiert. Dadurch ergeben sich verschiedene Operationen für den Analysten und neue Sichtweisen auf die Daten.
  • Die Nutzung von OLAP bietet vor allem Effizienzvorteile bei der Datenabfrage gegenüber herkömmlichen Datenbanken.

Andere Beiträge zum Thema OLAP

close
Das Logo zeigt einen weißen Hintergrund den Namen "Data Basecamp" mit blauer Schrift. Im rechten unteren Eck wird eine Bergsilhouette in Blau gezeigt.

Verpass keine neuen Beiträge!

Wir versenden keinen Spam! Lies die Details gerne in unserer Datenschutzrichtlinie nach.

Cookie Consent mit Real Cookie Banner