Betriebliche Anwendungen



Ähnliche Dokumente
Data Warehouses und Moderne Betriebliche Anwendungen von Datenbanksystemen

OLTP: Online Transaction Processing

Kapitel 17: Date Warehouse

Betriebliche Anwendungen

Data Warehousing. Aufbau eines DWH OLAP <-> OLTP Datacube

Data Warehousing. Beispiel: : Amazon. Aufbau eines DWH OLAP <-> OLTP Datacube. FU-Berlin, DBS I 2006, Hinze / Scholz

Data Warehousing. Fragen des Marketingleiters. Beispiel: : Amazon. Technisch... Amazon weltweit... Datenbank. Aufbau eines DWH OLAP <-> OLTP Datacube

Operative vs. Informationelle Systeme. Informationelle Systeme. Informationelle Systeme. Moderne Betriebliche Anwendungen von Datenbanksystemen

Data Warehouse. Kapitel 17. Abbildung 17.1: Zusammenspiel zwischen OLTP und OLAP. Man unterscheidet zwei Arten von Datenbankanwendungen:

Data Warehouse. Kapitel 17. Abbildung 17.1: Zusammenspiel zwischen OLTP und OLAP. Man unterscheidet zwei Arten von Datenbankanwendungen:

5 Data Warehouses und Data Mining

Datenbanken Unit 9: OLAP, OLTP, Data Warehouse Ranking Algorithmen

Data Warehouse. Kapitel 16. Abbildung 16.1: Zusammenspiel zwischen OLTP und OLAP. Man unterscheidet zwei Arten von Datenbankanwendungen:

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken

Datenbanksysteme 2 Frühjahr-/Sommersemester Mai 2014

Objektorientierte Datenbanken

Vorlesung Wissensentdeckung in Datenbanken

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken

Data Cube. 1. Einführung. 2. Aggregation in SQL, GROUP BY. 3. Probleme mit GROUP BY. 4. Der Cube-Operator. 5. Implementierung des Data Cube

Datenbanken Unit 10: Ranking und Data Mining Erstellen und Ändern von Datenbanken

Datenbanken & Informationssysteme (WS 2016/2017)

Anfragen an multidimensionale Daten

SQL - Datenbankdesign - Aufbau

Mining über RDBMSe. von. Christian Widmer. Wie gut lässt sich Mining mit SQL realisieren?

Einführung relationale Datenbanken. Themenblock: Erstellung eines Cube. Schlüssel. Relationenmodell Relationenname Attribut. Problem.

Themenblock: Erstellung eines Cube

Summarization-based Aggregation

6.6 Vorlesung: Von OLAP zu Mining

Data Mining auf Datenströmen Andreas M. Weiner

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Wissensentdeckung in Datenbanken

Data Warehousing. Weitere Buzzwörter: OLAP, Decision Support, Data Mining

Repetitorium. Data Warehousing und Data Mining 11/12. Sebastian Wandelt 13./16. Februar 2012

Multidimensionale Modellierung

Data Warehousing Kapitel 3: Mehrdimensionale Datenmodellierung

6.2 Datenmodellierung

Datenbanken & Informationssysteme (WS 2015/2016)

Kapitel 6. Vorlesung: PD Dr. Peer Kröger

Nutzung der Oracle Database InMemory Option für SAP BW

Datenbanken Grundlagen und Design

Data Mining. Klassifikation. Assoziationsregeln. Clustering

Teil II: Architektur eines Data-Warehouse-Systems... 57

Data Mining und Maschinelles Lernen Lösungsvorschlag für das 12. Übungsblatt

Häufige Item-Mengen: die Schlüssel-Idee. Vorlesungsplan. Apriori Algorithmus. Methoden zur Verbessung der Effizienz von Apriori

Webbasierte Informationssysteme

Vorlesung Wissensentdeckung in Datenbanken

Data Warehousing. Ausführung von OLAP Operationen. Ulf Leser Wissensmanagement in der Bioinformatik

