05.10.2013 Aufrufe

5 Allgemeine Datenmodelle

5 Allgemeine Datenmodelle

5 Allgemeine Datenmodelle

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

5 <strong>Allgemeine</strong> <strong>Datenmodelle</strong><br />

Ziel der Datenmodellierung ist immer, ein Abbild der Realität in einer<br />

datentechnisch darstellbaren Form zu schaffen. Die einzelnen Formen<br />

der Abbildung unterscheiden sich hinsichtlich Realitätsnähe, Einfachheit<br />

und Performance. Diese Ziele sind einander entgegengesetzt, so<br />

dass die unterschiedlichen Modelle eine unterschiedlich starke Fokussierung<br />

auf die einzelnen Zielrichtungen legen und es nicht »das beste<br />

Datenmodell« geben kann. Jedes Modell verfügt über spezifische Vorzüge,<br />

so dass der Aufbau eines Datenmodells nur in Abhängigkeit von<br />

den betrieblichen Anforderungen erfolgen kann.<br />

Nachfolgend wird zunächst auf die Grundlagen für die Entwicklung<br />

von <strong>Datenmodelle</strong>n eingegangen. Anschließend werden die gängigsten<br />

Modelle erläutert, die bei der Modellierung von Data-Warehouse-Systemen<br />

zum Einsatz kommen. Dies sind<br />

■ Transaktionale Strukturen<br />

■ Flache Strukturen<br />

■ Star-Schema<br />

■ Snowflake-Schema.<br />

5.1 Grundlagen der Datenmodellierung<br />

Das Ziel jedes Datenmodells ist die Abbildung eines bestimmten Ausschnittes<br />

der Realität. Die klare Definition dieses Ausschnittes charakterisiert<br />

jedes Data Warehouse und grenzt es von anderen Systemen<br />

wie zum Beispiel Dokumenten-Management-Systemen oder Web-Content-Systemen<br />

ab.<br />

Dabei handelt es sich um nicht volatile (nicht veränderliche)<br />

Daten, die ab dem Zeitpunkt der Übernahme ins Data Warehouse<br />

nicht (oder nur geringfügig) verändert werden und zur Analyse und<br />

47


48<br />

5 <strong>Allgemeine</strong> <strong>Datenmodelle</strong><br />

Entscheidungsfindung verwendet werden sollen, also nicht für den<br />

operativen Geschäftsbetrieb.<br />

Bestandteil der Datenmodellierung sind Fakten, die sich in Form<br />

quantifizierbarer Größen (Kennzahlen) ausdrücken lassen und in eine<br />

Beziehung zu gruppierenden Größen (Merkmale, Attribute) gestellt<br />

werden können.<br />

5.1.1 Merkmale<br />

Merkmale sind Bezugsgrößen mit betriebswirtschaftlicher Bedeutung<br />

(zum Beispiel Kunde, Produkte, Werke oder Sachkonten), nach denen<br />

eine sinnvolle Gruppierung von Kennzahlen möglich ist (Umsatz pro<br />

Kunde, Produktionskosten der Produkte A bis G, durchschnittliche<br />

Lieferzeit aller Werke und so weiter).<br />

5.1.2 Attribute<br />

Bei Attributen handelt es sich um Merkmale, die von anderen Merkmalen<br />

abhängig sind. Dies ist zum Beispiel bei der Postleitzahl (Abhängigkeit<br />

vom Kunden) oder bei Produkteigenschaften (Abhängigkeit<br />

vom Material) der Fall.<br />

Die Abhängigkeit der Attribute von Merkmalen wird immer dann<br />

gestört, wenn sie sich im Zeitverlauf ändern. Dies wäre zum Beispiel<br />

der Fall, wenn sich die Adresse eines Kunden ändert oder Produkteigenschaften<br />

verändert werden.<br />

Während OLTP-Systeme zwingend auf aktuelle Attribute angewiesen<br />

sind, stellt sich beim Data Warehousing die Situation anders dar,<br />

da auch andere Möglichkeiten sinnvoll sein können, um derartige Veränderungen<br />

von Attributen im Zeitverlauf darzustellen.<br />

