Datenhaltung in BI-Systemen

Würfeln Sie noch oder wissen Sie schon?

07.07.2010 von Thomas Recke
Das Konzept der Datenhaltung entscheidet über die Leistungsfähigkeit eines BI-Systems. Lesen Sie, welchen Stärken und Schwächen der klassische OLAP-Ansatz und der relationale Ansatz haben.

Mit der Einführung eines Business-Intelligence-Systems (BI) zielen Unternehmen darauf ab, neue Erkenntnisse aus einer Vielzahl von Daten zu gewinnen, um bessere operative und strategische Entscheidungen treffen zu können. Analysiert werden dabei Daten und Fakten aus dem laufenden Geschäftsbetrieb, die zum Beispiel in ERP- und CRM-Systemen oder auch in Form einfacher Excel-Listen gesammelt werden.

Lesen Sie mehr zum Thema Business Intelligence:

Leitfaden für den erfolgreichen SAP-BW-Betrieb

Datenqualität - K.o.-Kriterium für Business Intelligence

Ratgeber Datenqualität: Gute Daten - schlechte Daten

Die meisten BI-Systeme bringen Werkzeuge mit, um die unterschiedlichen operativen Systeme direkt anzuzapfen, die Daten miteinander zu verknüpfen und in einem geeigneten Datenmodell zu integrieren. Dieses Datenmodell bildet die "Daten-Sicht", die jedoch für den Anwender in der Regel unsichtbar bleibt. Erst in einer nächsten Stufe werden die so zusammengefassten Daten zu sinnvollen Informationen verdichtet, die sich dann in Diagrammen auf unterschiedliche Weise visualisieren lassen. Auf diese "Analyse-Sicht" greift der BI-Anwender letztendlich zu.

Strikte Aufgabentrennung

Eine Trennung in Daten- und Analyse-Sicht gibt auch vor dem Hintergrund der Administrationszuständigkeiten Sinn. Um ein Datenmodell zu erstellen, benötigt man tiefer gehende IT-Kenntnisse, zumal dazu die Strukturierung der Daten in den Vorsystemen verstanden werden muss. Für eine Darstellung der Daten in Diagrammen und Tabellen sind dagegen vor allem fachliche Kenntnisse vonnöten, zum Beispiel um zu entscheiden, welche Darstellungsformen für welche Daten sinnvoll sind. Auf diese Art können die Aufgaben zur Gestaltung einer BI-Anwendung zwischen IT-Abteilung (Pflege der Daten-Sicht) und Fachabteilung (Pflege der Analyse-Sicht) aufgeteilt werden.

Nun ist ein BI-System selten ein statisches System. Für den langfristigen Erfolg eines BI-Projekts ist es entscheidend, dass ein entsprechendes System flexibel erweiterbar bleibt. Insbesondere dann, wenn die Fachabteilung selbst in die Lage versetzt werden soll, die Analyse-Sicht eigenständig zu gestalten, muss das zu Grunde liegende Datenmodell eine flexible Darstellung der Daten in der Analyse-Sicht erlauben. Ansonsten hat jede neue Anforderung in der Fachabteilung eine Anforderung an die IT-Abteilung zur Folge.

In diesem Artikel werden zwei aktuelle Konzepte zur Datenhaltung in BI-Systemen vorgestellt. Ein Beispiel macht deutlich, wie die Organisation der Daten letztlich maßgeblich über das BI-Ergebnis entscheidet:

Verglichen werden:

Abbildung 1: BI - Datenintegration, Information, Analyse.

Ein einfaches Szenario macht anschaulich, wie sich die Daten-Sicht in den jeweiligen Konzepten realisieren lässt. Darüber hinaus wird gezeigt, wie sich die Festlegungen in der Daten-Sicht auf die Darstellungsmöglichkeiten in der Analyse-Sicht auswirken.

Szene 1: Die Daten