Datenbank Grundlagen. Performanceuntersuchungen

XML & Intelligente Systeme. - XQuery Teil 2 - Datamining auf XML Dokumenten

Konzeptbeschreibung Ziel: Methode: Vorgehen: Entfernen von Attributen Verallgemeinerung von Attributen Relevanzanalyse der restlichen Attribute

Kapitel 7 Grundlagen von Data

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

Informationsmaß. Konzeptbeschreibung. Beispiel für Konzept-Charakterisierung (1) Beispiel für Konzept-Charakterisierung (2)

Vertrautmachen mit Daten

Oracle 10g Einführung

INTELLIGENTE DATENANALYSE IN MATLAB. Unüberwachtes Lernen: Clustern von Attributen

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Maschinelles Lernen: Symbolische Ansätze

IT-basierte Kennzahlenanalyse im Versicherungswesen

ZWISCHEN ALBTRAUM UND OPTIMALER PERFORMANCE

Unüberwachtes Lernen: Clusteranalyse und Assoziationsregeln

1 Vorstellung Kursbeispiel

5. Assoziationsregeln

Maschinelles Lernen und Data Mining

S(tructured)Q(uery)L(anguage)

Indexe. Ein Index = eine Struktur auf Platte, die einer Tabelle oder Sicht zugeordent ist, um die Tupeln in der Tabelle oder Sicht schneller abzurufen

Data Mining. Informationssysteme, Sommersemester 2017

OLAP und Data Warehouses

Data Mining-Modelle und -Algorithmen

Grundlagen der Datenbanksysteme 2 (M-DB2) Dr. Karsten Tolle

Transkript:

Betriebliche Anwendungen OLTP Data Warehouse Data Mining OLTP: Online Transaction Processing Beispiele Flugbuchungssystem Bestellungen in einem Handelsunternehmen Charakterisierung Hoher Parallelitätsgrad Viele (Tausende pro Sekunde) kurze Transaktionen TAs bearbeiten nur ein kleines Datenvolumen mission-critical für das Unternehmen Hohe Verfügbarkeit muss gewährleistet sein Normalisierte Relationen (möglichst wenig Update-Kosten) Nur wenige Indexe (wegen Fortschreibungskosten) Kapitel 17 1 SAP R/: Enterprise Resource Modelling (ERP-System) Dreistufige Client/Server-Architektur ( Tier, SAP R/) WAN (Internet) sehr viele (Tausende) Clients Sehr schnelles LAN (z.b. FDDI) ein Datenbank- Server mehrere Applikations- Server zur Skalierung LAN langsame Netzverbindung (WAN, Internet, Telefon, ) Relationales DBMS als Backend-Server (Oracle, Informix, DB, MS SQL-Server, Adabas) 4

Interne Architektur von SAP R/ Transaktionsverarbeitung in SAP R/ Sperren anfordern Sperren freigeben Posting-Schritte Dialog-Schritte P1 P P P D1 D D Online-Phase Posting-Phase 5 6 Data Warehouse-Anwendungen: OLAP~Online Analytical Processing Wie hat sich die Auslastung der Transatlantikflüge über die letzten zwei Jahre entwickelt? Sammlung und periodische Auffrischung der Data Warehouse-Daten OLTP-Datenbanken und andere Datenquellen OLAP-Anfragen Decision Support Data Mining oder Wie haben sich besondere offensive Marketingstrategien für bestimmte Produktlinien auf die Verkaufszahlen ausgewirkt? Data Warehouse 7 8

Das Stern-Schema Stern-Schema bei Data Warehouse- Anwendungen Eine sehr große Faktentabelle Alle Verkäufe der letzten drei Jahre Alle Telefonate des letzten Jahres Alle Flugreservierungen der letzten fünf Jahre normalisiert Mehrere Dimensionstabellen Zeit Filialen Kunden Produkt Oft nicht normalisiert 9 10 Das Stern-Schema: Handelsunternehmen Kunden Produkte Das Stern-Schema: Krankenversicherung Patienten Ärzte Verkäufe Filialen Behandlungen Krankenhäuser Zeit Zeit Verkäufer Krankheiten 11 1