Diese Historisierung von Attributen kann im Datenmodell auf drei<br />

unterschiedlichen Wegen nachvollzogen werden:<br />

■ Aktuelle Darstellung: Attribute werden immer so ausgeprägt, wie<br />

sie sich zum Zeitpunkt des Reportings darstellen. Dabei ist es<br />

unabhängig, ob Daten des aktuellen Monats oder Vorjahresdaten<br />

analysiert werden.<br />

■ Stichtagsbezogene Darstellung: Alle Attribute werden im Reporting<br />

so dargestellt, wie sie sich zu einem festgelegten Stichtag dargestellt<br />

haben. Diesen Stichtag legt der Benutzer in der Regel selbst<br />

vor der Ausführung der Analyse fest.


5.1 Grundlagen der Datenmodellierung<br />

■ Historisierte Darstellung: Attribute werden immer so dargestellt,<br />

wie sie sich zum Bezugszeitraum des Reportings dargestellt haben.<br />

So werden Daten des Vorjahres mit den Attributen dargestellt, die<br />

im Vorjahr aktuell waren, während Daten des Vormonats im gleichen<br />

Bericht mit den Attributen dargestellt werden, die im Vormonat<br />

aktuell waren.<br />

Diese drei Möglichkeiten zur Historisierung von Attributen stellen<br />

sehr unterschiedliche Anforderungen an ein Datenmodell. Je nach<br />

Datenmodell werden unterschiedliche Historisierungen von Stammdaten<br />

unterstützt.<br />

5.1.3 Kennzahlen<br />

Kennzahlen sind quantifizierende Größen, mit denen mathematische<br />

Operationen möglich sind. Kennzahlen sind nur dann sinnvoll zu<br />

benutzen, wenn ihnen entsprechende Bezugsgrößen (Merkmale) zugeordnet<br />

werden. So erfordert die Angabe eines Umsatzes zum Beispiel<br />

immer die Angabe eines Zeitraumes, eines Kunden, eines Produktes<br />

oder Ähnliches.<br />

Im Rahmen der Datenanalyse werden Kennzahlen entweder mit<br />

Hilfe arithmetischer Operationen zusammengefasst (Summierung,<br />

Durchschnittsbildung, MIN/MAX-Werte etc.) oder sie dienen zur<br />

Berechnung weiterer Kennzahlen (zum Beispiel prozentuale Veränderungen,<br />

Differenzen etc.)<br />

Bei Analysen im BW werden Kennzahlen immer in Verbindung mit<br />

Merkmalen verwendet und umgekehrt. Die Verwendung von Kennzahlen<br />

ohne Merkmale oder umgekehrt ist in der Betrachtungsweise<br />

eines Data Warehouse nicht sinnvoll.<br />

5.1.4 Status Tracking<br />

Status Tracking beschreibt die Abbildung belegnaher Informationen in<br />

einem Datenmodell, zum Beispiel die Speicherung von Auftragsdaten.<br />

Ebenso wie bei der Historisierung von Attributen erhält die Aktualisierung<br />

auftragsbezogener Daten eine besondere Bedeutung.<br />

Ändert sich im OLTP-System zum Beispiel der Auftragsstatus (dieser<br />

ist im Datenmodell abhängig von der Auftragsnummer), so muss<br />

sich auch der Auftragsstatus im Datenmodell des Data Warehouse<br />

ändern. Im Unterschied zu Kennzahlen können die Informationen<br />

jedoch nicht auf einer aggregierten Ebene abgelegt werden, sondern<br />

müssen auf derselben Detaillebene gespeichert werden wie im OLTP-<br />

System.<br />

49


50<br />

Abb. 5–1<br />

Transaktionales<br />

Datenmodell<br />

5 <strong>Allgemeine</strong> <strong>Datenmodelle</strong><br />

5.2 Transaktionale Strukturen<br />

Transaktionale Strukturen dienen dazu, Daten eines OLTP-Systems in<br />

einer relationalen Datenbank zu speichern. Diese Strukturen werden<br />

dabei vor allem für die Speicherung von Daten auf einer atomaren<br />

Ebene 1 , zur Vermeidung von Redundanzen 2 und für den schnellen<br />

