Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf...

21

Transcript of Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf...

Page 1: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten

Universität Karlsruhe (TH)Fakultät für Informatik

Institut für Programmstrukturen undDatenorganisation (IPD)

Hauptseminar

Imperfektion und erweiterte Konzepte im DataWarehousing

Fortgeschrittene OLAP Analysemodelle

Seminararbeit

von

Jens Kübler

Sommersemester 2005

Page 2: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten
Page 3: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten

Inhaltsverzeichnis

Abbildungsverzeichnis iii

7 Fortgeschrittene OLAP-Analysemodelle 1

7.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.2 Datenmodelle und Modellierung von Systemen . . . . . . . . . . 2

7.2.1 Systemmodelle . . . . . . . . . . . . . . . . . . . . . . . . 27.2.2 Datenmodelle . . . . . . . . . . . . . . . . . . . . . . . . . 3

7.3 Klassi�kation nach Codd . . . . . . . . . . . . . . . . . . . . . . 37.3.1 Kategorisches Modell . . . . . . . . . . . . . . . . . . . . 47.3.2 Exegatives Modell . . . . . . . . . . . . . . . . . . . . . . 47.3.3 Kontemplatives Modell . . . . . . . . . . . . . . . . . . . 57.3.4 Formalisiertes Modell . . . . . . . . . . . . . . . . . . . . 7

7.4 Datenmodelle in der Implementierung . . . . . . . . . . . . . . . 97.4.1 Vorbemerkungen . . . . . . . . . . . . . . . . . . . . . . . 97.4.2 Kategorisches Modell und OLTP-Datenmodelle . . . . . . 97.4.3 Exegatives Modell und Data Warehouses . . . . . . . . . 107.4.4 Kontemplatives Modell für fortgeschrittene Analysefunk-

tionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107.4.5 Formalisiertes Modell für abstrakte Analysen . . . . . . . 11

7.5 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Literaturverzeichnis 15

i

Page 4: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten
Page 5: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten

Abbildungsverzeichnis

7.1 Kategorisches Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47.2 Exegatives Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57.3 Kontemplatives Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . 67.4 Formalisiertes Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

iii

Page 6: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten
Page 7: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten

Jens Kübler

7Fortgeschrittene

OLAP-Analysemodelle

In dieser Seminararbeit werden die von Codd spezi�zierten OLAP Datenmo-dellklassen für unterschiedliche Analysebedürfnisse vorgestellt und mit formalenGrundlagen in Verbindung gebracht. Hierzu werden Systeme und deren Modellie-rung herangezogen, um abzugrenzen, welches Informationsbedürfnis der Analystbefriedigen will. Basierend auf diesen De�nitionen wird eine marktübliche Daten-bank analysiert und die vorhandenen Operationen den einzelnen Klassen zugeord-net. Abschlieÿend wird eine Bewertung der Operationen vorgenommen, inwieferndiese die vorangegangenen De�nitionen erfüllen.

7.1 Einleitung

Nachdem in den vergangenen Dekaden die performante Speicherung und Abfragevon Daten in der Forschung groÿe Beachtung fand, entstand darauf aufbauendder Bedarf, die kumulierten Daten nicht nur für den aktuellen Betrieb zu ver-wenden, sondern die Datenbestände temporär zu analysieren. Die Begri�e �OnlineTransactional Processing� (OLTP) und �Online Analytical Processing� (OLAP)identi�zieren diese Themenbereiche, deren Datentypen, Algebren und respektiveAnfragesprachen durch so genannte Datenmodelle repräsentiert werden.So hat sich für OLTP überwiegend ein relationales also tabellenbasiertes Mo-

dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein sogenannter Data Cube durchgesetzt hat, der Daten in beliebig vielen endlichen �Di-mensionen� speichert.Aufgrund des inhärenten Datenumfangs der Data Cubes, ist der Bedarf entstan-

den, nicht nur Einblick in diese Cubes zu gewinnen, sondern automatisch Informa-

1

Page 8: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten

7 Fortgeschrittene OLAP-Analysemodelle

tionen aus dem Datenbestand zu extrahieren und für den Benutzer aufzubereiten.Dieser Vorgang wird als �Data Mining� bezeichnet, der Ähnlichkeiten mit dem For-schungsgebiet des maschinellen Lernens aufweist, jedoch eine andere Zielsetzunghat. Aufgrund der automatischen Synthetisierung von Daten zu Informationenlässt sich �Data Mining� klar zu OLAP abgrenzen, da bei OLAP bereits Basisin-formationen vorhanden sind, die der Analytiker konkretisieren will, während bei�Data Mining� keine Informationen, sondern lediglich Daten als Basis vorliegen.Nachfolgend wird darauf eingegangen, welche Basisinformationen dem Analytikerbereits vorliegen und welche Informationen er zu extrahieren wünscht.Die folgende Ausarbeitung beschäftigt sich in Kapitel 7.2 mit der formalen Mo-