1 Stern-Schema 85 4711 1 147 Passau 5-Jul-00 Verkäufer Kunde Anzahl Produkt Filiale VerkDatum Verkäufe Faktentabelle (SEHR groß) Bayern D Passau Bezirk Land FilialenKennung Filialen 4 Kemper 4711 wiealt Name KundenNr Kunden Dimensionstabellen (relativ klein) 119 Elektronik Handyman 85 wiealt Manager Fachgebiet Name VerkäuferNr Verkäufer 14 Stern-Schema (cont d) Weihnachten Dienstag 5 4 001 1 18 18-Dec-01 Hochsommer Saison Dienstag Wochentag 0 000 7 5 5-Jul-00 KW Quartal Jahr Monat Tag Datum Zeit.... Siemens Telekom Mobiltelekom Handy 147.. Hersteller Produkthauptgruppe Produktgruppe Produkttyp ProduktNr Produkte 15 Nicht-normalisierte Dimensionstabellen: effizientere Anfrageauswertung Weihnachten Dienstag 5 4 001 1 18 18-Dec-01 Hochsommer Saison Dienstag Wochentag 0 000 7 5 5-Jul-00 KW Quartal Jahr Monat Tag Datum Zeit.... Siemens Telekom Mobiltelekom Handy 147.. Hersteller Produkthauptgruppe Produktgruppe Produkttyp ProduktNr Produkte Datum Monat Quartal ProduktNr Produkttyp Produktgruppe Produkthauptgruppe 16 Normalisierung führt zum Schneeflocken-Schema Produkthauptgruppen Produktgruppen Filialen Kunden Verkäufe Zeit Verkäufer Produkte Quartale KWs Produkttypen

Anfragen im Sternschema select sum(v.anzahl), p.hersteller Algebra-Ausdruck (Produkte) (Filialen) from Verkäufe v, Filialen f, Produkte p, Zeit z, Kunden k where z.saison = 'Weihnachten' and z.jahr = 001 and k.wiealt < 0 and p.produkttyp = 'Handy' and f.bezirk = 'Bayern' and Einschränkung der Dimensionen A Verkäufe A v.verkdatum = z.datum and v.produkt = p.produktnr and v.filiale = f.filialenkennung and v.kunde = k.kundennr A A group by p.hersteller; (Kunden) (Zeit) Join-Prädikate 17 18 Roll-up/Drill-down-Anfragen select 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; Roll-up 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; Drill-down Ultimative Verdichtung select sum(anzahl) from Verkäufe v, Produkte p where v.produkt = p.produktnr and p.produkttyp = 'Handy'; 19 0

Rollup Drill- Down 1 Flexible Auswertungsmethoden: slice and dice Regionen Produktgruppen Kunden Regionen Produktgruppen Regionen Produktgruppen Kunden Kunden Materialisierung von Aggregaten insert into HandyDCube ( 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' ); 4

Relationale Struktur der Datenwürfel Würfeldarstellung 5 6 Der cube-operator select 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); Wiederverwendung von Teil-Aggregaten insert 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 ); Wie kann die folgende Anfrage nun effizient beantwortet werden? 7 select v.produkt, v.filiale, sum(v.anzahl) from Verkäufe v group by v.produkt, v.filiale 8

Wiederverwendung von Teil-Aggregaten select v.produkt, v.filiale, sum(v.anzahl) from Verkäufe v group by v.produkt, v.filiale Wiederverwendung von Teil-Aggregaten 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 select v.produkt, v.filiale, sum(v.anzahl) from VerkäufeProduktFilialeJahr v group by v.produkt, v.filiale kann ähnlich mit VerkäufeProduktFilialeJahr rationalisiert werden. (Wie? gute Übung!) 9 0 Die Materialisierungs-Hierarchie { } Die Zeit-Hierarchie Jahr {Produkt} {Jahr} {Filiale} {Produkt, Jahr} {Produkt, Filiale} {Filiale, Jahr} Quartal Woche (KW) {Produkt, Filiale, Jahr} 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) 1 Tag Monat