In diesem Szenario soll ein mittelständisches Unternehmen betrachtet werden, das in einem ERP-System Umsatzdaten für verschiedene Kunden und Produkte gesammelt hat. Die Vertriebsabteilung möchte nun den zeitlichen Verlauf der Umsatzzahlen grafisch darstellen und analysieren können. Dabei soll es möglich sein, Kunden und Produkte gezielt auswerten zu können. Des Weiteren interessiert sich die Vertriebsabteilung dafür, wie sich der Gesamtumsatz des Unternehmens auf die einzelnen Kunden verteilt. Aus dieser Analyse möchte der Vertrieb Kundensegmente ableiten, so dass sich differenzierte Vertriebsstrategien entwickeln lassen.

Tabelle 1: Umsatzzahlen des Beispielunternehmens.

Das Beispiel umfasst drei Kunden, an die das Unternehmen in den Jahren 2008 und 2009 zwei verschiedene Produkte verkauft hat. Die zugehörigen Umsatzzahlen stehen wie in Abbildung 1 dargestellt im ERP-System zur Verfügung.

Szene 2: Die Daten im Würfel

Das Würfelkonzept folgt dem klassischen OLAP-Ansatz. Hier wird strikt zwischen Dimensionen wie zum Beispiel Jahr, Kunde und Produkt auf der einen Seite sowie Fakten wie Preis, Menge und Umsatz getrennt. Die Dimensionen werden als Kanten von Würfeln, den sogenannten "Cubes", dargestellt. Die Fakten bilden als Menge von Punkten die mehrdimensionale Fläche des Würfels. Jede Dimension des Würfels steht dabei für eine Betrachtungsrichtung, aus der die Daten analysiert werden können. Durch die Kombination mehrerer Betrachtungsrichtungen, das Ausblenden einer Betrachtungsrichtung oder die Aggregation der Daten in einer Betrachtungsrichtung entsteht somit eine Vielzahl von Analysemöglichkeiten.

In unserem Szenario lässt sich das Datenmodell in einem dreidimensionalen Würfel wie in Abbildung 2 darstellen:

Abbildung 2: Dreidimensionaler Würfel zur Abbildung der Umsatzzahlen.

Ein kleiner Würfel in diesem Diagramm steht für einen Datensatz, also für einen bestimmten Umsatz, der mit einem bestimmten Kunden mit einem bestimmten Produkt in einem bestimmten Jahr erzielt wurde.

Szene 3: Umsatzzahlen würfeln

Abbildung 3: Modifikation des Würfels zur Darstellung des Umsatzes nach Kunden über alle Produkte hinweg.

Auf Basis dieses Würfels lassen sich nun in einem nächsten Schritt in der Analyse-Sicht verschiedene Darstellungsformen entwickeln. In Diagrammen können alle Dimensionen des Würfels als Achsen verwendet werden. Die Datenhaltung in Form eines Würfels eignet sich optimal, um bestimmte Scheiben aus dem Würfel herauszuschneiden, beispielsweise um nur den Kunden A zu betrachten, oder einzelne Dimensionen auszublenden, zum Beispiel nur eine Darstellung des Umsatzes nach Kunden über alle Produkte hinweg). Im zweiten Fall wird der Würfel einfach entlang der Achse "Produkt" zusammen geschoben und alle Werte, die sich entlang dieser Achse befinden, werden aufsummiert, so dass einen zweidimensionale Fläche entsteht (Abbildung 3).

Abbildung 4: Modifikation des Würfels zur Darstellung der insgesamt mit den einzelnen Kunden erzielten Umsätze.

Auf diese Art lässt sich in einem Diagramm die Umsatzentwicklung der Kunden im Verlauf der Jahre darstellen. Wird nun auch noch der Würfel entlang der Dimension "Jahr" zusammen geschoben, lassen sich direkt die insgesamt mit den einzelnen Kunden erzielten Umsätze ablesen (Abbildung 4).