dellierung von Systemen, die hilft, die in Kapitel 7.3 vorgestellten Analysemodelle,zu di�erenzieren. Weiterhin werden in diesem Kapitel Datenmodelle kurz einge-führt und deren Komponenten erläutert. Kapitel 7.3 stellt die Codd'schen Da-tenmodellklassen vor und erläutert die unterschiedlichen Anforderungen bezüglichmöglicher Analysen. In Kapitel 7.4 wird ein aktuelles Datenbanksystem hinsicht-lich der vorgestellten Datenmodellklassen analysiert. Abschlieÿend wird in Kapitel7.5 eine Bewertung der vorgestellten Implementierung bezüglich der De�nitioneneingegangen.

7.2 Datenmodelle und Modellierung von Systemen

Die nach [CCS] spezi�zierten Datenmodellklassen haben keine formale Grundlage,weshalb im folgenden erst auf Systeme und dann auf Datenmodelle eingegangenwird. Die folgende De�nitionen bezüglich Systemen sind aus [Han05] entnommen.

7.2.1 Systemmodelle

Ein System besteht aus einer Eingabe, einem Modell und einer Ausgabe. Die Ein-gabe uk ist im Allgemeinen mehrdimensional, wobei k der Zeitpunkt der Eingabeist und im Kontext von Datenbanken diskret ist. Das Modell besteht aus der Sys-temgleichung,

xk = ak(xk−1, uk, ωk) (7.1)

die den aktuellen Zustand des Systems aus den vorangegangenen Zustand xk−1,den aktuellen Eingaben uk und den Systemstörungen ωk berechnet. Ist der Zu-stand eines Systems von auÿen nicht zugänglich, wird eine Messung einer Gröÿedurchgeführt, die im Allgemeinen nichtlinear von dem Systemzustand abhängt. DieMessung ist durch

yk = hk(xk, vk) (7.2)

gegeben, wobei yk das Ergebnis der Messung, xk den aktuellen Systemzustand undvk die Messstörung beschreibt . Ein Schätzer erhält als Eingaben uk und yk undrekonstruiert aus diesen den geschätzten Systemzustand xk, wobei die Schätzungsich allgemein nicht auf zukünftige Zustände xk+t, t > 0 beschränkt, sondern auchvergangene Zustände xk−t, t > 0 als Schätzergebnis haben kann.

2

Page 9: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten

7.3 Klassi�kation nach Codd

Von dieser allgemeinen De�nition lassen sich einige Spezialfälle ableiten. Diefunktionale Abhängigkeit kann generell in lineare und nicht-lineare Abhängigkei-ten unterteilt werden, von denen ein groÿer Teil in Tabelle 7.1 zu �nden ist. Desweiteren kann die Systemgleichung unabhängig von dem letzten Systemzustandsein wie auch Beispiel 7.3.3 illustriert.

ak(xk−1, uk, ωk) = ak(uk, ωk). (7.3)

Dies ist als statisches System de�niert im Gegensatz zu dynamischen Systemen, beidenen der aktuelle Systemzustand xk von vergangenen Zuständen xk−t, t > 0 ab-hängt. Weitere mögliche Spezialfälle sind beispielsweise das Fehlen von Störungen,die ebenfalls in Beispiel 7.3.3 dargestellt wird.

7.2.2 Datenmodelle

Datenmodelle bestehen aus Datentypen und Operationen. Die Operationen wer-den über die Datentypen ausgeführt. Datentypen re�ektieren die mathematischeStruktur eines Datums. Datenoperationen lassen sich zum einen nach ihrem Ver-wendungszweck in Datende�nitionssprache (DDL: CREATE), Datenanfragespra-che (DQL: SELECT), Datenmodi�kationssprache (DML: INSERT, UPDATE, DE-LETE) und Datenkontrollsprache (DCL: COMMIT, ROLLBACK, SAVEPOINT)und zum anderen mathematisch in arithmetische, ordnende, mengenbezogene, lo-gische und vergleichende Operationen einteilen. Durch die De�nition der einzelnenDatensprachen ergibt sich die logische Struktur der Speicherung und des Zugri�sauf das Datenmodell. Bekannte logische Datenmodelle sind beispielsweise das rela-tionale Datenmodell oder das objektorientierte Datenmodell. Die darunter liegendephysikalische Speicherung der logischen Datenstruktur ist im Rahmen dieser Arbeitnicht von Bedeutung.

