1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger...

40
1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining

Transcript of 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger...

Page 1: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

1

Moderne Betriebliche Anwendungen von Datenbanksystemen

Online Transaction Processing (bisheriger Fokus)

Data Warehouse-Anwendungen

Data Mining

Page 2: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 2

OLTP: Online Transaction Processing Beispiele

FlugbuchungssystemBestellungen in einem Handelsunternehmen

CharakterisierungHoher ParallelitätsgradViele (Tausende pro Sekunde) kurze TransaktionenTAs bearbeiten nur ein kleines Datenvolumen„mission-critical“ für das UnternehmenHohe Verfügbarkeit muss gewährleistet sein

Normalisierte Relationen (möglichst wenig Update-Kosten)

Nur wenige Indexe (wegen Fortschreibungskosten)

Page 3: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 3

Enterprise Resource Modelling (ERP-System, z.B. SAP)

Relationales DBMS als Backend-Server(Oracle, Informix, DB2, MS SQL-Server, Adabas)

LAN

WAN (Internet)

Page 4: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 4

Sehr schnelles LAN(z.B. FDDI)

ein Datenbank-Server

mehrereApplikations-

Serverzur Skalierung

„langsame“Netzverbindung

(WAN, Internet, Telefon, ...)

sehr viele(Tausende)

Clients

Dreistufige Client/Server-Architektur (3 Tier)

Page 5: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 5

Data Warehouse-Anwendungen:OLAP~Online Analytical Processing

Wie hat sich die Auslastung der Transatlantikflüge über die letzten zwei Jahre entwickelt?

oder

Wie haben sich besondere offensive Marketingstrategien für bestimmte Produktlinien auf die Verkaufszahlen ausgewirkt?

Page 6: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 6

Sammlung und periodische Auffrischung der Data Warehouse-Daten

Data Warehouse

OLTP-Datenbankenund andere Datenquellen

OLAP-AnfragenDecision Support

Data Mining

Page 7: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 7

Das Stern-Schema

Page 8: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 8

Stern-Schema bei Data Warehouse-Anwendungen Eine sehr große Faktentabelle

Alle Verkäufe der letzten drei JahreAlle Telefonate des letzten JahresAlle Flugreservierungen der letzten fünf Jahrenormalisiert

Mehrere DimensionstabellenZeitFilialenKundenProduktOft nicht normalisiert

Page 9: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 9

Das Stern-Schema: Handelsunternehmen

Verkäufe

Zeit

Verkäufer

ProdukteKunden

Filialen

Page 10: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 10

Das Stern-Schema: Krankenversicherung

Behandlungen

Zeit

Krankheiten

ÄrztePatienten

Krankenhäuser

Page 11: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 11

Stern-SchemaVerkäufe

VerkDatum

Filiale Produkt Anzahl Kunde Verkäufer

25-Jul-00 Passau 1347 1 4711 825... ... ... ... ... ...

FilialenFilialenKennung

Land Bezirk ...

Passau D Bayern

...

... ... ... ...

KundenKundenNr

Name wieAlt ...

4711 Kemper

43 ...

... ... ... ...

VerkäuferVerkäuferNr

Name Fachgebiet

Manager wieAlt ...

825 Handyman

Elektronik 119 23 ...

... ... ... ... ... ...

Faktentabelle (SEHR groß)

Dimensionstabellen (relativ klein)

Page 12: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 12

Stern-Schema (cont‘d)

ZeitDatum Tag Monat Jahr Quarta

lKW Wochenta

gSaison

25-Jul-00 25 7 2000

3 30 Dienstag Hochsommer

... ... ... ... ... ...

18-Dec-01

18 12 2001

4 52 Dienstag Weihnachten

... ... ... ... ... ... ... ...ProdukteProduktNr

Produkttyp Produktgruppe

Produkthauptgruppe

Hersteller

..

1347 Handy Mobiltelekom

Telekom Siemens ..

... ... ... ... ... ..

Page 13: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 13

Nicht-normalisierte Dimensionstabellen: effizientere Anfrageauswertung

ZeitDatum Tag Monat Jahr Quarta

lKW Wochenta

gSaison

25-Jul-00 25 7 2000

3 30 Dienstag Hochsommer

... ... ... ... ... ...

18-Dec-01

18 12 2001

4 52 Dienstag Weihnachten

... ... ... ... ... ... ... ...

ProdukteProduktNr

Produkttyp Produktgruppe

