Data Warehousing Oberseminarvortrag zum Thema: © 2000 by Daniel Schulte email:...

Post on 05-Apr-2015

106 views 1 download

Transcript of Data Warehousing Oberseminarvortrag zum Thema: © 2000 by Daniel Schulte email:...

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