7.3 Klassi�kation nach Codd

Nach [CCS] wird nach der Synthese von Daten zur Information, die Informationwiederum analysiert. Es existiert eine statische und eine dynamische Analyse, wo-bei statische Analysen auf historischen Daten beruhen, die keiner Veränderungbedürfen, während dynamische Analysen Veränderungen und Modellierungen er-möglichen. Grundlage für Analysen in Datenbanken sind nach [CCS] Datenmodelle,die sich in vier unterschiedliche Kategorien einteilen lassen. Diese Modelle werdennachfolgend eingehend erläutert und der Bezug zu Systemen wird hergestellt. Wei-terhin wird zur Verdeutlichung der Modellklassen eine Zinsrechnung als Beispielangeführt. Bei den folgenden Diagrammen wird darauf hingewiesen, dass dieseim Kontext von Datenbanken zu sehen sind, das heiÿt, dass die Eingaben sowiedie Ausgaben, soweit in der jeweiligen Klasse vorhanden, üblicherweise aus einerDatenbank entstammen oder dort gespeichert werden.

3

Page 10: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten

7 Fortgeschrittene OLAP-Analysemodelle

7.3.1 Kategorisches Modell

Das kategorische Modell dient der Extraktion eines Datums aus der Datenbank zueinem bestimmten Zeitpunkt k. Bezogen auf Systemmodelle besteht also das In-formationsbedürfnis in Ausgaben yk oder Eingaben uk mit unterschiedlichem aberfestem Zeitschritt k und festen Ein- und Ausgaben. Die Ergebnisse der Anfragelassen sich aufgrund ihrer einfachen Dimensionalität als Tabellen darstellen wie dieAbbildung 7.1 verdeutlicht.

Abbildung 7.1: Kategorisches ModellAnfragen, bei denen einzelnen Eingaben einzelne Ausgaben zugeordnet sind. Für

jedes Tupel der Eingabe, erhält der Analyst ein Tupel der Ausgabe, ohneMöglichkeit das Systemverhalten aus der Datenbank zu extrahieren.

Beispiel 7.3.1 Gegeben seien als Eingaben uk ein Zinssatz uk1 und ein Startkapi-tal uk2 sowie der resultierende Endbetrag dieser Zinsrechnung als Ausgabe yk. DerAnalytiker ist in diesem Datenmodell nur an den beiden Systemkomponenten Ein-gaben und Ausgaben interessiert. Eine De�nition des zugrunde liegenden System-modells ist im Beispiel 7.3.3 zu �nden. Die Abfragen gestalten sich in der Form,das der Analyst einzelne uk und yk aus der Datenbasis extrahiert, was sich im re-lationalen Modell üblicherweise durch Selektion einzelner Attributwerte realisierenlässt.

7.3.2 Exegatives Modell

Das exegative Modell erweitert das kategorische Modell um Detaillierungsgrade,wie in Abbildung 7.2 dargestellt. Diese umfassen einerseits die zeitliche Au�ösung,sowie andererseits die Datengranularität. Der Analytiker erhält durch das Daten-modell die Möglichkeit, die Dimensionalität der Eingaben uk sowie der Ausgabenyk zu erhöhen oder zu reduzieren und dadurch Einsicht in Vorgänge zu erlangen.Auÿerdem können die zeitlichen Einteilungsschritte k aufgespalten oder zusammen-gefasst werden, so dass zeitliche Abläufe und Abhängigkeiten in einem höherenMaÿe nachvollzogen werden können. Dies ist in der Literatur[HK01] unter demBegri� der Hierarchieebenen bekannt. Operationen, die multidimensionale Sich-ten aufgrund von einem inhärenten Datenbankschemata dynamisch erzeugen und

4

Page 11: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten

7.3 Klassi�kation nach Codd

Hierarchieebenenwechsel durchführen, sind Bestandteil dieses Datenmodells underlauben dem Analytiker neue Datenassoziationen zu knüpfen und zu untersuchen.Diese Operationen grenzen das exegative Modell von dem kategorischen Modell ab.Die Anfragen zielen dementsprechend auf multidimensionale Mengen von Ein- undAusgaben, anstatt auf einzelne Werte im Datenbestand, wie dies im kategorischenModell der Fall ist. Die dem System zugrunde liegende Gleichung ak ist in diesemDatenmodell wie auch im kategorischen Modell nicht Ziel der Anfrage.