Szene 4: Umsatzverteilung würfeln?

Bei drei Kunden lässt sich die Umsatzverteilung auf diese Art noch ganz anschaulich darstellen. Es ist offensichtlich, dass Kunde B der umsatzschwächste Kunde ist, mit dem gerade mal etwa ein Fünftel des Gesamtumsatzes des Unternehmens realisiert wurde. Doch bei einer größeren Anzahl von Kunden reicht es nicht aus, für jeden Kunden die Umsatzzahl anzugeben. Vielmehr muss zu einer bestimmten Umsatzzahl die Anzahl der Kunden angegeben werden, mit denen dieser Umsatz erzielt wurde.

Abbildung 5: Zweidimensionaler Würfel zur Darstellung der Umsatzverteilung.

Mit dem oben definierten Würfel lässt sich solch eine Darstellung nicht erreichen, da die Größe "Umsatz" keine Dimension des Würfels ist. Die Dimensionen eines Würfels bilden die möglichen Betrachtungsrichtungen auf die im Würfel dargestellten Fakten. Damit können Nutzer auch nur das als Achse in solch einem Diagramm verwenden, was zuvor als Dimension in einem Würfel definiert wurde. Zur Darstellung solch eines Diagramms muss also ein neuer Würfel geschaffen werden, der als eine Dimension den Umsatz enthält. Als zweite Dimension sehen wir den Kunden vor. Jeder Punkt in dem durch diese beiden Dimensionen aufgespannten Raum steht dabei für eine bestimmte Anzahl von Kunden, mit denen ein bestimmter Umsatz erzielt wurde (Abbildung 5).

Abbildung 6: Umsatzverteilung nach Würfel aus Abbildung 5.

Schiebt man diesen zweidimensionalen Würfel nun entlang der Achse "Kunde" zusammen, ergibt sich eine Darstellung, die sich für ein Diagramm wie in Abbildung 6 verwenden lässt.Für die Lesbarkeit der Darstellung ist allerdings entscheidend, wie die horizontale Achse im Diagramm skaliert ist.

Abbildung 8: Umsatzverteilung zur Kundensegmentierung.

Für jeden Wert in der Würfel-Dimension "Umsatz" wird über der horizontalen Achse ein Balken aufgetragen. Für 1000 Kunden mit 1000 verschiedenen Umsatzzahlen würden in dem Diagramm also 1000 nebeneinander liegende Balken abgebildet - sicherlich keine sinnvolle Darstellung. Also müssen die Umsatzzahlen in Intervallen gruppiert werden, so dass zum Beispiel alle Kunden mit einem Umsatz von 0 Euro bis 50.000 Euro in einem Balken zusammengefasst werden (Abbildung 8).

Abbildung 7: Zweidimensionaler Würfel zur Darstellung der Umsatzverteilung.

Die Höhe des Balkens verdeutlicht, wie viele Kunden sich in diesem Bereich befinden. Für solch eine Darstellung muss der Würfel jedoch umgestaltet werden (Abbildung 7). In diesem Beispiel ist also ein Eingriff in die Daten-Sicht notwendig, um die Art der Darstellung in der Analyse-Sicht zu beeinflussen. Dies ist eine allgemeine Schwachstelle des Würfelansatzes. Schon in der Daten-Sicht wird festgelegt, welche Objekte später als Dimensionen in Diagrammen zur Verfügung stehen. Im angeführten Beispiel wird in der Regel erst nach Analyse der Daten klar, wie die Umsatzzahlen optimal gruppiert werden sollten.

Um die Umsatzzahlen aber überhaupt sinnvoll analysieren zu können, muss eine erste Gruppierung als Dimension eines Würfels festgelegt werden. Und wenn sich die festgelegte Gruppierung nicht als optimal erweist, müssen Anwender den Würfel erneut angepassen. Hinzu kommt, dass die die Daten nach der Anpassung in der Regel komplett neu in den Würfel eingelesen werden müssen.