Produkthauptgruppe

Hersteller

..

1347 Handy Mobiltelekom

Telekom Siemens ..

... ... ... ... ... ..

Datum Monat Quartal

ProduktNr Produkttyp Produktgruppe Produkthauptgruppe

Page 14: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 14

Normalisierung führt zum Schneeflocken-Schema

Verkäufe

ZeitVerkäufer

Produkte

KundenFilialen

Quartale

KWs

Produkttypen

Produktgruppen

Produkthaupt-gruppen

Page 15: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 15

Anfragen im Sternschema

select sum(v.Anzahl), p.Hersteller

from Verkäufe v, Filialen f, Produkte p, Zeit z, Kunden k

where z.Saison = 'Weihnachten' and

z.Jahr = 2001 and k.wieAlt < 30 and

p.Produkttyp = 'Handy' and f.Bezirk = 'Bayern' and

v.VerkDatum = z.Datum and v.Produkt = p.ProduktNr and

v.Filiale = f.FilialenKennung and v.Kunde = k.KundenNr

group by p.Hersteller;

Einschränkungder Dimensionen

Join-Prädikate

Page 16: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 16

Algebra-Ausdruck

Verkäufe

...(Filialen)

...(Zeit)...(Kunden)

...(Produkte)

A A A

A

Page 17: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 17

Roll-up/Drill-down-Anfragenselect Jahr, Hersteller, sum(Anzahl)

from Verkäufe v, Produkte p, Zeit z

where v.Produkt = p.ProduktNr and v.VerkDatum = z.Datum

and p.Produkttyp = 'Handy'

group by p.Hersteller, z.Jahr;

select Jahr, sum(Anzahl)

from Verkäufe v, Produkte p, Zeit z

where v.Produkt = p.ProduktNr and v.VerkDatum = z.Datum

and p.Produkttyp = 'Handy'

group by z.Jahr;

Roll-up

Drill-down

Page 18: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 18

Ultimative Verdichtung

select sum(Anzahl)

from Verkäufe v, Produkte p

where v.Produkt = p.ProduktNr and p.Produkttyp = 'Handy';

Page 19: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 19

Page 20: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 20

Rol

l-up

Drill-

Dow

n

Page 21: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 21

Flexible Auswertungsmethoden: slice and dice

Produktgruppen

Regionen

Kunde

n

ProduktgruppenR

egionen

Kunde

n

Produktgruppen

Regionen

Kunde

n

Page 22: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 22

Materialisierung von Aggregaten

insert into Handy2DCube ( select p.Hersteller, z.Jahr, sum(v.Anzahl) from Verkäufe v, Produkte p, Zeit z where v.Produkt = p.ProduktNr and p.Produkttyp = 'Handy' and v.VerkDatum = z.Datum group by z.Jahr, p.Hersteller ) union( select p.Hersteller, to_number(null), sum(v.Anzahl) from Verkäufe v, Produkte p where v.Produkt = p.ProduktNr and p.Produkttyp = 'Handy' group by p.Hersteller ) union( select null, z.Jahr, sum(v.Anzahl) from Verkäufe v, Produkte p, Zeit z where v.Produkt = p.ProduktNr and p.Produkttyp = 'Handy' and v.VerkDatum = z.Datum group by z.Jahr ) union( select null, to_number(null), sum(v.Anzahl) from Verkäufe v, Produkte p where v.Produkt = p.ProduktNr and p.Produkttyp = 'Handy' );

Page 23: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 23

Relationale Struktur der Datenwürfel

Page 24: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 24

Würfeldarstellung

Page 25: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 25

Der cube-Operatorselect p.Hersteller, z.Jahr, f.Land, sum(v.Anzahl)

from Verkäufe v, Produkte p, Zeit z, Filialen f

where v.Produkt = p.ProduktNr and p.Produkttyp = 'Handy'

and v.VerkDatum = z.Datum and v.Filiale = f.Filialenkennung

group by cube (z.Jahr, p.Hersteller, f.Land);

Page 26: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 26

Wiederverwendung von Teil-Aggregateninsert into VerkäufeProduktFilialeJahr

( select v.Produkt, v.Filiale, z.Jahr, sum(v.Anzahl)

from Verkäufe v, Zeit z

where v.VerkDatum = z.Datum

group by v.Produkt, v.Filiale, z.Jahr );

select v.Produkt, v.Filiale, sum(v.Anzahl)

from Verkäufe v