Abbildung 7.2: Exegatives ModellMultidimensionale Abfrage von Ein- und Ausgaben, die auch hier nichtdargestellte Zerlegungsoperationen und Aggregationen beinhaltet.

Beispiel 7.3.2 Das Beispiel 7.3.1 lässt sich durch marginale Änderungen an dieexegativen Anforderungen anpassen. Die Einführung einer Hierarchieebene für dieZeit in Form von Tag, Monat und Jahr ermöglicht es dem Analysten zusammenmit den entsprechenden Hierarchie-Operatoren die Zeitschritte für die Eingaben uk

und die Ausgaben yk di�erenziert oder aggregiert darzustellen und so beispielsweiseEinsicht in Zinsveränderungen und resultierende Ergebnisänderungen zu erlangen.Existieren im Datenbestand mehrere Banken mit unterschiedlichen Zinssätzen, solässt sich eine neue Dimension Banken einführen und deren unterschiedliche Zins-entwicklung nachvollziehen. Diese Daten sind im kategorischen Modell nicht gleich-zeitig visualisierbar, können im exegativen Modell jedoch dynamisch erzeugt und beiBedarf auch materialisiert werden.

7.3.3 Kontemplatives Modell

Das kontemplative Modell besteht aus zwei Kernkomponenten. Dem Analytikerwird die Möglichkeit gegeben ein System durch Systemgleichungen zu beschreibenund Modi�kationen am Eingabevektor vorzunehmen.

Eingabevektor

Dem Eingabevektor können im kontemplativen Modell Varianzen hinzugefügt wer-den. Für numerische Werte lassen sich beispielsweise Standardabweichungen undSchwerpunkte de�nieren, für kategorische Werte kann dies durch Unscharfe Men-gen realisiert werden.

5

Page 12: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten

7 Fortgeschrittene OLAP-Analysemodelle

Systemgleichung

Die Systemfunktion ak(xk−1, uk, ωk) unterliegt allgemein zeitlichen Änderungen(k) und erzeugt daher zeitlich unterschiedliche Systemverhalten. Weiterhin kannder Analyst Störungen ωk in der Systemfunktion spezi�zieren, die beschriebendurch k ebenfalls zeitlichen Änderungen unterliegen. Die Möglichkeit zur Angabemultipler Systemfunktionen ak zur Evaluation unterschiedlicher Modelle ist demAnalysten in diesem Datenmodell zusätzlich gegeben (s. Abbildung 7.3). Der Zu-stand xk, den die Systemfunktion ak berechnet, ist im Allgemeinen mehrdimensio-nal und beschreibt durch einen Vektor von Zuständen den Systemzustand [Han05].

Ausgaben

Die Ausgaben können Varianzen aufweisen, die durch die Systemgleichungen, denEingabevektor oder einer Kombination aus beiden Gröÿen rühren. Im Zentrum derAnalyse stehen somit die Ausgaben, die das gegebene Modell bei gegebenen Ein-gaben erzeugt. Dieses Datenmodell eignet sich daher insbesondere zur De�nitionund Anfrage an Schätzer, die zukünftige Zeitschritte k prädizieren.

Abbildung 7.3: Kontemplatives ModellMehrere Modelle werden mit unterschiedlichen Eingaben evaluiert. Die

resultierenden Ergebnisse stehen dem Analysten zur Verfügung.

Beispiel 7.3.3 Das den Beispielen 7.3.1 und 7.3.2 zugrunde liegende Systemmo-dell ist für feste k durch folgende Systemfunktion (siehe Gleichung 7.1) gegeben.

ak(xk−1, uk, ωk) = u1k ∗ u2k + u1k (7.4)

6

Page 13: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten

7.3 Klassi�kation nach Codd

Das Startkapital wird mit dem Zinssatz multipliziert, das Startkapital nochmals ad-diert und der Endbetrag als neuer Systemzustand xk gesetzt. Da in diesem Beispielunterstellt wird, dass das Zinsergebnis nicht von vorangegangen Zinsrechnungen, re-präsentiert durch xk−1, abhängt, kommt dieser Term nicht auf der rechten Seite derGleichung vor, da dieser 0 ist. Da weiterhin das System als ungestört angenommenwerden kann, sind die Systemstörungen ωk = 0, wie auch die Messungsstörungenvk = 0 sind, was in der folgenden Messfunktion (siehe Gleichung 7.1) resultiert.

hk(xk, vk) = xk (7.5)

Dadurch entspricht die Ausgabe yk dem Systemzustand xk.

7.3.4 Formalisiertes Modell