Szene 5: Beziehungen knüpfen

In einem zweiten Szenario stellen Sie sich vor, Sie haben mehrere Vertriebsmitarbeiter, die jeweils eine bestimmte Anzahl von Kunden betreuen. In der Welt der Würfel würde man nun eine Hierarchie definieren, das heißt jedem Kunden würde man genau einen Vertriebsmitarbeiter zuordnen. So ließe sich mit Hilfe des oben definierten Umsatzwürfels auch der Umsatz je Vertriebsmitarbeiter analysieren.

In dynamisch wachsenden Unternehmen werden die Vertriebsgebiete von Zeit zu Zeit reorganisiert, das heißt es passiert häufiger, dass ein Kunde im Laufe seines Kundenlebenszyklus von unterschiedlichen Vertriebsmitarbeitern betreut wird. Was passiert nun aber mit den zuvor definierten Hierarchien? Eine solche Dynamik lässt sich mit einer starren Hierarchie nicht abbilden. Auch eine indirekte Ableitung der Zugehörigkeit eines Kunden zu einem Vertriebsmitarbeiter zum Zeitpunkt der Umsatzgenerierung ist im Würfelkonzept nicht vorgesehen. Also müsste man eine weitere Dimension für den Umsatzwürfel definieren, um im Würfel den Umsatz eines Kunden zu einem Zeitpunkt für einen Vertriebsmitarbeiter zu einem Produkt ablegen zu können.

Tabelle 2: Vollständiges Datenmodell im relationalen Modell.

Als Alternative zur Würfelwelt bietet sich an dieser Stelle das relationale Modell. Es orientiert sich an der Struktur relationaler Datenbanken, das bedeutet die Daten-Sicht wird durch zweidimensionale Tabellen gebildet, die über Schlüsselfelder miteinander verknüpft sind. Im einfachsten Fall besteht das Datenmodell aus einer einzigen Tabelle, so auch in diesem Szenario (Tabelle 2).

Für Analysezwecke lassen sich prinzipiell alle aus dem Umfeld von relationalen Datenbanken bekannten Abfragemechanismen verwenden. Zur besseren Veranschaulichung werden diese Abfragen hier in Form von SQL-Statements dargestellt. Im relationalen Modell wird nicht zwischen Dimensionen und Fakten unterschieden. Daher lässt sich im Prinzip jede Ergebnisspalte solch einer Abfrage gleichermaßen als Dimension als auch als darzustellender Fakt in einem Diagramm verwenden.

Soll die Umsatzentwicklung der Kunden im Zeitverlauf dargestellt werden, wird die Summe des Umsatzes selektiert, gruppiert nach den Spalten "Kunde" und "Jahr". In SQL würde man schreiben:

SELECT Kunde, Jahr, SUM(Umsatz)

FROM Kundendaten

GROUP BY (Kunde, Jahr);

Soll die Umsatzverteilung der Kunden dargestellt werden, wird nach der gerundeten Summe des Umsatzes gruppiert. In SQL:

SELECT ROUND(Umsatz, 50000), COUNT(DISTINCT Kunde)

FROM Kundendaten

GROUP BY (ROUND(Umsatz, 50000));

Der entscheidende Unterschied zum Würfelansatz liegt darin, dass diese Abfragen in der Analyse-Sicht definiert werden und nicht in der Daten-Sicht. Wenn also der Vertrieb feststellt, dass eine Umsatzaufteilung in 20.000 Euro-Schritten günstiger wäre, ist dafür keine Änderung des Datenmodells notwendig. Allein in der Abfrage muss ein Parameter angepasst werden. Da sich die Abfragen zur Laufzeit des BI-Tools verarbeiten lassen, ist es hier sogar denkbar, die Schrittweite dynamisch zum Beispiel durch ein Eingabefeld an der Oberfläche) festzulegen. Auf diese Art können die Kundendaten wirklich interaktiv analysiert werden.

