Kein Folientitel

Werbung
Oberseminarvortrag zum Thema:
Data Warehousing
von Daniel Schulte
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - Inhaltsverzeichnis
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: [email protected]
Seite 2
Data Warehousing - Einleitung
Seite 3
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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - Einleitung
Seite 4
- 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 Datenbestände im Vordergrund
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - Leistungsmerkmale
Seite 5
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)
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - Leistungsmerkmale
Seite 6
Externe Datenquellen
Visualization
Extract
Clean
Transform
Load
Refresh
Metadata Repository
DW
OLAP
Operationale DB
Data Mining
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - Leistungsmerkmale
Seite 7
- 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“
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - Leistungsmerkmale
Seite 8
- „Data Marts“ werden häufig auf eine bestimmte Gruppe
von Endanwendern zugeschnitten
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - Datenübernahme
Seite 9
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)
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - Datenübernahme
Seite 10
- 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, ...
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - Datenübernahme
Seite 11
- 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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - Datenübernahme
Seite 12
- 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“
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 13
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“
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 14
- 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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 15
4.1 Das multidimensionale Datenmodell
- Daten werden auf verschiedene Dimensionen abgebildet
- Bsp.: Verkaufsdaten
3 Dimensionen:
12
11
pid
13
locid
• Produkt
• Ort
8
10
10
30
20
50
25
8
15
1
2
timeid
© 2000 by Daniel Schulte
3
• Zeit
- für die Dimensionen werden
nur ID‘s verwendet,
mit denen die Daten in den
entsprechenden Tabellen
identifiziert werden können
email: [email protected]
Data Warehousing - OLAP
Seite 16
- 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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 17
- 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 Speicherstruktur 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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 18
- es werden dabei die Attribute einer Dimension in einer
Hierarchie strukturiert,
z.B.: Dimension Ort
Staat
Bundesland
Stadt
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 19
- 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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 20
- teilweise Abhilfe: Vorberechnung von Kennzahlen in
separaten Tabellen
ROLAP
Thin Client
Fat Client
Die 2 Ansätze von ROLAP
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 21
- 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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 22
- 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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 23
- 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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 24
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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 25
- 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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 26
- 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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 27
- 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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 28
- 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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 29
4.3 Datenbankdesign für OLAP
- Anordnung von „fact tables“ um die „dimension table“
nennt man „star schema“
PRODUCTS
pid name category
price
pid
timeid
LOCATIONS
locid
city
timeid locid
date week
© 2000 by Daniel Schulte
month
sales
quarter
state
SALES
TIMES
year
email: [email protected]
country
Data Warehousing - OLAP
Seite 30
- 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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 31
- 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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 32
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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 33
• 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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 34
Customers(custid:integer, name:string, gender:boolean, rating:integer)
custid
112
115
119
112
M
1
1
0
1
F
0
0
1
0
name
Joe
Ram
Sue
Woo
gender
M
M
F
M
1
0
0
0
0
2
0
0
0
0
rating
3
5
5
4
3
1
0
0
0
4
0
0
0
1
Bitmap Indexes
© 2000 by Daniel Schulte
email: [email protected]
5
0
1
1
0
Data Warehousing - OLAP
Seite 35
- 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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 36
• 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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 37
• 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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 38
- 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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - OLAP
Seite 39
• außerdem werden von den Datenbankentwicklern
neue Optimierungsmöglichkeiten, sowie weitere
Abfragesprache - Verbesserungen entwickelt
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - Oracle Express
Seite 40
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
© 2000 by Daniel Schulte
email: [email protected]
Data Warehousing - Quellenverzeichnis
Seite 41
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
© 2000 by Daniel Schulte
email: [email protected]
Herunterladen