Das formalisierte Modell dient der Suche nach möglichen Systemverhalten oderEingaben. Die Spezi�kation nach [CCS] liefert keine exakte Beschreibung dieserModellklasse. Die Namensgebung legt nahe, dass das Systemmodell ak formal be-schrieben wird und eine mögliche Implementierung gesucht wird. Die De�nitionnach [CCS] beschreibt eine Ausgabe y und einen Startpunkt, wodurch der Ana-lytiker Einsicht in Eingaben u und Verhaltensweisen a des Modells gewinnen soll,jedoch ist der Startpunkt nicht näher de�niert. Da sowohl die Eingaben als auch dasModellverhalten gesucht werden, ist nicht exakt zu schlieÿen, ob der Startpunkt eininitialer Eingabevektor oder ein initiales Systemverhalten darstellt. UnvollständigeEingabevektoren oder Systemgleichungen könnten übergeben werden und würdeneine Suche nach möglichen Ergänzungen zur Folge haben, um die spezi�zierte Aus-gabe zu erreichen.Ohne dass diese explizit in [CCS] genannt werden, erfüllen Regressionsanalysen

[reg] diese Forderungen. Das Ziel von Regressionsanalysen ist es, eine Approximati-onsfunktion ak einer Funktion ak zu �nden, die optimal bezüglich eines Gütemaÿesist, wobei häu�g die Methode der kleinsten Quadrate als Gütemaÿ verwendet wird[reg].

ak = ak + R (7.6)

Die Parameter, die die funktionalen Abhängigkeiten zwischen den Ausgaben yk

und den Eingaben uk konditionieren und als Ergebnis der Regressionsanalyse zurVerfügung stehen, können als die fehlende Eingaben interpretiert werden, nachdenen der Analytiker unter anderem sucht. Da die funktionalen Abhängigkeitender Eingaben und Ausgaben beispielsweise linear, exponentiell, polynominiell oderlogarithmisch sein können, gilt es auch unter der Klasse der möglichen Abhängigkei-ten eine optimale Approximation zu �nden, was wiederum durch die Minimierungdes Fehlers zu erreichen ist (s. Abbildung 7.4).

Beispiel 7.3.4 Bei der Zinsrechnung aus den Beispielen 7.3.1 und 7.3.2 reduzie-ren wir den Eingabevektor um den Zinssatz, so dass lediglich unser Startkapitaluk1 und unser Endbetrag yk zur Verfügung stehen. Gegeben seien nun zwei Mengen

7

Page 14: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten

7 Fortgeschrittene OLAP-Analysemodelle

Abbildung 7.4: Formalisiertes ModellVorhandene Ein- und Ausgaben werden verwendet, mehrere Modelle zu

evaluieren aus denen ein optimales Modell bezüglich eines Gütemaÿes hervorgeht.Ein- und Ausgaben sind beliebig dimensioniert.

von uk1 und yk, die gleich mächtig sind und zwischen denen bei unserem Zinsmo-dell o�ensichtlich nur eine Abhängigkeit zwischen gleichen Zeitschritten k besteht.Wenden wir auf dieses Modell die Regressionsanalyse an, sollte sich im Fall vongleichbleibenden Zinssätzen eine lineare Approximation der Form

yk = a · uk1 + b (7.7)

als optimal erweisen, wobei a der fehlende Zinssatz ist und b = 0. . Die Approxima-tion würde sich in diesem Fall auch als tatsächliche Systemfunktion herausstellen,was einem Fehler in Gleichung 7.6 von R = 0 entspricht.

Das vorangegangene Beispiel o�enbart, das aufbauend auf dem gewonnenen Sys-temverhalten ein Schätzer beschrieben durch die Parameter a und b konstruiertwerden kann, der wiederum im Kontext des kontemplativen Modells zur Anwen-dung kommt und Ausgaben yk berechnet.

8

Page 15: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten

7.4 Datenmodelle in der Implementierung

7.4 Datenmodelle in der Implementierung

7.4.1 Vorbemerkungen

Von Codd'schen Modellklassen zur Implementierung

Die Codd'schen Modellklassen sind in der Implementierung nicht exakt voneinan-der zu trennen, da aus Benutzersicht eine Konvergenz oder sogar eine Inklusionder Modellklassen zwecks Bedienungskomfort wünschenswert ist. Das Erlernen un-terschiedlicher Datentypen mit zugehörigen Anfragesprachen ist für den Benutzerzu aufwändig, wie auch die Kosten für die Entwicklung klassenkonformer Daten-modelle in keinem Verhältnis stehen.

Implementierungsbeispiel Oracle