Szene 6: Beziehungsnetz sichtbar machen

Im relationalen Modell gibt es keine starren Hierarchien. Sollen auch Vertriebsgebiete analysiert werden, wird in der Daten-Sicht in der dargestellten Tabelle 2 einfach eine weitere Spalte ergänzt, die den Vertriebsmitarbeiter enthält, der in dem dargestellten Jahr für den jeweiligen Kunden zuständig war. Um zu sehen, wer für Kunde A wann zuständig war, würde in SQL folgendes Statement ausreichen:

SELECT DISTINCT Jahr, Vertriebsmitarbeiter

FROM Kundendaten

WHERE Kunde = "Kunde A";

Auf diese Art lassen sich auch komplexe Beziehungsnetzwerke in der Daten-Sicht abbilden und in der Analyse-Sicht aufschlüsseln.

Damit eine interaktive Datenanalyse möglich ist, müssen die zu analysierenden Daten möglichst schnell zur Verfügung stehen. Im Bereich der relationalen Datenbanken kann eine wie oben beschriebene Abfrage gerade bei großen Datenmengen einige Zeit in Anspruch nehmen. Genau aus diesem Grund wurde das OLAP-Modell mit der Würfelwelt einst entwickelt. Alle Werte in den Cubes sind darauf vorbereitet, genau in der gedachten Weise in der Analyse-Sicht dargestellt zu werden. Gerade weil die Daten in der Daten-Sicht so gut auf die konkreten Analyse-Anforderungen abgestimmt sind, kann eine performante Datenanalyse gewährleistet werden.

Eine Möglichkeit, um das relationale Modell performant nutzen zu können, bietet die so genannte In-Memory-Technik. Dabei wird das gesamte Datenmodell zur Laufzeit in den Arbeitsspeicher geladen, wo sich auch komplexe Berechnungen in Sekundenschnelle abwickeln lassen. Hierbei ist allerdings ein gutes Komprimierungsverfahren notwendig, das die Datenmenge und damit den erforderlichen Arbeitsspeicher ohne Verlust von Funktionalität um ein erhebliches Maß reduzieren kann.

Warum aber nicht auch die Würfel vollständig in den Arbeitsspeicher laden? Tatsächlich gibt es einige BI-Systeme, die genau dies selektiv ermöglichen. Dann bringt aber die aufwändige Strukturierung der Daten in Würfelform keinen Mehrwert im Vergleich zum relationalen Modell, da der Geschwindigkeitsunterschied bei einer Berechnung im Arbeitsspeicher gering sein wird.

Fazit

Der relationale Ansatz erscheint verblüffend einfach. Zum einen liegt das sicher daran, dass das Denken in relationalen Datenbanken den meisten IT-Fachleuten deutlich leichter fällt als das Denken in mehrdimensionalen Würfeln. Zum anderen hat das Beispiel deutlich gemacht, dass der relationale Ansatz eine deutlich größere Flexibilität in der Nutzung des Datenmodells erlaubt. Hier lässt sich viel Aufwand in der Entwicklung sparen, da das relationale Datenmodell vielseitiger einsetzbar ist als ein aus Würfeln bestehendes Datenmodell.

Tabelle 3: Zusammenfassende Gegenüberstellung der Datenhaltungskonzepte.

Ein Würfel ist dagegen optimal auf ganz bestimmte Analysen abgestimmt, so dass performante Analysen ohne exzessive Nutzung des Arbeitsspeichers möglich sind. Umgekehrt werden die Möglichkeiten - und Unmöglichkeiten - der Analyse stark durch die festgelegte Struktur der Würfel beeinflusst. Daher scheint der relationale Ansatz gerade in Anbetracht sinkender Hardwarepreise deutlich besser auf die zukünftigen Anforderungen der BI-Anwender hinsichtlich Flexibilität und Leistungsfähigkeit eingestellt zu sein.