Weitere Decision-Support Anfrage- Typen Top N-Anfragen Ich will nur die N besten Treffer erhalten und nicht alle 5 Millionen Muss bei der Anfrageoptimierung berücksichtigt werden Online Aggregation Man berechnet das Ergebnis approximativ Je länger die Anfrage läuft, desto genauer wird das Ergebnis Top N-Anfragen Select A.* From Angestellte A, Abteilungen abt Where A.Abteilung = abt.abteilungsnr and abt.ort = Passau Order by A.Gehalt Stop after 0 4 Online-Aggregation Select abt.ort, avg(a.gehalt) From Angestellte A, Abteilungen abt Where A.Abteilung = abt.abteilungsnr Group by abt.ort Data Mining Klassifikation Assoziationsregeln Clustering 5 6

Klassifikationsregeln Vorhersageattribute V1, V,, Vn Vorhergesagtes Attribut A Klassifikationsregel P1(V1) P(V) Pn(Vn) A = c Prädikate P1, P,.., Pn Konstante c Beispielregel (wiealt>5) (Geschlecht =`m ) (Autotyp=`Coupé ) (= hoch ) Klassifikations/Entscheidungsbaum hohes <=5 wiealt Geschlecht m >5 w Autotyp geringes Coupe Van 7 hohes geringes 8 Klassifikations/Entscheidungsbaum Klassifikations/Entscheidungsbaum Geschlecht Geschlecht m w m w wiealt geringes wiealt geringes <=5 >5 <=5 >5 hohes Autotyp hohes Autotyp Coupe Van Coupe Van hohes geringes 9 (wiealt>5) (Geschlecht =`m ) (Autotyp=`Coupé ) (= hoch ) hohes geringes 40

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 Rekursives Partitionieren Fange mit einem Attribut an und spalte die Tupelmenge Jede dieser Teilmengen wird rekursiv weiter partitioniert, bis nur noch gleichartige Objekte in der jeweiligen Partition sind 41 Top-Down Klassifikationsbaum-Aufbau Eingabe: Knoten n, Partition D, Zerlegungsmethode S Ausgabe: Klassifikationsbaum für D, Wurzel n BuildTree(n,D,S) Wende S auf D an und finde die richtige Zerlegung Wenn eine gute Partitionierung gefunden ist Kreiere zwei Kinder n1 und n Partitioniere D in D1 und D BuildTree(n1,D1,S) BuildTree(n,D,S) 4 Assoziationsregeln Beispielregel Wenn jemand einen PC kauft, dann kauft er/sie auch einen Drucker. Konfidenz Dieser 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 Konfidenz 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. Support Dieser 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. 4 VerkaufsTransaktionen TransID Produkt 111 Drucker 111 Papier 111 PC 111 Toner PC Scanner Drucker Papier Toner 444 Drucker 444 PC 555 Drucker 555 Papier 555 PC 555 Scanner 555 Toner Verkaufstransaktionen Warenkörbe Finde alle Assoziationsregeln L R mit einem Support größer als minsupp und einer Konfidenz von mindestens minconf Dazu sucht man zunächst die sogenannten frequent itemsets, also Produktmengen, die in mindestens minsupp der Einkaufswägen/ Transaktionen enthalten sind Der A Priori-Algorithmus basiert auf der Erkenntnis, dass alle Teilmengen eines FI auch FIs sein müssen 44