Neben Microsoft SQL Server, IBM DB2 oder Informix und Sybase ist Oracle ei-nes der groÿen Enterprise Datenbank Management Systeme (DMBS), das wie dieanderen DBMS mit einem reichhaltigen Angebot an Funktionen aufwartet. AlleDatenbanksysteme hier bezüglich der implementierten Operationen vorzustellenübersteigt den Rahmen dieser Ausarbeitung, weshalb lediglich Oracle als Beispie-limplementierung nicht zuletzt wegen der umfangreichen einfach zugänglichen Do-kumentation näher betrachtet wird. Aufgrund der groÿen Verbreitung des relatio-nalen Modells und produktabhängigen Erweiterungen werden andere Datenmodel-le, wie zum Beispiel das objektorientierte, hier nicht nähergehend bezüglich derenAnalyseoperationen betrachtet.Neben der Datenbank bietet Oracle ein zusätzliches OLAP-Modul, welches auf

der bestehenden Datenbankengine aufsetzt, jedoch zusätzlich ein eigenes Daten-modell implementiert, welches den speziellen Anforderungen für Analysen gerechtwird. Für die nachfolgenden Abgrenzungen werden soweit nötig nur die Funktionender Kern-Datenbankengine nähergehend erläutert, da diese in den Hauptfunktio-nen quantitativ denen des OLAP-Moduls entsprechen und sich die Komplexitätder Parameter und Optionen nicht so hoch darstellt, wie das im OLAP-Modulder Fall ist. Lediglich im formalisierten Modell werden Funktionalitäten aus demOLAP-Modul vorgestellt, die in der Kerndatenbank nicht zur Verfügung stehen.Für eine detaillierte Beschreibung des OLAP-Moduls konsultiere man die verschie-denen Oracle OLAP Referenzbücher [Orad].

7.4.2 Kategorisches Modell und OLTP-Datenmodelle

Aufgrund der niedrigen Anforderungen an die Analyse ist dieses Datenmodell inhä-rent durch bestehende OLTP-Systeme gegeben. ORACLE bietet gängige SQL99 -Datentypen wie zum Beispiel INT, DOUBLE und CHAR an und erweitert diese umeinige Spezialdatentypen, wie XMLType, die für Spezialeinsatzgebiete des Transak-tionsmodells interessant sind. Die Datenstrukturen sind auf logischer Ebene durchTabellen repräsentiert auf denen die DML-Operationen ausgeführt werden. Die zen-

9

Page 16: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten

7 Fortgeschrittene OLAP-Analysemodelle

tralen Modi�kationsoperatoren sind INSERT, UPDATE, SELECT und DELETE, die zu-sammen mit Funktionen und Ausdrücken neben Transaktionsfunktionalitäten auchkategorischen Analyseansprüchen genügen. Im Kontext dieser Modellklasse bietetORACLE Funktionen für Ränge und Perzentile, gleitende Berechnungsfenster so-wie Führungs- und Rückstandsanalysen, die ergänzend zu den in SQL üblichenanalytischen Funktionen, wie zum Beispiel Aggregationen (SUM,COUNT,STDDEV), zurVerfügung stehen. Da die detaillierte Erläuterung dieser Funktionen den Rahmendieser Ausarbeitung übersteigt, wird hier nur auf die entsprechende Oracle Doku-mentation [Oraa] verwiesen.

7.4.3 Exegatives Modell und Data Warehouses

Die Implementierung des exegativen Modells ist durch Data Warehouses als zugrun-de liegendes Datenmodell realisiert. ORACLE setzt hier aufgrund des bestehendenDatenbanksystem auf ROLAP [HK01], welches die multidimensionale Speicherungmit Hilfe von Tabellen durchführt. Star- und Snow�ake-Schemata ermöglichen demAnalytiker mit den gleichen DML-Operatoren wie im kategorischen Modell, multi-dimensionale Datenbestände zu erforschen. Die Funktionen ROLLUP und CUBE erlau-ben dem Analytiker entsprechend über Hierarchieebenen oder über DimensionenAggregationen durchzuführen. Die Sicht auf den multidimensionalen Datenbestandkann dynamisch erzeugt oder materialisiert werden, wofür die Operation CREATE

MATERIALIZED VIEW zur Verfügung steht [Orab].

7.4.4 Kontemplatives Modell für fortgeschrittene Analysefunktionen

Eingaben und Ausgaben

