Post on 05-Apr-2015
Data Warehousing
Oberseminarvortrag zum Thema:
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
von Daniel Schulte
Data Warehousing - Inhaltsverzeichnis Seite 2
Inhaltsverzeichnis
1. Einleitung zu Data Warehousing
2. Leistungsmerkmale eines Data Warehouse
3. Grundfunktionen der Datenübernahme
4. OLAP
4.1 Das multidimensionale Datenmodell
4.2 Grundfunktionen von OLAP
4.3 Datenbankdesign für OLAP
4.4 Implementationstechniken für OLAP
5. Oracle Express
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
Data Warehousing - Einleitung Seite 3
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
1. Einleitung zu Data Warehousing
- Data Warehouse = Hard- & Softwarelösung zur
Speicherung & Archivierung externer und interner
Informationsquellen
- Verwaltung sehr großer Datenmengen
- Daten müssen so gespeichert werden, daß diese für
Endbenutzer (wie Analytiker & Manager) verständlich
sind
- außerdem sollen die Daten für eine unternehmensweite
Auswertung mit verschiedenen Tools verfügbar sein
Data Warehousing - Einleitung Seite 4
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- zur Realisierung sind erforderlich:
• leistungsfähiger Server
• Datenbank
• Programme zur Datenübernahme ins DW
• Programme zur Aufbereitung & Analyse
- in engen Zusammenhang zum Data Warehouse steht
OLAP (online analytical processing)
- beim OLAP stehen die Möglichkeiten des Zugriffs auf
die Daten im Vordergrund
- beim DW steht die Verwaltung umfangreicher Daten-
bestände im Vordergrund
Data Warehousing - Leistungsmerkmale Seite 5
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
2. Leistungsmerkmale eines Data Warehouses
- unternehmensweit verteilte Informationen sollen zur
multidimensionalen Auswertung zusammengeführt werden
- DW bildet die Grundlage für „Data Mining“, welches
helfen soll, Zusammenhänge zwischen Daten aufzuzeigen
- häufig sollen sehr komplexe Anfragen gestellt werden
eine schnelle Antwortzeit wird erwünscht
- um dies zu verwirklichen, werden verteilte Datenbanken
mit guter Skalierbarkeit und hoher Verfügbarkeit genutzt
(siehe Abb. 1)
Data Warehousing - Leistungsmerkmale Seite 6
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
OLAPDW
Metadata Repository
Data Mining
Visualization
Operationale DB
Externe Datenquellen
ExtractClean
TransformLoad
Refresh
- in periodischen Abständen werden alle Daten von einer
zentralen Einheit zusammengetragen und in das DW
integriert
- die Daten auf den entsprechenden Server - Datenbanken
bleiben dabei alle unverändert
- da alten Daten nicht gelöscht werden, ergibt sich ein
ständiger Datenzuwachs
es bilden sich riesige Datenbestände (TByte-GByte)
- schwierige Auswertung solcher Datenbestände,
daher wird das DW in kleine Bestandteile aufgeteilt
„Data Marts“
Data Warehousing - Leistungsmerkmale Seite 7
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
Data Warehousing - Leistungsmerkmale Seite 8
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- „Data Marts“ werden häufig auf eine bestimmte Gruppe
von Endanwendern zugeschnitten
Data Warehousing - Datenübernahme Seite 9
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
3. Grundfunktionen der Datenübernahme
- es existieren 5 Grundfunktionen, die bei der
Datenübernahme in das DW eine Rolle spielen
- EXTRACT: das Übernehmen der Daten aus den externen
Quellen und aus operationalen Datenbanken
über Gateways oder externe Standardinterfaces
- Gateway: eine API, die es den Clients erlaubt,
SQL Anfragen zu stellen
z.B.: open database connectivity (ODBC)
open linking and embedding for databases (OLE-DB)
java database connectivity (JDBC)
Data Warehousing - Datenübernahme Seite 10
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- CLEANING:es werden Fehler minimiert und fehlende
Informationen ausgefüllt
- TRANSFORM: semantische Ungleichheiten werden
beseitigt, dies erfolgt durch die Definition
einer relationalen Sicht über die Tabellen
der Datenquelle
- LOADING: materialisieren / einfügen der Sichten und
speichern im Data Warehouse
zusätzlich können weitere Funktionen ausgeführt
werden, wie Sortieren, Zusatzinfos generieren, ...
Data Warehousing - Datenübernahme Seite 11
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- häufiges Problem beim LOADING: in den verschiedene DB
eines Unternehmens gibt es unterschiedliche Bezeichnungen
für gleiche Attribute, Tabellen haben unterschiedliche
Strukturen, es werden verschiedene Datentypen verwendet
- diese Differenzen müssen beim Einbringen der Daten in das
DW berücksichtigt werden
- beim LOADING können Daten partitioniert werden, es
können zusätzliche Indextabellen aufgebaut werden
- durch die großen Datenmengen ist der LOAD Prozeß sehr
langsam
Data Warehousing - Datenübernahme Seite 12
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- eine parallele Abarbeitung des LOAD Prozesses spielt
eine wichtige Rolle
- REFRESH: nach dem Laden muß sichergestellt werden,
daß die Daten regelmäßig aktualisiert werden und
das DW von alten Daten gesäubert wird
- schwieriger Aspekt beim Aktualisieren: alte Datentabellen
müssen gespeichert bleiben (diese werden oft ausgelagert)
- Informationen über die im DW gespeicherten Daten
befinden sich im System Katalog, dieser befindet sich in
einer separaten DB = „Metadata Repository“
Data Warehousing - OLAP Seite 13
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
4. Online Analytical Processing (OLAP)
- mit OLAP - Werkzeugen soll eine schnelle und gezielte
Entscheidungsfindung durch Methoden der Datenanalyse
erreicht werden
- diese Funktionen sollen möglichst vielen
Entscheidungsträgern zugänglich sein
- bei den Abfragen handelt es sich hauptsächlich um
„Group By“ und Aggregations Operationen
- Grundlage für OLAP ist das
„„Multidimensionale Datenmodell“Multidimensionale Datenmodell“
Data Warehousing - OLAP Seite 14
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- Ziel beim OLAP ist es, Daten in möglichst kurzer Zeit
verarbeiten zu können
dazu wurden verschiedene Technologien entwickelt
• ROLAP (Fat Clients & Thin Clients)
• MOLAP
• HOLAP
• DOLAP
Data Warehousing - OLAP Seite 15
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
4.1 Das multidimensionale Datenmodell
- Daten werden auf verschiedene Dimensionen abgebildet
8 10 10
30 20 50
25 8 15
1 2 3
timeid
locid
1112
13
pid
- Bsp.: Verkaufsdaten
3 Dimensionen:
• Produkt
• Ort
• Zeit
- für die Dimensionen werden
nur ID‘s verwendet,
mit denen die Daten in den
entsprechenden Tabellen
identifiziert werden können
Data Warehousing - OLAP Seite 16
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- es sind auch leicht mehr als 3 Dimensionen möglich
- jede Dimension kann Attribute haben
- Systeme, die ihre Daten in einem multidimensionalen Feld
speichern werden auch als „multidimensional OLAP“
= MOLAP bezeichnet
hierzu werden multidimensionale Datenbanksysteme
(MDBMS) genutzt
Data Warehousing - OLAP Seite 17
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- Nachteil: es wird viel Speicher benötigt, der Speicherbedarf
nimmt exponentiell mit Anzahl der Dimensionen zu,
es können nur kleine Datenmengen verarbeitet werden
( 20 GB), da sonst aufgrund der komplizierten Speicher-
struktur zu viel Zeit benötigt wird !
- werden alle Informationen als Relationen in Tabellen
gespeichert, spricht man von „relational OLAP“ = ROLAP
- für die Datenhaltung werden relationale Datenbanksysteme
(RDBMS) genutzt
Data Warehousing - OLAP Seite 18
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- es werden dabei die Attribute einer Dimension in einer
Hierarchie strukturiert,
z.B.: Dimension Ort
Staat
Bundesland
Stadt
Data Warehousing - OLAP Seite 19
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- die Information einer Dimension kann auch als Sammlung
von Beziehung dargestellt werden
Orte(locid:integer, stadt:string, bundesland:string, staat:string)
- um OLAP - typische multidimensionale Abfragen zu
realisieren, transformiert eine „ROLAP - Engine“ alle
Anfragen in effiziente SQL - Anfragen
- Problem : es können erhebliche Performanceeinbußen
durch JOIN - Anweisungen oder komplizierte Kalkulationen
von Kennzahlen entstehen
Data Warehousing - OLAP Seite 20
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- teilweise Abhilfe: Vorberechnung von Kennzahlen in
separaten Tabellen
ROLAP
Thin Client Fat Client
Die 2 Ansätze von ROLAP
Data Warehousing - OLAP Seite 21
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- Fat Client: die Transformation von Daten erfolgt auf dem
Client - Rechner, dieser hat zusätzlich folgende Aufgaben:
• Aufgaben der ROLAP-Engine
• Präsentation der Daten
• Berechnung von Kennzahlen
der Client benötigt eine hohe Prozessorleistung
sowie viel Speicher,
außerdem wird das Netzwerk stark belastet, da viele Daten
übertragen werden müssen
Data Warehousing - OLAP Seite 22
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- Thin Client: es werden Präsentation und ROLAP-Engine
voneinander getrennt
- Client hat „nur“ noch Präsentation als Aufgabe
- die ROLAP - Engine läuft auf einen oder mehreren (wenn
verteilt) Servern
Data Warehousing - OLAP Seite 23
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- beim „hybrid OLAP“ = HOLAP wird versucht, die
Vorteile von ROLAP und MOLAP zu verbinden
- häufig benötigte Daten werden in einem Datenwürfel
gespeichert, selten benötigte Daten werden nach wie vor
in einer relationalen Datenbank gespeichert
- Aufgabe des HOLAP ist es, eine transparente Abfrage
zu gewährleisten
Data Warehousing - OLAP Seite 24
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
4.2 Grundfunktionen von OLAP
- Ziel ist es, auch „Nicht - SQL - Experten“ ein möglichst
intuitives und leistungsfähiges Interface für
geschäftsorientierte Analysen bereit zu stellen
- zu den Grundfunktionen zählen:• Drill Down , Roll - Up• Pivoting• Slicing• Dicing• Expand , Collapse• Isolate• Elimintae
Data Warehousing - OLAP Seite 25
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- Drill Down: ermöglicht die Detaillierung der Dimensionen
bis zu ihrem kleinsten Element
Bsp.: Dimension Zeit: aktuelle Detailstufe ist
Jahre
nach Drill Down zeigt sie Quartale, ..., Tage,...
- Roll Up: Umkehrfunktion zu Drill Down
- Pivoting: ermöglicht das Zusammenfassen von Daten in
neuen Tabellen,
Bsp.: Pivoting der Orts- und Zeitdimension einer
Verkaufstabelle ergibt neue Tabelle mit den
Gesamtverkäufen für jeden Ort zu jedem Zeitpunkt
Data Warehousing - OLAP Seite 26
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- Slicing: Einschränken des Wertebereichs einer Dimension,
es können Dimensionen auch komplett ausgeblendet werden
Bsp.: es sollen nur die Jahre 1995-1998 auf der
Zeitachse betrachtet werden
- Dicing: die Anordnung der betrachteten Dimensionen
kann frei gewählt werden
Data Warehousing - OLAP Seite 27
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- Expand : ähnlich zu Drill Down, es wird allerdings nur
ein Eintrag einer Dimension geändert,
Bsp.: Dimension Zeit zeigt momentan Jahre
nach dem expandieren des Jahres 1996 werden die
Quartale dieses angezeigt, die Skalierung der
übrigen Zeitachse bleibt gleich
- Collapse : Umkehrfunktion zu Expand
Data Warehousing - OLAP Seite 28
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- Isolate : mit dieser Funktion können Teile einer Dimension
isoliert werden,
Bsp.: es soll nur das Jahr 1995 betrachtet werden
- Eliminate : diese Funktion entfernt Teile einer Dimension,
Bsp.: es wird das Jahr 1997 entfernt, da die Daten
dieses Jahres die Analyse verfälschen würde
Data Warehousing - OLAP Seite 29
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
4.3 Datenbankdesign für OLAP
- Anordnung von „fact tables“ um die „dimension table“
nennt man „star schema“
TIMES
PRODUCTS LOCATIONS
SALESpid
pid
timeid
timeid
locid
locid
sales
name category price city state country
date week month quarter year
Data Warehousing - OLAP Seite 30
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- dieses Schema findet oft Verwendung im Datenbankdesign
für OLAP - Systeme
- in den „fact tables“ werden die Daten gespeichert, dies ist
ohne Redundanz möglich
- um Größe der „fact tables“ zu minimieren, werden die
Dimension ID‘s vom System vergeben
- Daten über die Dimensionen werden im „dimension table“
gespeichert
- oft wird die Generierung von „summary tables“ unterstützt,
diese werden zusammen mit den „fact tables“ zur
Beantwortung von Abfragen genutzt
Data Warehousing - OLAP Seite 31
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- durch die Nutzung von „summary tables“ kann die
Antwortzeit verkleinert werden
- in heutigen OLAP - Systemen spielt die Entscheidung über
die in den „summary tables“ zusammenzufassenden Daten
eine entscheidende Rolle
sie ist einer der wichtigsten Designentscheidungen
- Ausblick: es werden ständig neue Datenstrukturen und
Indexierungsmethoden für OLAP entwickelt
Data Warehousing - OLAP Seite 32
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
4.4 Implementierungstechniken für OLAP
- durch den Bedarf nach möglichst schnellen Antwortzeiten
und durch sehr große Datenmengen werden geeignete
Indexierungsmethoden benötigt
- Bitmap Indexes:
• Werte mit wenigen möglichen Werten (z.B.: Boolean)
werden als Sparse bezeichnet
• solche Werte werden zur Konstruktion neuer, sehr
schneller Indexe genutzt
Data Warehousing - OLAP Seite 33
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
• die Idee ist, die Sparse - Werte als Bitsequenzen
zu speichern• mit diesen Bit-Werten werden Bit-Vektoren gebildet,
mehrere Bit-Vektoren bilden den „bitmap index“• es gibt 2 entscheidende Vorteile gegenüber
konventionellen Hash- und Tree Indexen• 1. Es können effiziente Bitoperationen zur
Beantwortung von Anfragen genutzt werden• 2. Sie können wesentlich kompakter als B+ Baum
Indexe sein und sie können sehr gut komprimiert
werden
Data Warehousing - OLAP Seite 34
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
Customers(custid:integer, name:string, gender:boolean, rating:integer)
custid name gender rating112 Joe M 3115 Ram M 5119 Sue F 5112 Woo M 4
M F1 01 00 11 0
1 2 3 4 50 0 1 0 00 0 0 0 10 0 0 0 10 0 0 1 0
Bitmap Indexes
Data Warehousing - OLAP Seite 35
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- Join Indexes:
• für sehr große Relationen ist die Berechnung von
Joins sehr aufwendig
• eine Möglichkeit, diese Art von Anfragen zu
beschleunigen, ist, einen speziellen „Join Index“ zu
schaffen
• Nachteil ist, daß die zahl der Indexe sehr schnell
steigen kann, wenn mehrere Zeilen in
„dimension tables“ selektiert und mit den
„fact tables“ zusammengeführt werden sollen
Data Warehousing - OLAP Seite 36
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
• bei jeder Join Operation müssen die Indexe
kombiniert werden• um dies effizient zu gestalten, können „bitmapped
indexe“ genutzt werden
es entstehen „bitmapped join indexe“
- File Organisation:• in OLAP Datenbanken werden die Daten meist lesend
genutzt• die File Organisation sollte darauf abgestimmt sein• 1. Ansatz: die Relationen werden zeilenweise
gespeichert, auch Spalten werden separat gespeichert
Data Warehousing - OLAP Seite 37
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
• 2. Ansatz: radikalere Methode - die „fact tables“ und
die Indexe werden als ein großes multidimensionales
Feld gespeichert
dieser Ansatz wird oft in MOLAP
verwendet
• da der Speicher meist kleiner als die Felder sind,
werden die Felder in Teilstücke zerlegt
• zusätzlich sollen B+ Bäume beim schnellen Finden
der Teilstücke helfen
Data Warehousing - OLAP Seite 38
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
- weitere Implementationsaspekte:
• die Nutzung von Kompressionsalgorithmen breitet
sich auch in DB‘s für OLAP immer mehr aus
• durch die riesigen Datenmengen und Indexstrukturen
(wie bitmap index) ist dies eine logische Konsequenz
• eine wichtige Rolle spielt die Entscheidung über die
vorzuberechnenden Views, um Anfragen
beschleunigen zu können
• diese Entscheidung muß immer noch vom
Datenbankdesigner übernommen werden
Data Warehousing - OLAP Seite 39
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
• außerdem werden von den Datenbankentwicklern
neue Optimierungsmöglichkeiten, sowie weitere
Abfragesprache - Verbesserungen entwickelt
Data Warehousing - Oracle Express Seite 40
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
5. Oracle Express
- Unterstützung von ROLAP, MOLAP, HOLAP
- Web - Unterstützung für OLAP
- Multi-threaded server
- Unterstützung des „multi-cube data model“
- 4GL support
- eingebaute Analysefunktionen z.B.: für Zukunftsprognosen,
Modellierung, „what-if“ Szenarios, ...
- Personal Express: auf Windows 9x und Windows NT 4.0
- Express Server: auf Windows NT 4.0 und UNIX
Data Warehousing - Quellenverzeichnis Seite 41
© 2000 by Daniel Schulte email: dschult@imn.htwk-leipzig.de
Quellenverzeichnis
- „Einsatzmöglichkeiten von OLAP- Werkzeugen für die Entwicklung
von internet-/ intranet- basierten Anwendungssystemen“
von E. Birkholz / Uni Leipzig
- „Das Datawarehouse als Basis von Management Support Systemen“
von Dr. W. Behme / Oracle Deutschland