Zugriff auf einzelne Transaktionsdaten benötigt.<br />

Zu diesem Zweck werden die Daten in der Regeln in der dritten<br />

Normalform abgelegt, welche diese Anforderungen erfüllt (siehe<br />

Abbildung 5–1).<br />

Frühe OLAP-Tools haben für die Analyse direkt auf die Transaktionsdaten<br />

in OLTP-Systemen zurückgegriffen. da ihnen keine andere<br />

Datenbasis zu Verfügung stand. Dies bringt jedoch zwei gravierende<br />

Nachteile mit sich: Schlechte Performance und eingeschränkte<br />

betriebswirtschaftlichen Analysemöglichkeiten.<br />

Die schlechte Performance transaktionaler Strukturen ist dadurch<br />

bedingt, dass analytische Anwendungen in der Regel keinen Nutzen<br />

aus einzelnen Transaktionen gewinnen können, sondern eine übergreifende<br />

Information zu mehreren Transaktionen benötigen.<br />

In einem transaktionalen Datenmodell würde jedoch eine Abfrage,<br />

welchen Umsatz ein Unternehmen in den letzten zwei Jahren erbracht<br />

hat, das Lesen sämtlicher Transaktionen der letzten zwei Jahre mit sich<br />

bringen, was mitunter mehrere Stunden, Tage oder gar Wochen dauern<br />

könnte – und das, obwohl diese genaue Detaillierungstiefe gar nicht<br />

benötigt wird.<br />

1. Die atomare Ebene beschreibt die Speicherung von Informationen auf dem<br />

Detaillierungsgrad einzelner Transaktionen (zum Beispiel einer Auftragsposition).<br />

2. Zum Beispiel durch einmaliges Vorhalten von Stammdaten in der aktuellsten<br />

Form.


5.3 Flache Strukturen<br />

Des Weiteren würden die OLTP-Systeme mit Analysen belastet<br />

werden, für die sie ursprünglich nicht entworfen wurden.<br />

Neben den Performance-Problemen haben transaktionale Strukturen<br />

den Nachteil, dass sie ausschließlich die aktuelle Darstellung von<br />

Attributen unterstützen.<br />

Aus diesen Gründen werden die Daten der OLTP-Systeme in<br />

modernen Data-Warehouse-Systemen nur noch genutzt, um Informationen<br />

einmalig auszulesen und in spezielle <strong>Datenmodelle</strong> zu transformieren,<br />

die eher für analytische Anwendungen geeignet sind (Flache<br />

Strukturen, Star-Schema, Snowflake-Schema).<br />

5.3 Flache Strukturen<br />

Flache Tabellenstrukturen sind die »Urform« der OLAP-spezifischen<br />

<strong>Datenmodelle</strong>. Sie stellen den ersten Anfang dar, analytische Daten<br />

von operativen (transaktionalen) Daten zu trennen und bieten damit<br />

die Möglichkeit, Daten in einer aggregierten Form zu speichern, so<br />

dass Analysen je nach Aggregationsstufe auf eine stark verkleinerten 3<br />

Datenbasis zugreifen können. Abbildung 5–2 verdeutlicht dies.<br />

Während transaktionale Strukturen normalisiert sind (zum Teil bis zur<br />

dritten Normalform), werden flache Strukturen bewusst denormalisiert,<br />

um die Datenbasis auf einer höheren Aggregationsstufe und in<br />

einer einfacheren Form abzubilden. Dies stellt aus analytischer Sicht<br />

bereits eine Verbesserung gegenüber transaktionalen Strukturen dar,<br />

jedoch werden sie aufgrund einiger Nachteile in der Regel nicht mehr<br />

als Datenbasis für OLAP-Anwendungen genutzt:<br />

3. Bitte beachten Sie immer: Die Summe aller Kennzahlen bleibt auch nach der<br />

Aggregation gleich, vermindert wird lediglich die Detaillierungstiefe!<br />

Abb. 5–2<br />

Flaches Datenmodell<br />

51


52<br />

5 <strong>Allgemeine</strong> <strong>Datenmodelle</strong><br />