Da im relationalen Modell die Eingaben sowie die Ausgaben in Relationen abgelegtsind, lassen sich diese wie bei den anderen Modellklassen über gewöhnliche SQL-SELECT -Ausdrücke anfragen. Ist der Wertebereich eines Attributs kontinuierlich,so lassen sich mit der WHERE-Klausel und entsprechenden Konjunktionen vonGröÿenvergleichen für Ausgaben Bereichsanfragen stellen. Eine weitere Möglich-keit besteht beispielsweise mit Subqueries Standardabweichungen in der Domänedes Attributs zu berechnen und das Ergebnis als Bedingung der WHERE-Klauselzu übergeben. Die Eingaben können im kontinuierlichen Fall durch berechneteAttributwerte in der Selektion mit Varianzen versehen werden. Diese Funktiona-litäten sind in jeder gröÿeren SQL-Datenbank vorhanden, jedoch mangelt es derORACLE -Datenbankengine an Anfragemöglichkeiten für unscharfe kategorischeAttribute. Diese Funktionalität wurde für ältere ORACLE -Versionen durch [Gal]bereitgestellt, was jedoch keine o�zielle Erweiterung der Datenbank darstellt. NachAngaben des Autors besteht auch die Möglichkeit, die Unschärfe in den einzelnenTabellen zu hinterlegen.

10

Page 17: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten

7.4 Datenmodelle in der Implementierung

Systemmodelle

ORACLE realisiert Systemmodelle neben einer umfassenderen Erweiterung imOLAP-Modul über den SQL-Befehl MODEL, der auf multidimensionalen Daten ope-riert und einer SELECT-FROM-WHERE-Klausel folgt. Auf den ausgewählten Datenkönnen beliebig viele so genannte Regeln angewendet werden, die durch Gleichun-gen angegeben werden. Dabei können neben den umfangreichen Rechenoperationenauf den selektierten Daten auch Aggregationen ausgeführt werden. Die Erzeugungneuer Werte erfolgt wie bei vielen Programmiersprachen durch Zuweisung an eineentsprechend benannte Variable auf der linken Seite der Gleichung. Weiterhin be-steht die Möglichkeit mittels den Zusätzen UPSERT und UPDATE die Erzeugung vonWerten entsprechend zu erzwingen oder nur zu aktualisieren, wenn diese tatsäch-lich vorhanden sind.

Beispiel 7.4.1 SELECT SUBSTR(country, 1, 20) country,

SUBSTR(product, 1, 15) product, year, sales

FROM sales_view

WHERE country IN ('Italy', 'Japan')

MODEL

PARTITION BY (country) DIMENSION BY (product, year)

MEASURES (sales sales)

RULES

(sales['Bounce', 2002] = sales['Bounce', 2001]

+ sales['Bounce', 2000],

sales['Y Box', 2002] = sales['Y Box', 2001],

sales['All_Products', 2002] = sales['Bounce', 2002]

+ sales['Y Box', 2002])

ORDER BY country, product, year;

Das aus [Orac] entnommene Beispiel illustriert die Verwendung der SQL-MODEL-Klausel und berechnet aus den Jahren 2000 und 2001 unterschiedlicheneue Werte für das Jahr 2002 durch einfache Zuweisung.

7.4.5 Formalisiertes Modell für abstrakte Analysen

Das formalisierte Modell ist in der Kerndatenbank von ORACLE nur in Formeiner linearen Regression implementiert. Erweiterte Funktionalitäten wie das auto-matisierte Suchen von vorliegenden Systemverhalten ak sind jedoch im zusätzlichverfügbarem OLAP-Modul, welches eine Ergänzung der bestehenden Datenbankdarstellt, in Form von Vorhersagen vorhanden. Die Basis von Vorhersagen sindZeitreihenanalysen, denen multidimensionale Regressionsanalysen zugrunde liegen.ORACLE OLAP unterstützt folgende Regressionsmethoden im Zusammenhangmit Vorhersagen [Orae]:

Es besteht weiterhin die Möglichkeit, die Anwendung automatisch das besteRegressionsmodell �nden zu lassen.

11

Page 18: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten

7 Fortgeschrittene OLAP-Analysemodelle

Regressionsmethode mathematische Beschreibunglinear y = a · x + b

polynominiell y = c · xa

exponentiell y = c · eax

logarithmisch y = a · log(x) + b

asymptotisch y = xa+bx

exponentiell asymptotisch y = cKeax

(1+ceax)

einfache exponentielle Glättungdoppelte exponentielle Glättung

Holt / Winters Methode

Tabelle 7.1: Verfügbare Regressionsmethoden in Oracle