group by v.Produkt, v.Filiale

Page 27: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 27

Wiederverwendung von Teil-Aggregatenselect v.Produkt, v.Filiale, sum(v.Anzahl)

from VerkäufeProduktFilialeJahr v

group by v.Produkt, v.Filiale

select v.Produkt, z.Jahr, sum(v.Anzahl)

from Verkäufe v, Zeit z

where v.VerkDatum = z.Datum

group by v.Produkt, z.Jahr

Page 28: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 28

Die Materialisierungs-Hierarchie

Teilaggregate T sind für eine Aggregation A wiederverwendbar wenn es einen gerichteten Pfad von T nach A gibt

Also T ...... A Man nennt diese Materialisierungshierarchie auch einen

Verband (Engl. Lattice)

{Produkt, Jahr}

{Produkt}

{Filiale, Jahr}

{ }

{Produkt, Filiale}

{Produkt, Filiale, Jahr}

{Jahr} {Filiale}

Page 29: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 29

Die Zeit-Hierarchie

Tag

Woche (KW)

Monat

Quartal

Jahr

Page 30: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 30

Bitmap-Indexe (zusätzliche Zugriffsstruktur)

Optimierung durch Komprimierung der Bitmaps Ausnutzung der dünnen Besetzung

Runlength-compression Grundidee: speichere jeweils die Länge der Nullfolgen zwischen

zwei Einsen Mehrmodus-Komprimierung:

bei langen Null/Einsfolgen speichere deren Länge Sonst speichere das Bitmuster

Page 31: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 31

Beispiel-Anfrage und Auswertung

Page 32: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 32

Bitmap-Operationen

Page 33: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

33

Data Mining

Klassifikation

Assoziationsregeln

Clustering

Page 34: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 34

Klassifikationsregeln Vorhersageattribute

V1, V2, ..., Vn Vorhergesagtes Attribut A Klassifikationsregel

P1(V1) P2(V2) ... Pn(Vn) A = cPrädikate P1, P2, .., PnKonstante c

Beispielregel

(wieAlt>35) (Geschlecht =`m´) (Autotyp=`Coupé´) (Risiko=´hoch´)

Page 35: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 35

Klassifikations/Entscheidungsbaum

Geschlecht

wiealt

Autotyp

geringesRisiko

m

>35

w

<=35

hohesRisiko

geringesRisiko

hohesRisiko

Coupe Van

Page 36: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 36

Klassifikations/Entscheidungsbaum

Geschlecht

wiealt

Autotyp

geringesRisiko

m

>35

w

<=35

hohesRisiko

geringesRisiko

hohesRisiko

Coupe Van

Page 37: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 37

Klassifikations/Entscheidungsbaum

Geschlecht

wiealt

Autotyp

geringesRisiko

m

>35

w

<=35

hohesRisiko

geringesRisiko

hohesRisiko

Coupe Van

(wieAlt>35) (Geschlecht =`m´) (Autotyp=`Coupé´) (Risiko=´hoch´)

Page 38: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 38

Wie werden Entscheidungs/ Klassifikationsbäume erstellt Trainingsmenge

Große Zahl von Datensätzen, die in der Vergangenheit gesammelt wurden

Sie dient als Grundlage für die Vorhersage von „neu ankommenden“ Objekten

Beispiel: neuer Versicherungskunde wird gemäß dem Verhalten seiner „Artgenossen“ eingestuft

Page 39: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 39

Assoziationsregeln Beispielregel

Wenn jemand einen PC kauft, dann kauft er/sie auch einen Drucker

ConfidenceDieser Wert legt fest, bei welchem Prozentsatz der

Datenmenge, bei der die Voraussetzung (linke Seite) erfüllt ist, die Regel (rechte Seite) auch erfüllt ist.

Eine Confidence von 80% für unsere Beispielregel sagt aus, dass vier Fünftel der Leute, die einen PC gekauft haben, auch einen Drucker dazu gekauft haben.

SupportDieser Wert legt fest, wieviele Datensätze überhaupt

gefunden wurden, um die Gültigkeit der Regel zu verifizieren.

Bei einem Support von 1% wäre also jeder Hundertste Verkauf ein PC zusammen mit einem Drucker.

Page 40: 1 Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing (bisheriger Fokus) Data Warehouse-Anwendungen Data Mining.

© A. Kemper / A. Eickler 40

Clustering

Alter der Fahrer

Schadens-höhe Outlier