■ Sämtliche Merkmale müssen als Tabellenschlüssel abgelegt werden.<br />

Mit den so entstehenden sehr langen Schlüsseln ergeben sich bei<br />

relationalen Datenbanksystemen häufig Performance-Nachteile.<br />

■ Die Anzahl der Felder in Tabellen werden durch das Datenbanksystem<br />

begrenzt, so dass unter Umständen nicht alle Anforderungen<br />

erfüllt werden können.<br />

■ Es ist ausschließlich eine historisierte Darstellung von Attributen<br />

möglich.<br />

■ Änderung des Datenmodells machen einen aufwändigen Neuaufbau<br />

der gesamten Tabelle notwendig.<br />

Flache Strukturen werden in Data-Warehouse-Systemen heute vor<br />

allem noch zum Austausch von Daten zwischen Systemen und im<br />

Bereich des Staging eingesetzt. Gerade beim Datenaustausch kommt<br />

der Vorteil der flachen Strukturen zum Tragen, dass sie nicht auf relationale<br />

Datenbanken angewiesen sind und ebensogut auch als (Text-<br />

)Dateien abgelegt werden können.<br />

Im BW werden flache Strukturen in allen Bereichen verwendet, die<br />

für einen Datenaustausch zuständig sind (Extraktion von Daten aus<br />

Quellsystemen, Staging), da diese Form des Datenaustauschs am einfachsten<br />

und performantesten zu realisieren ist. Dabei werden die<br />

Daten bei Bedarf auch aus ihren jeweiligen <strong>Datenmodelle</strong>n in flache<br />

Strukturen transformiert.<br />

5.4 Star-Schema<br />

Das Star-Schema bietet aus analytischer Sicht die selben Leistungsmerkmale<br />

wie flache Strukturen, das heißt eine historisierte Darstellung<br />

von Attributen. Allerdings hat das Star-Schema nicht die Nachteile<br />

flacher Strukturen bezüglich der Performance, da es speziell auf<br />

die Leistungsmerkmale relationaler Datenbanken abgestimmt ist und<br />

die Daten auf mehrere Tabellen aufteilt. Dabei bleibt das Datenmodell<br />

denormalisiert wie in der flachen Struktur.<br />

Das Star-Schema setzt sich aus einer zentralen Faktentabelle und<br />

mehreren damit relational verbundenen Dimensionstabellen zusammen.<br />

Die relationale Verbindung zwischen Faktentabelle und Dimensionstabellen<br />

wird mittels künstlicher Schlüssel (Surrogate Keys) abgebildet.<br />

Bei entsprechender grafischer Darstellung erinnert das Datenmodell<br />

an einen Stern, was den Namen dieses Modells erklärt (siehe<br />

Abbildung 5–3).


5.4 Star-Schema<br />

Die Faktentabelle nimmt ausschließlich Kennzahlen und die Schlüsselfelder<br />

für die Dimensionen auf. Dabei wird es möglich, Schlüssel mit<br />

möglichst wenigen und kurzen Feldern (in der Regel 4 Byte) einzusetzen,<br />

was eine bessere Performance für die Datenbank ermöglicht.<br />

Zugriffe auf die Faktentabelle erfolgen normalerweise immer in<br />

Verbindung mit einer oder mehreren Dimensionstabellen, deren<br />

Schlüsselfelder den Zugriffsschlüssel für die Faktentabelle bilden.<br />

Die Dimensionstabellen bilden die Enden des »Sterns«. In ihnen<br />

werden Merkmale und Attribute zu den jeweiligen Datensätzen der<br />

Faktentabelle gespeichert. Auch Textinformationen (»Müller« für<br />

Kunde 4711) wird bei einem reinen Star-Schema in den Dimensionen<br />

gespeichert.<br />

Die Verknüpfung der Dimensionstabellen mit der Faktentabelle<br />

wird über eindeutige, künstliche Schlüssel (siehe unten) realisiert. Jeder<br />

dieser Schlüssel kennzeichnet eine Zeile in der Dimensionstabelle und<br />

eine oder mehrere Zeilen in der Faktentabelle. Der Schlüssel aller<br />