A Priori Algorithmus für alle Produkte überprüfe ob es ein frequent itemset ist, also in mindestens minsupp Einkaufswägen enthalten ist k:=1 iteriere solange für jeden frequent itemset I k mit k Produkten generiere alle itemsets I k+1 mit k+1 Produkten und I k I k+1 lies alle Einkäufe einmal (sequentieller Scan auf der Datenbank) und überprüfe, welche der (k+1)-elementigen itemset- Kandidaten mindestens minsupp mal vorkommen k:=k+1 bis keine neuen frequent itemsets gefunden werden 45 VerkaufsTransaktionen TransID Produkt 111 Drucker 111 Papier 111 PC 111 Toner PC Scanner Drucker Papier Toner 444 Drucker 444 PC 555 Drucker 555 Papier 555 PC 555 Scanner 555 Toner A Priori-Algorithmus Minsupp= Zwischenergebnisse FI-Kandidat Anzahl {Drucker} 4 {Papier} {PC} 4 {Scanner} {Toner} Disqualifiziert {Drucker, Papier} {Drucker, PC} {Drucker, Scanner} {Drucker, Toner} {Papier, PC} {Papier, Scanner} {Papier, Toner} {PC, Scanner} {PC,Toner} {Scanner, Toner} 46 VerkaufsTransaktionen TransID Produkt 111 Drucker 111 Papier 111 PC 111 Toner PC Scanner Drucker Papier Toner 444 Drucker 444 PC 555 Drucker 555 Papier 555 PC 555 Scanner 555 Toner A Priori-Algorithmus Zwischenergebnisse FI-Kandidat {Drucker, Papier} {Drucker, PC} {Drucker, Scanner} {Drucker, Toner} {Papier, PC} {Papier, Scanner} {Papier, Toner} {PC, Scanner} {PC,Toner} {Scanner, Toner} {Drucker, Papier, PC} {Drucker, Papier, Toner} {Drucker, PC, Toner} {Papier, PC, Toner} Anzahl 47 Ableitung von Assoziationsregeln aus den frequent itemsets Betrachte jeden FI mit hinreichend viel support Bilde alle nicht-leeren Teilmengen L FI und untersuche die Regel L FI L Die Konfidenz dieser Regel berechnet sich als Konfidenz(L FI L) = support(fi) / support(l) Wenn die Konfidenz ausreicht, also größer minconf ist, behalte diese Regel Betrachte FI = {Drucker, Papier, Toner} Support = Regel: {Drucker} {Papier, Toner} Konfidenz = S({Drucker, Papier, Toner}) / S({Drucker}) = (/5) / (4/5) = ¾ = 75 % 48

Erhöhung der Konfidenz Vergrößern der linken Seite (dadurch Verkleinern der rechten Seite) führt zur Erhöhung der Konfidenz Formal: L L +, R R - Konfidenz(L R) <= C(L + R - ) Clustering Schadenshöhe Outlier Beispiel-Regel: {Drucker} {Papier, Toner} Konfidenz = S({Drucker, Papier, Toner}) / S({Drucker}) = (/5) / (4/5) = ¾ = 75% Beispiel-Regel: {Drucker,Papier} {Toner} Konf. = S({Drucker, Papier, Toner}) / S({Drucker,Papier}) = (/5) / (/5) = 1 = 100% Alter der Fahrer 49 50 Clustering-Algorithmus Greedy Heuristik Lese sequentiell alle Datensätze Für den nächsten Datensatz r bestimme Für alle bisher existierenden Cluster denjenigen c, dessen Zentrum den kürzesten Abstand zu r hat Wenn distance(r,center(c)) <= epsilon Füger r in c ein Anderenfalls lege einen neuen Cluster c` an, der zunächst nur r enthält Beispiel-System: Microsoft SQL Server 000 Analysis Services CREATE MINING MODEL [MemberCards] ( [customer Id] LONG KEY, [Yearly Income] TEXT DISCRETE, [Member Card Type] TEXT DISCRETE PREDICT, [Marital Status] TEXT DISCRETE ) USING Microsoft_Decision_Trees Funktioniert solange ganz gut, wie die Cluster in den Hauptspeicher passen 51 5