Dem Vorhersagemodell von ORACLE können Periodengröÿen übergeben wer-den, die im Fall der Periodengröÿe p = 1 der einfachen Regressionsanalyse ent-spricht und in den Fällen von p > 1 eine multidimensionalen Regressionsanalyseüber der Zeit ist. Durch die Angabe der Anzahl zurückliegender Perioden werdendie Eingaben und Ausgaben der Zeitschritte k de�niert, aufgrund derer das System-modell approximiert wird. Der Schätzer ist direkter Bestandteil von Vorhersagenund liefert basierend auf der ermittelten funktionalen Abhängigkeiten konkreteSchätzergebnisse. Ein zusätzliches Kommando erlaubt die ermittelten Systempara-meter (im Beispiel 7.3.4 a und b) zu extrahieren.

7.5 Fazit

In Kapitel 7.2 wurde grundlegend auf die einzelnen Bestandteile von Systemen undDatenmodellen eingegangen. Die in [CCS] nicht formal umschriebenen Datenmo-delle wurden in Kapitel 7.3 mit Systemen in Zusammenhang gebracht und anhandvon Beispielen wurden die unterschiedlichen Analysebedürfnisse illustriert. Die ver-fügbaren Funktionen des Datenbankprodukts ORACLE wurden hinsichtlich dieserModellklassen eingeordnet. Die Zusammenhänge zwischen kategorischen, exegati-ven, kontemplativen und formalisierten Datenmodellen und den entsprechendenImplementierungen des relationalen Modells, des Data Cubes, der Systemmodellie-rung und der Regressionsanalyse wurden in Kapitel 7.4 hergestellt.Zum Zeitpunkt der Verö�entlichung von [CCS] existierten laut Autor zwar viele

Datenbankprodukte, die den kategorischen Anforderungen genügten, jedoch warennur wenige oder gar keine Produkte am Markt verfügbar, die den gehobenen Mo-dellklassen genügten. Diese Darstellung entspricht nicht mehr den heutigen Gege-benheiten. Es wurde anhand eines marktüblichen Datenbanksystems gezeigt, dassexegative, kontemplative und formale Anforderungen umfassend erfüllt werden. DieMODEL-Klausel für kontemplative Analysen ist im Zusammenhang mit der umfang-reichen DML eine mächtige SQL-Erweiterung, mit der eine Vielfalt von Analysenmöglich ist. Lediglich die Modellierung und Speicherung von Unschärfe ist nicht in

12

Page 19: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten

7.5 Fazit

vollem Umfang gegeben. Die Vorhersagefunktion des OLAP-Moduls stellt wichtigeRegressionsverfahren zur Verfügung, die es erlauben Systemparameter zu extrahie-ren sowie Schätzungen durchzuführen.

13

Page 20: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten
Page 21: Fortgeschrittene OLAP Analysemodelle - ipd.kit.edu · dell etabliert, während sich für OLAP auf logischer Datenspeicherebene ein so genannter Data Cube durchgesetzt hat, der Daten

Literaturverzeichnis

[CCS] E. F. Codd, S. B. Codd, and C. T. Salley. Providing OLAP toUser-Analysts: An IT Mandate. http://dev.hyperion.com/resource_

library/white_papers/providing_olap_to_user_analysts.pdf Letz-ter Zugri�: 5. Juni 2005.

[Gal] J. Galindo. Fuzzy SQL - A Fuzzy Query Language. http://www.lcc.

uma.es/~ppgg/FSQL.html Letzter Zugri�: 5. Juni 2005.

[Han05] Uwe D. Hanebeck. Skriptum zur Vorlesung Stochastische Informations-verarbeitung. 2005.

[HK01] Jiawei Han and Micheline Kamber. Data Mining: Concepts and Techni-ques. Morgan Kaufmann, 2001.

[Oraa] Oracle Corporation. Oracle R© Database Data Warehousing Guide, 10grelease 1 (10.1) edition. Chapter 21: SQL for Analysis.

[Orab] Oracle Corporation. Oracle R© Database Data Warehousing Guide, 10grelease 1 (10.1) edition. Chapter 8: Basic Materialized Views.

[Orac] Oracle Corporation. Oracle R© Database Data Warehousing Guide, 10grelease 1 (10.1) edition. Chapter 22: SQL for Modelling.

[Orad] Oracle Corporation. Oracle R© Documentation Library - Books, 10g Relea-se 1 (10.1) edition.

[Orae] Oracle Corporation. Oracle R© OLAP DML Reference, 10g Release 1 (10.1)edition. Chapter 1.4.5: Forecasting Programs.

[reg] Wikipedia: Regressionsanalyse. http://de.wikipedia.org/wiki/

Regressionsanalyse Letzter Zugri�: 5. Juni 2005.

15