Dimensionstabellen zusammen identifiziert jeweils eine Zeile in der<br />

Faktentabelle.<br />

Dimensionstabellen sind denormalisiert (wie flache Strukturen)<br />

und häufig nach thematischen Geschichtspunkten gebildet. So werden<br />

Produktattribute in der Regeln in einer Produktdimension gespeichert,<br />

Kundenattribute in einer Kundendimension und so weiter.<br />

Die Verbindung der Dimensionstabellen mit der Faktentabelle<br />

wird über eindeutige Schlüssel realisiert. Dabei wird als Schlüssel nicht<br />

der Merkmalswert einer Dimension, sondern ein künstlicher Schlüssel<br />

gewählt.<br />

Abb. 5–3<br />

Star-Schema<br />

Faktentabelle<br />

Dimensionstabellen<br />

Künstliche Schlüssel<br />

53


54<br />

Abb. 5–4<br />

Snowflake-Schema<br />

5 <strong>Allgemeine</strong> <strong>Datenmodelle</strong><br />

Dies vereinfacht die Modellierung in der Form, dass Merkmale<br />

und Attribute frei in den Dimensionen verteilt werden können und<br />

auch n:m-Relationen innerhalb einer Dimension möglich sind. Dies ist<br />

die Grundvoraussetzung für die historisierte Darstellung von Attributen.<br />

Solche Dimensionen werden auch als Slowly Changing Dimensions<br />

bezeichnet; hier werden unterschiedliche Kombinationen von<br />

Merkmalen/Attributen in einer Dimension abgelegt.<br />

5.5 Snowflake-Schema<br />

Das Snowflake-Schema ist eine Erweiterung des Star-Schemas. Es<br />

erweitert das Star-Schema um Stammdatentabellen, die es ermöglichen,<br />

Attribute nicht nur historisiert, sondern auch aktuell darzustellen.<br />

Dabei wird das Grundmodell des Star-Schemas beibehalten. Hinzu<br />

kommt jedoch die Option, Attribute nicht in Dimensionen, sondern in<br />

Stammdatentabellen abzulegen, die relational mit Merkmalen in den<br />

Dimensionen verbunden sind.<br />

In Abbildung ist dies am Beispiel der Postleitzahl dargestellt. Diese<br />

kann entweder in der Kundendimension (historische Darstellung)<br />

oder in den Kundenstammdaten (aktuelle Darstellung) aufgenommen<br />

werden.<br />

Ebenso ist es möglich, die Postleitzahl in beiden Tabellen aufzunehmen,<br />

so dass der Anwender bei der Datenanalyse zwischen beiden<br />

Alternativen wählen kann. Dadurch wird das Snowflake-Schema<br />

jedoch wesentlich komplexer. Die Administration ist aufwändiger und<br />

für das Datenbankmanagementsystem ist es schwieriger, das Modell<br />

performant zu lesen


.<br />

5.6 Zusammenfassung<br />

Für Anwender ist die wahlweise historische oder aktuelle Darstellung von<br />

Attributen teilweise verwirrend. Setzen Sie daher die Möglichkeiten des<br />

Snowflake-Schemas sehr bewusst ein, um spätere Verwirrung oder gar die<br />

Ablehnung des Systems zu vermeiden.<br />

5.6 Zusammenfassung<br />

Die folgende Übersicht fasst noch einmal die wichtigsten Eigenschaften<br />

der beschriebenen <strong>Datenmodelle</strong> zusammen.<br />

Modell Transaktional Flach Star Snowflake<br />

Performance schlecht gut sehr gut sehr gut<br />

Komplexität hoch gering mittel hoch<br />

Historisiert – ✓ ✓ ✓<br />

Aktuell ✓ – – ✓<br />

Stichtag – – – –<br />

In der Praxis werden die vorgestellten <strong>Datenmodelle</strong> mit zahlreichen<br />

Abwandlungen und Erweiterungen eingesetzt. Auch das BW verwendet<br />

<strong>Datenmodelle</strong>, die speziellen Anforderungen angepasst wurden.<br />

55<br />

Tab. 5–1<br />

Überblick über allgemeine<br />

<strong>Datenmodelle</strong>

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!