Analyse von großen Datenmenge mit Hilfe von - RWTH

Werbung
Analyse von großen Datenmengen
mit Hilfe von Datacubes
Seminararbeit im Studiengang
Scientific Programming
WS 2012 / 2013
Autor:
David Schweer
Matrikelnummer:
843901
1. Betreuer:
2. Betreuer:
Prof. Dr. rer. nat. Bodo Kraft
Alexander Trieb
Datum:
20. Dezember 2012
Eidesstattliche Erklärung
Hiermit versichere ich, dass ich die Seminararbeit mit dem Thema
„Analyse von großen Datenmengen mit Hilfe von Datacubes“
Selbstständig verfasst und keine anderen als die angegebenen Quellen und
Hilfsmitte benutzt habe, alle Ausführungen, die anderen Schriften wörtlich oder
sinngemäß entnommen wurden, kenntlich gemacht sind und die Arbeit in gleicher
oder ähnlicher Fassung noch nicht Bestandteil einer Studien- oder Prüfungsleistung
war.
Name: David Schweer
Aache, den 20.12.2012
Unterschrift des Studenten
Inhalt
1 Einleitung .............................................................................................................................................. 1
2 Data-Warehouse .................................................................................................................................. 2
2.1 Definition ....................................................................................................................................... 2
2.2 ETL-Prozess .................................................................................................................................... 4
2.2.1 Extraktion ............................................................................................................................... 5
2.2.2 Transformation ....................................................................................................................... 5
2.2.3 Laden ...................................................................................................................................... 6
3 Data-Mart ............................................................................................................................................. 8
3.1 Definition ....................................................................................................................................... 8
3.2 Abhängige Data-Marts .................................................................................................................. 8
3.2.1 Data-Mart-Extraktionen ......................................................................................................... 9
3.2.1.1 Strukturelle Extraktion: ................................................................................................... 9
3.2.1.2 Inhaltliche Extraktion: ..................................................................................................... 9
3.2.1.3 Aggregierte Extraktion: ................................................................................................... 9
3.3 Unabhängige Data-Marts ............................................................................................................ 10
3.4 Vergleich der 2 Data-Mart Konzepte........................................................................................... 11
4 OLAP ................................................................................................................................................... 12
4.1 12 Regeln nach Codd (Bauer & Holger, 2009) ............................................................................. 12
4.2 OLAP-Würfel ................................................................................................................................ 14
4.2.1 Grundoperationen (OLAP-Würfel) ....................................................................................... 15
5 Pentaho .............................................................................................................................................. 16
5.1 Erstellen von Schemadateien ...................................................................................................... 16
5.1.1 Beispiel Schemadatei (Mondrian) ........................................................................................ 18
6 Zusammenfassung und Ausblick ........................................................................................................ 19
6.1 Zusammenfassung ....................................................................................................................... 19
6.2 Ausblick........................................................................................................................................ 19
1 Einleitung
1 Einleitung
Business Intelligence spielt in der heutigen Zeit eine wichtige Rolle in Unternehmen.
Daten in elektronischer Form werden durch verschiedene Verfahren gesammelt,
ausgewertet und dargestellt. Anhand dieser Verfahren ist es für das Unternehmen
möglich, bessere operative und strategische Entscheidungen zu treffen.
Travelaudience schaltet Reisewerbung auf reiserelevanten Webseiten. In diesem
Bereich
ist
es
essential
wichtig,
auf
Grund
der
gesammelten
Daten
Unternehmenskritische Entscheidungen zu treffen. Zum Beispiel einem Kunden die
Performance seiner Werbeannonce zu nennen und somit eventuelle Schwachstellen
zu beseitigen. Da gerade bei der freien Nutzung von Internet-basierten
Informationsplattformen eine sehr große Datenmenge anfällt, werden anhand
verschiedener Verfahren, die Daten aufbereitet, analysiert und dargestellt.
Anhand dieser Arbeit, werden Aufbereitung, Analyse und die Darstellung der Daten
erklärt. Dabei wird genauer auf die Prinzipien der grundlegenden Methoden der
Datenhaltung (zum Beispiel ein Datawarehouse) sowie der weiteren Verfahren zum
vorselektieren der relevanten Daten, auf Basis von Datamarts eingegangen. Letzteres
dient dazu eine höhere Performance für die Darstellung der gewünschten
Information zu erreichen. Die eigentliche Darstellung der Informationen geschieht
durch das Erstellen von Datacubes, welche der Schwerpunkt dieser Arbeit sind.
Außerdem wird in dieser Arbeit auf die Business Intelligence Software Pentaho
eingegangen.
Seite 1
2 Data-Warehouse
2 Data-Warehouse
2.1 Definition
Ein
Data-Warehouse
unterschiedlichsten
ist
eine
Datenquellen
Datenbank,
in
einem
welche
Informationen
gemeinsamen
aus
Datenformat
zusammenführt und für eine spätere Auswertung vorhält. Die Daten werden anhand
ihres Informationsgehaltes ausgewählt, also nur die Daten, die relevanten
Informationen für die Analyse und somit für die Entscheidungsfindung beinhalten.
Um die Daten analysieren zu können, müssen sie alle in einem einheitlichen Format
vorliegen. Der Prozess des Umwandelns der Daten bezeichnet man als ETL-Prozess
(Extract, Transform, Load). Da bei Analysen meistens nicht nur ein gewisser
Zeitpunkt betrachtet wird, sondern ein Zeitraum um auch zeitliche Entwicklungen
analysieren zu können, ist es wichtig, dass die Daten mit entsprechenden
Zeitinformationen gespeichert werden. Zudem müssen die Daten auch dauerhaft
gespeichert werden. Sind die Daten in einem Data-Warehouse gespeichert,
verbessert sich der Zugang zu den Informationen, da diese bereits zusammen
geführt sind.
Abbildung 1: Grafischer Überblick – Data Warehousing (DataWarehouse4u)
Die Abbildung stellt schematisch den Informationsfluss von den Quelldaten zu den
Auswertungsinformationen dar. Das Data-Warehouse erhält die Daten von dem
Seite 2
2 Data-Warehouse
ETL-Prozess der wiederum diese aus den verschiedenen Datenquellen ermittelt. Der
ETL-Prozess wird in Kapitel 2 näher beschrieben. Sind die Daten einmal im DataWarehouse abgelegt, ist es möglich durch verschiedene Analyseverfahren, wie zum
Beispiel OLAP Analysen siehe Kapitel x durchzuführen, Berichte zu erstellen und
Data Mining zu betreiben.
Eine einheitliche Definition für ein Data-Warehouse existiert nicht.
Eine erste Definition aus dem Jahre 1996 von Immon, die sehr einschränkend ist und
somit nicht alle Fälle abdeckt, lautet folgendermaßen:
“A data warehouse is a subject oriented, integrated, non-volatile, and time variant
collection of data in support of management’s decisions.”
Eine weitere Definition, die nicht so restriktiv ist, lautet folgendermaßen:
“A data warehouse is a copy of transaction data specifically structured for querying
and reporting.”
Anhand dieser beiden Aussagen wird deutlich, wie unterschiedlich die Definition für
ein Data-Warehouse ist. Während die erste Definition den Fokus auf die
Charakteristik der Informationen legt, stellt die zweite eher die technische
Ausprägung dar.
Seite 3
2 Data-Warehouse
2.2 ETL-Prozess
Der ETL-Prozess sorgt dafür, dass die Daten aus den unterschiedlichen Quellen in
ein einheitliches Format, das Format des Data-Warehouse, vereint werden. Dabei
besteht der Prozess aus drei Teilschritten:
-
Extraktion
(Extract)
-
Transformation
(Transform)
-
Laden
(Load)
Die Extraktion liest die gewünschten Daten aus den verschiedenen Quellen in einen
Arbeitsbereich. Im Arbeitsbereich werden die Daten transformiert. Zum Schluss
werden die transformierten Daten in das Data-Warehouse geladen.
Der gesamte Prozess sollte dabei sehr effizient ab laufen, da in der Regel sehr große
Datenmengen verarbeitet werden. Zudem stehen zumindest das Data-Warehouse
zum Teil auch die Quelldaten während des Vorganges dem Anwender oder anderen
Anwendungen nicht zu Verfügung.
Auch die Qualität, die Konsistenz und die
Vollständigkeit der Daten spielt eine wichtige Rolle, da diese trotz Änderung von
Stammdaten, vollständig und nachvollziehbar im Data-Warehouse vorliegen sollen.
Ein ETL-Prozess kann durch ein eigenes Programm in einer beliebigen
Programmiersprache umgesetzt werden. Meistens werden Standardprogramme und
deren Funktionalitäten benutzt, die bereits sämtliche Datenbanksysteme und
Dateisysteme unterstützen. Außerdem beinhalten sie auch bereits Verfahren, die den
Transformationsprozess qualitativ hochwertig machen, zum Beispiel Visualisierung
der Daten, Fehlerbehandlung und Scheduling. Meist sind diese Programme speziell
ausgelegt, arbeiten hocheffizient und minimieren die Speerzeiten an Startquelle und
Zielquelle.
Folgende Beispiele sind im kommerziellen Bereich zu benennen: IBM, SAP, Oracle.
Im Open Source-Bereich gibt es unter anderem Pentaho und Scriptella.
Seite 4
2 Data-Warehouse
2.2.1 Extraktion
Die Extraktion holt die Daten aus den unterschiedlichen Quellen in den
Arbeitsbereich. Dabei werden in der Regel nicht alle Daten aus den Quellen
entnommen, sondern nur die Daten selektiert, die für die spätere Auswertung
relevant sind. Um geänderte Daten aus einer Quelle zu ermitteln und damit nicht
immer den gesamten Datenbestand neu zu extrahieren, gibt es verschiedene
Monitoring-Strategien.
Bei Trigger-basierten Verfahren, kann man die geänderten Daten einfach aus der
entsprechenden Datei entnehmen. Geänderte Daten werden bei einem zeitbasierten
Verfahren über den sogenannten Timestamp eines Datensatzes ermittelt. Dabei sorgt
die Anwendungsapplikation welche die Quelldaten erzeugt, dafür dass sowhl das
Erstellungs als auch ein Aktualisierungsdatum mit abgespeichert wird. Bei
Replikationstabellen müssen über SQL-Abfragen nur die richtigen Tabellen selektiert
werden.
Aber auch der der Aktualitätsgrad des Data-Warehouse spielt eine wichtige Rolle.
Hierfür gibt es verschiedene Varianten. Ist eine geforderte Mindestaktualität der
Daten gefordert, lässt sich das Ganze über eine periodische Extraktion umsetzen. Es
wird eine Zeitspanne festgelegt, in dem die Daten mindestens einmal zu
aktualisieren sind. Hierüber gesteuert läuft der ETL-Prozess selbständig immer in
regelmäßigen Abständen (Scheduling). Es ist auch möglich den Prozess nur auf
Anfrage zu starten (manuelle Steuerung) oder wenn ein bestimmtes Ereignis eintritt
(Trigger). Ein mögliches Ereignis könnte hierbei eine Mindestanzahl an geänderten
Daten sein. Sind dagegen sogenannte Echtzeitdaten im Data-Warehouse gefordert,
dann sollte der Prozess bei Änderung an den Quelldaten unmittelbar anlaufen und
das Ergebnis des ETL-Prozesses ins Data-Warehouse schreiben.
Die technische Realisierung des Zugriffs und der Extraktion ist dabei recht einfach
und erfolgt über meist vorhandenen Standardschnittstellen zu den QuellDatenbanken, wie zum Beispiel ein ODBC-Zugriff (Open Database Connectivity)
2.2.2 Transformation
Da die durch den Extraktionsprozess geladen Daten im Arbeitsbereich alle noch ein,
in Abhängigkeit der Quelldaten, unterschiedliches Format haben können, werden in
Transformationsschritten die Daten strukturell als auch inhaltlich aufgearbeitet. Vor
Seite 5
2 Data-Warehouse
allem Daten, die aus heterogenen Quellen stammen, durchlaufen dieses Verfahren,
um ein einheitliches Format zu bekommen und somit vergleichbar zu sein. Hierbei
werden zum Beispiel die Datentypen angepasst, die Kodierung vereinheitlicht,
eventuelle Attribute zusammengefasst oder getrennt.
Ein sehr anschauliches Beispiel wären zwei Informationen aus unterschiedlichen
Quellen, die beide ein Attribut mit einem Datumswert beinhalten. In dem einen
Datensatz steht das Datum im Format yyyy-MM-dd (2012-12-10), im anderen
Datensatz ist das Format aber dd-MM-yy (10-12-12). Um beide Datumsangaben
vergleichen zu können, müssen sie das gleiche Format haben.
Zudem besteht die Wahrscheinlichkeit das Daten fehlerhaft, redundant oder veraltet
sind. Auch hierfür kann der Transformationsprozess weitere Verfahren bereitstellen,
welche eventuelle Fehlersituationen erkennen und beheben wird.
In einem modernen flexiblen ETL-Prozess kann der Transformationsprozess mit
eigenen Verfahren und ergänzenden Routinen erweitert werden.
2.2.3 Laden
Nachdem der Transformationsprozess erfolgreich durchlaufen ist, liegen die
ausgewählten Daten in dem genormten Format im Arbeitsbereich. Nun können die
Daten durch die Ladekomponente in das eigentliche Data-Warehouse übertragen
und somit abgespeichert werden. Da im klassischen ETL-Prozess keine Daten
konsolidiert und komprimiert werden, ist auch aufgrund des zeitintensiven
Schreibvorgans auf das Speichermedium für den Ladevorgangs eine effiziente
Umsetzung des Prozesses notwendig um das Data-Warehouse, sowenig wie möglich
für die eigentliche Nutzung zu blockieren.
Desweitern ist es sinnvoll eine Versionierung des Data-Warehouse anzulegen. Jede
Aktualisierung des Data-Warehouse wird protokolliert und die Vorgänger-Zustände
im Repositorium archiviert. Dann kann auch auf älteren Datenbeständen problemlos
zugegriffen werden, um bei auftretenden Fehlern eine ältere und somit
funktionsfähige Variante zu zurück zu holen.
Seite 6
2 Data-Warehouse
Abbildung 2: ETL-Prozess (ETL-Prozess)
Seite 7
3 Data-Mart
3 Data-Mart
3.1 Definition
Ein Data-Mart ist eine vereinfachte Form beziehungsweise ein Auszug eines
komplexen Data-Warehouse. Ein Data-Warehouse fasst verschiedene Informationen
aus unterschiedlichen Quellen zusammen. Ein Data-Mart hingegen baut auf einem
Data-Warehouse auf und verdichtet die gesammelten Informationen des DataWarehouse weiter. Somit wird ein beschränkter inhaltlicher Fokus auf die Daten
gegeben. Durch diese Teilsicht auf die Daten werden verschiedene Ziele verfolgt und
umgesetzt.
Als ein Motivator zur Bildung von Data-Marts ist der Aspekt der Datensicherheit. Da
in einem Data-Warehouse alle Informationen granular zugänglich sind, müssen über
zusätzliche Funktionen, bestimmte Daten für eine bestimmte Gruppe an Benutzern
ausgeblendet sein, um den Datenschutz gerecht zu werden. Stellt man allerdings
Data-Marts für die unterschiedlichen Benutzern zur Verfügung, ist es sehr wohl
möglich, dass bestimmte Gruppen nur bestimmte Daten sehen. Der jeweiligen
Gruppe wird dabei nicht mehr die Sicht auf das gesamte Data-Warehouse, sondern
nur noch auf ein zugeschriebenes Data-Mart gewährt. Des Weiteren wird somit auch
direkt das Datenvolumen für die Benutzergruppen reduziert, was auch dazu führt
das die Performance steigt. Dadurch das ein Data-Mart die Daten zurückliefert, ist es
nicht mehr nötig auf dem Data-Warehouse zu arbeiten, wodurch Last vom DataWarehouse und dem Server genommen wird und auf die Rechner der Benutzer, also
dem Client, verlegt wird. Mit Hilfe von Data-Marts lässt sich auch die
Unternehmens-Organisation sehr gut nachbilden, indem zum Beispiel jede Abteilung
ihr eigenes Data-Mart bekommt.
In der Theorie unterscheidet man grundsätzlich zwischen 2 Data-Mart Konzepten.
Den abhängigen Data-Marts und den unabhängigen Data-Marts.
3.2 Abhängige Data-Marts
Abhängige Data-Marts werden auf ein existierendes Data-Warehouse aufgebaut.
Dabei gruppieren sich die Data-Marts um das Data-Warehouse und beinhalten nur
Datenbestände aus diesem. Diese Daten werden gegebenenfalls aggregiert, aber
Seite 8
3 Data-Mart
nicht mehr normiert oder bereinigt. Dadurch führt die Auswertung eines Data-Marts
genau zu dem gleichen Ergebnis wie eine Auswertung, die direkt auf dem DataWarehouse durchgeführt würde. Um eine Data-Mart zu erstellen, sollte die
Problemstellung genau analysiert werden und genau bekannt sein welche Daten zur
Lösung benötigt werden.
Es gibt 3 Möglichkeiten, um die Datenmenge des Data-Warehouse in einem DataMart zu reduzieren. Die strukturelle Extraktion, die inhaltliche Extraktion und die
aggregierte Extraktion. Alle 3 Möglichkeiten könne kombiniert verwendet werden.
3.2.1 Data-Mart-Extraktionen
3.2.1.1 Strukturelle Extraktion:
Die strukturelle Extraktion selektiert nur die Daten aus dem Data-Warehouse die für
die Analyse notwendig sind.
Besteht ein Data-Warehouse zum Beispiel aus 3 Tabellen von denen im Data-Mart
nur 2 genutzt werden, oder von 20 Spalten der Tabelle nur 5 Spalten ausgewählt
werden, so basiert der Data-Mart auf eine strukturelle Extraktion des DataWarehouse.
3.2.1.2 Inhaltliche Extraktion:
Wie der Name schon sagt, werden hier die Daten auf der inhaltlichen Ebene weiter
zusammengefasst.
Bei der inhaltlichen Extraktion erfolgt die Reduzierung des Data-Warehouse in das
Data-Mart aus einer Analyse bestimmter Feldinhalte.
3.2.1.3 Aggregierte Extraktion:
Häufig passiert es in der Praxis, dass die Daten nicht in der gewünschten
Genauigkeit vorliegen. Mit Hilfe der aggregierten Extraktion kann das Data-Mart für
die nachfolgende Nutzung aufgewertet werden.
Reicht zum Beispiel die Darstellung der Daten auf einer Tagesbasis aus, die Daten
liegen im Data-Warehouse allerdings stündlich vor, so wird im Data-Mart die
Granularität verringert und alle stündlichen Daten zu einem Datensatz auf
Tagesebenen verdichtet.
Seite 9
3 Data-Mart
Abbildung 3: Abhängige Data-Marts (Bauer & Holger, 2009)
3.3 Unabhängige Data-Marts
Abhängige Data-Marts bilden ihren Datenbestand auf Basis eines Data-Warehouses,
fehlt
dieses
können
die
einzelnen
Data-Marts
auf
die
ursprünglichen
unterschiedlichen Datenquellen aufbauen. In der Regel sind dies kleinere
Datenbestände in Form von Datenbanken oder sonstige Datenspeicherquellen, die
jede Abteilung für sich zur Verfügung hat. Auf diese Quellen werden die Data-Marts
aufgebaut.
Seite
10
3 Data-Mart
Abbildung 4: Unabhängige Data-Marts (Bauer & Holger, 2009)
3.4 Vergleich der 2 Data-Mart Konzepte
Beim abhängigen Data-Mart Konzept ist ein mehr Aufwand von Nöten, da schon zu
Beginn ein Data-Warehouse existieren muss, welches alle Daten zusammenfasst.
Dies ist bei den unabhängigen Data-Marts nicht der Fall. Hier kann direkt mit den
vorliegenden Daten gestartet werden. Jedoch kann es hier zu Überschneidungen der
Data-Marts kommen. Außerdem ist es nur unter Mehraufwand möglich, Analysen
über die Grenzen eines Data-Marts hinaus zu erstellen. Dafür müsste aus den
existierenden Data-Marts ein Data-Warehouse erstellt werden, worauf dann die
Analysen abgefragt werden. Das kann aber dazu führen, dass Informationen, die in
mehreren Data-Marts stehen und die gleiche Bedeutung haben, nicht mehr
konsistent sind. Dies ist jedoch bei abhängigen Data-Marts ohne Probleme möglich,
da die gesamten Daten im Data-Warehouse vereint sind.
Seite
11
4 OLAP
4 OLAP
OLAP (Online Analytical Processing) unterstützt dabei Analysen, Auswertungen
und Abfragen dynamisch flexibel und interaktiv auf vergleichsweise große
Datenbestände zu ermöglichen. Dabei ist zu beachten, dass OLAP nicht
zwangsläufig ein Data-Warehouse voraussetzt. OLAP soll dabei helfen, die immer
größer werdenden Datenmenge und die steigende Komplexität der Fragestellung an
die Daten zu bewältigen. Es gibt grundsätzlich 2 Arten von OLAP. ROLAP, welches
sich die Daten aus einer relationalen Datenbank holt und MOLAP, das hingegen auf
eine multidimensionale Datenbank (OLAP-Würfel) zugreift. In dieser Arbeit wird
der Begriff MOLAP anhand von Data-Cubes (OLAP-Würfel) erläutert. Der Begriff
OLAP wurde im Jahre 1993 von Edgar F. Codd geprägt. Er formulierte zuerst 12
Regeln, die später jedoch erweitert wurden.
4.1 12 Regeln nach Codd (Bauer & Holger, 2009)
1. Multidimensionale konzeptionelle Sichtweise: Die konzeptionelle Sicht auf die
Daten soll für den Anwender multidimensional sein.
2. Transparenz: Dem Anwender muss deutlich werden woher die entnommen
Informationen stammen
3. Zugriffsmöglichkeit: Es soll möglich sein auf interne Datenquellen als auch auf
externe Datenquellen zuzugreifen
4. Gleichbleibende Antwortzeit bei der Berichterstellung: Die Zeit, die benötigt wird
um eine Analyse zu erstellen darf nicht von der Anzahl der Dimensionen und
der Menge der gespeicherten Daten abhängen
5. Client/Server-Architektur:
Es
soll
eine
eindeutige
Trennung
zwischen
Speicherung, Verarbeitung und Darstellung geben. Dabei muss der Server
eine offene Schnittstelle bereitstellen
6. Generische Dimensionalität: Alle Dimensionen sollen einheitlich sein und somit
ist keine Vorbelegung von Dimensionen möglich.
7. Dynamische Behandlung dünn besetzter Matrizen: Es wird gefordert, dass das
physische Schema des Modells automatisch an die gegebene Dimensionalität
und die Verteilung jedes spezifischen Modells angepasst wird. Somit wird
verhindert, dass das Schema größer wird als die Menge der Daten.
Seite
12
4 OLAP
8. Mehrbenutzerunterstützung: Es muss möglich sein, dass gleichzeitig mehrere
Benutzer die gleichen Daten analysieren. Damit das möglich ist, müssen
Sicherheits- und Integritätsmechanismen eingebaut werden.
9. Uneingeschränkte kreuzdimensionale Operationen: Das OLAP-Werkzeug ist für
Berechnung innerhalb einzelner Dimensionen selbst zuständig. Dem
Anwender wird zudem die Möglichkeit geben über Dimensionen hinweg
Berechnungen zu definieren.
10. Intuitive
Datenbearbeitung:
Oberfläche
soll
einfach
zu
erlernen
und
Benutzerfreundlich sein.
11. Flexible Berichterstellung: Der Bericht soll die Daten beliebig anordnen können
12. Unbegrenzte Anzahl von Dimensionen und Klassifikationsebenen: Es gibt für OLAP
keine Beschränkung was die Anzahl der Dimensionen angeht. Jeder
Dimension
ist
es
zudem
gestattet,
Aggregationsebenen zu erstellen.
Seite
13
eine
beliebige
Anzahl
an
4 OLAP
4.2 OLAP-Würfel
Ein OLAP-Würfel ist eine Datenspeicherstruktur, für die Anwendung in
Analyseapplikationen (ITWissen). Ein Würfel setzt sich dabei aus Dimensionen und
Kennzahlen zusammen. Die Dimensionen sind Eigenschaften und die Kennzahlen
die Werte zu den Eigenschaften. Die Dimensionen spannen dabei die Würfelkanten
auf und die Länge des Würfels beschreibt die Anzahl der Elemente. Ein
geometrischer Würfel entsteht, sobald drei Dimensionen vorhanden sind. Allerdings
sind bezüglich der Dimensionen keine Einschränkungen gegeben. Ein OLAP-Würfel
kann somit n-dimensional aufgebaut werden. OLAP stellt dabei Funktionen zu
Verfügung um den Würfel analysieren zu können.
Abbildung 5: Beispiel eines OLAP-Würfels (MSDN)
In Abbildung 4 sieht man einen drei Dimensionalen Würfel. Dabei beschreiben die 3
Dimensionen die Regionen, die Tage und die Produkte. Die Region-Dimension
besteht aus 5 Kennzahlen; Region 1 bis Region 5. Die Tag-Dimension hat 4
verschiedene Tage als Kennzahlen und die Produkt-Dimension beschreibt die
Produkte 1, 2 und 3. Anhand dieses Würfels ist es sehr einfach komplexe
Fragestellungen zu beantworten wie zum Beispiel:
-
Welches Produkt wurde am Tag 4 in Region 2 am meisten verkauft (rote
Markierung)?
-
Wie viele Produkte wurden von Produkt 1 in Region 5 am dritten Tag
verkauft (gelbe Markierung)?
Seite
14
4 OLAP
4.2.1 Grundoperationen (OLAP-Würfel)
Slicing: Ausschneiden von Scheiben aus dem Datenwürfel.
Dicing: Gleichzeitige Slicing-Vorgänge in unterschiedlichen Dimensionen. Hierbei
wird ein kleinerer Würfel erzeugt, der einen Teilbereich des Gesamtwürfels enthält.
Pivoting: Drehen des Datenwürfels, so dass mindestens eine andere Dimension
sichtbar wird.
Drill-Down:
Aggregationen
eines
Informationsobjekts
auf
detaillierte
Werte
herunterbrechen.
Drill-Up: Gegenoperation zu Drill-Down; Verdichten auf höhere Hierarchiestufe.
Drill-Across: Dimension auf der
gleichen Hierarchiestufe;
Betrachtung
der
benachbarten Dimensionselemente.
Drill-Through: Verfeinerung bis auf höchsten Detaillierungsgrad.
Split: Der Split Operator ermöglicht es, einen Wert nach weiteren Dimensionen
weiter aufzuteilen, um weitere Detailstufen zu erreichen.
Merge: Im Gegensatz zu Split wird hier die Granularität durch das Entfernen
zusätzlicher Dimensionen verringert.
Seite
15
5 Pentaho
5 Pentaho
Pentaho ist eine Sammlung von Business-Intelligence-Werkzeuge, die seit dem Jahre
2004 von der Pentaho Corporation entwickelt wird. Die Sammlung deckt den ETLProzess, den Reporting Bereich, OLAP und Data-Mining ab. Die Software in Java
geschrieben und ist somit auch komplett plattformunabhängig. Die Software gibt es
in verschieden Versionen. Es werden auch Open Source-Varianten zu Verfügung
gestellt. Allerdings beinhalten diese nicht den kompletten Funktionsumfang. Die
Software lässt sich in Server- und Client-Anwendungen aufteilen.
5.1 Erstellen von Schemadateien
Eine Schemadatei ist die Beschreibung einer multidimensionalen Datenbank. Die
Daten für diese Datenbank kommen aus der physischen Datenbank. Dabei wird das
physische Modell in ein logisches umgewandelt. In Pentaho wird mit Mondrian
Schema Dateien gearbeitet. Diese Schemadateien werden in XML dargestellt.
Die
wichtigsten
Komponenten
einer
Schemadatei
sind
der
„Cube“,
die
„Measure“und die „Dimension“. Dabei besteht der „Cube“, wie schon erwähnt aus
Dimensionen und Kennzahlen.
Das Element „Cube“ hat die zugehörigen Elemente „Measure“ und „Dimension“.
Außerdem ein weiteres Element „Table“. Das Table-Element verweist dabei auf die
Tabelle, aus der der Würfel seine Informationen bekommt. Hier kann auch auf eine
andere Schemadatei verwiesen werden oder auf ein Data-Mart. Es muss also nicht
zwangsläufig eine Datenbanktabelle angegeben werden.
Das Element „Measure“ bezieht sich direkt auf die Tabelle, die ausgewählt wurde.
Hier wird festgelegt, welche Spalten aus der ausgewählten Tabelle genommen
werden sollen. Sinnvollerweise werden nur die Spalten selektiert, welche für die
Analyse von Bedeutung sind. Zudem muss eine Aggregation als Attribut angegeben
werden; zum Beispiel analog zu einer Datenbankabfrage „sum“, „count“, „min“,
max“, „avg“. Zusätzlich kann noch festgelegt werden, welcher Datentyp
zurückgeliefert werden soll. Auch ist es möglich, den Rückgabewert zu formatieren.
Dies geschieht über das Attribut formatString. Hier kann man zum Beispiel angeben,
mit wie vielen Nachkommastellen die Ausgabe angezeigt wird.
Das Element „Dimension“ beschreibt die Würfelkante. Über das Element
„Hierarchy“ wird der Blick auf die Daten festgelegt. So kann man mit den OLAPSeite
16
5 Pentaho
Operationen durch die Hierarchie-Ebenen navigieren. Somit ist es möglich
detailliertere Informationen zu den selektierten Daten zu bekommen. Durch die
Hierarchie-Ebenen ist es möglich die Daten so zu filtern wie sie gebraucht werden.
Als klassisches Beispiel sei auf die Zeitdimension verwiesen. Auf der obersten
Hierarchieebene sind die Daten in Jahren zusammengefasst. Mit einem Drill-In ist es
möglich auf Monate, Tag und so weiter herunter zu gehen. Ein Aggregieren und
Bilden von Zwischensummen ist nur über Hierarchien möglich. Das HierarchieElement hat die zugehörigen Elemente „Table“ und „Level“. Das Table-Element ist
wieder der Ort der gespeicherten Daten und das Level-Element ist die Sicht auf die
Daten.
Beispiel für eine Dimension (Mondrian):
<Dimension name="Time" foreignKey="time_id">
<Hierarchy hasAll="false" primaryKey="time_id">
<Table name="time_by_day"/>
<Level name="Year" column="the_year" type="Numeric" uniqueMembers="true"/>
<Level name="Quarter" column="quarter" uniqueMembers="false"/>
<Level name="Month" column="month_of_year" type="Numeric" uniqueMembers="false"/>
</Hierarchy>
</Dimension>
Es gibt noch wesentlich mehr Möglichkeiten eine Schemadatei genauer zu definieren
und genauere Analysen zu erstellen, die allerdings in dieser Arbeit nicht näher
beschrieben werden.
Seite
17
5 Pentaho
5.1.1 Beispiel Schemadatei (Mondrian)
<Schema>
<Cube name="Sales">
<Table name="sales_fact_1997"/>
<Dimension name="Gender" foreignKey="customer_id">
<Hierarchy hasAll="true" allMemberName="All Genders" primaryKey="customer_id">
<Table name="customer"/>
<Level name="Gender" column="gender" uniqueMembers="true"/>
</Hierarchy>
</Dimension>
<Dimension name="Time" foreignKey="time_id">
<Hierarchy hasAll="false" primaryKey="time_id">
<Table name="time_by_day"/>
<Level name="Year" column="the_year" type="Numeric" uniqueMembers="true"/>
<Level name="Quarter" column="quarter" uniqueMembers="false"/>
<Level name="Month" column="month_of_year" type="Numeric" uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Measure name="Unit Sales" column="unit_sales" aggregator="sum" formatString="#,###"/>
<Measure name="Store Sales" column="store_sales" aggregator="sum" formatString="#,###.##"/>
<Measure name="Store Cost" column="store_cost" aggregator="sum" formatString="#,###.00"/>
<CalculatedMember name="Profit" dimension="Measures" formula="[Measures].[Store Sales] [Measures].[Store Cost]">
<CalculatedMemberProperty name="FORMAT_STRING" value="$#,##0.00"/>
</CalculatedMember>
</Cube>
</Schema>
In diesem Beispiel wird ein Würfel „Sales“ erstellt. Dieser baut auf die Tabelle
„sales_fact_1997“ auf. Der Würfel besteht aus der Dimension Zeit und der
Dimension Geschlecht. Insgesamt hat der Würfel außerdem 4 Kennzahlen;
„unit_sales“, „store_sales“; „store_cost“ und „Profit“. Somit ist es möglich Daten in
Abhängigkeit
vom
Geschlecht
und
vom
Verkaufszahlen zu ermitteln.
Seite
18
Datum
für
die
verschiedenen
6 Zusammenfassung und Ausblick
6 Zusammenfassung und Ausblick
6.1 Zusammenfassung
In dieser Seminararbeit wurde dem Leser ein Grundwissen über Data-Warehouse,
Data-Marts und OLAP-Würfel vermittelt. Es ist nun bekannt, wie die Daten aus den
unterschiedlichen Quellen mittels ETL-Prozess in ein Data-Warehouse kommen. Auf
die Daten im Data-Warehouse können die Daten weiter extrahiert werden mit Hilfe
von Data-Marts. Dem Leser ist bekannt, dass es 2 Arten von Data-Marts gibt; die
abhängigen Data-Marts und die unabhängige Data-Marts. Dabei sollte darauf
geachtet werden, dass wenn möglich abhängige Data-Marts benutzt werden. Zudem
wurde der Begriff OLAP eingeführt und erklärt. Dem Leser ist OLAP-Würfel
einbegriff und er kennt die Grundoperationen die mit einem Würfel möglich sind.
Desweiteren sind die Grundlagen zum erstellen einer Mondrian Schemadatei
bekannt, welche in Pentaho eingelesen und verarbeitet werden.
6.2 Ausblick
Wie schon in dieser Arbeit erwähnt, gibt es wesentlich mehr Möglichkeiten eine
Schemadatei aufzusetzen. Diese weiteren Möglichkeiten könnten näher analysiert
werden und somit noch genauere Problemstellungen zu lösen. Außerdem gibt es
verschiedene Cube-Arten auf die auch eingegangen werden wie zum Beispiel
„Virtual Cubes“ und dann miteinander verglichen werden könnten. Da Pentaho eine
sehr umfassende Software ist und viele verschiedene Analysewerkzeuge zur
Verfügung stellt, wäre es auch hier sinnvoll dem Leser einen näheren Einblick über
die verschiedenen Möglichkeiten zu geben.
Seite
19
<Literaturverzeichnis
Literaturverzeichnis
Bauer, A., & Holger, G. (2009). Data Warehouse Systeme. Heidelberg: dpunkt.verlag.
DataWarehouse4u. (kein Datum). Abgerufen am 2. 12 2012 von
http://datawarehouse4u.info/index_en.html
ETL-Prozess. (kein Datum). Abgerufen am 13. 12 2012 von http://de.wikipedia.org/wiki/ETL-Prozess
Hägele, C. (kein Datum). Uni Ulm. Abgerufen am 6. 12 2012 von http://www.mathematik.uniulm.de/sai/ws03/dm/vortrag/haegele.pdf
ITWissen. (kein Datum). Abgerufen am 28. 11 2012 von
http://www.itwissen.info/definition/lexikon/OLAP-Wuerfel-OLAP-cube.html
Mondrian. (kein Datum). Abgerufen am 29. 10 2012 von
http://mondrian.pentaho.com/documentation/schema.php
MSDN. (kein Datum). Abgerufen am 18. 12 2012 von http://msdn.microsoft.com/enus/library/office/aa140038(v=office.10).aspx
OLAP-Würfel. (kein Datum). Abgerufen am 10. 12 2012 von http://de.wikipedia.org/wiki/OLAPW%C3%BCrfel
Oracle. (kein Datum). Oracle® Business Intelligence Standard Edition One Tutorial. Abgerufen am 2.
12 2012 von http://docs.oracle.com/html/E10312_01/dm_concepts.htm
Seite
20
Zugehörige Unterlagen
Herunterladen