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



Ähnliche Dokumente
Datenbanksysteme 2 Frühjahr-/Sommersemester Mai 2014

Data Warehouses und Moderne Betriebliche Anwendungen von Datenbanksystemen

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

Data Warehousing. Sommersemester Ulf Leser Wissensmanagement in der Bioinformatik

Aufgabe 1: [Logische Modellierung]

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Data Warehouse Technologien

Data Warehouse Definition (1)

Veit Köppen Gunter Saake Kai-Uwe Sattler. 2. Auflage. Data Warehouse Technologien

Was ich als Bürgermeister für Lübbecke tun möchte

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

Fachhochschule Deggendorf Platzziffer:...

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

Informatik 12 Datenbanken SQL-Einführung

IV. Datenbankmanagement

Pivotieren. Themenblock: Anfragen auf dem Cube. Roll-up und Drill-down. Slicing und Dicing. Praktikum: Data Warehousing und Data Mining. Produkt.

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

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

C09: Einsatz SAP BW im Vergleich zur Best-of-Breed-Produktauswahl

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen

OLTP: Online Transaction Processing

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

1. Übungsblatt. Besprechung: (Gruppe A), 3.11 (Gruppe B)

boniup das BackOffice Einstiegsmöglichkeiten: Was be.findet sich im BackOffice? oder

Die Invaliden-Versicherung ändert sich

3.17 Zugriffskontrolle

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Geld Verdienen im Internet leicht gemacht

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

eevolution Business Intelligence Oliver Rzeniecki COMPRA GmbH Programmierer & Datenbankadministrator

Suchmaschinen. Universität Augsburg, Institut für Informatik SS 2014 Prof. Dr. W. Kießling 23. Mai 2014 Dr. M. Endres, F. Wenzel Lösungsblatt 6

Business Intelligence Praktikum 1

Kampagnenmanagement mit Siebel Marketing/Oracle BI ein Praxisbericht

Apache HBase. A BigTable Column Store on top of Hadoop

Urs Meier Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung

Data Mining-Modelle und -Algorithmen

SMART Newsletter Education Solutions April 2015

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation. 7 Key Features.

Zeichen bei Zahlen entschlüsseln

Business Intelligence Praktikum 1

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

Zinssicherung im B2B Markt April 2010

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

9 Auto. Rund um das Auto. Welche Wörter zum Thema Auto kennst du? Welches Wort passt? Lies die Definitionen und ordne zu.

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Anleitung Jahreswechsel

Aktuelle Entwicklungen

2.5.2 Primärschlüssel

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

3. GLIEDERUNG. Aufgabe:

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube Konstanz

Windows Server 2012 R2 Essentials & Hyper-V

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Abfrage-Befehle in MySQL -diverse Funktionen -

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Vorlesung Dokumentation und Datenbanken Klausur

SEMINAR Modifikation für die Nutzung des Community Builders

DAVID: und David vom Deutschlandlabor. Wir beantworten Fragen zu Deutschland und den Deutschen.

7. Übung - Datenbanken

Sortierte Folgen 250

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube Konstanz

Kapitalerhöhung - Verbuchung

1. Erstellung, aus einer Idee wird ein digitaler Bestandteil einer Website.

PostgreSQL in großen Installationen

Dow Jones am im 1-min Chat

Professionelle Seminare im Bereich MS-Office

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender FHNW, Services, ICT

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

HP Software Patch- und Version-Notification

Orderarten im Wertpapierhandel

Data Warehouse ??? Ein Data Warehouse ist keine von der Stange zu kaufende Standardsoftware, sondern immer eine unternehmensindividuelle

Der monatliche Tarif für ein Handy wurde als lineare Funktion der Form f(x) = k x + d modelliert (siehe Grafik).

Schulung Marketing Engine Thema : Einrichtung der App

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012)

Business Analytics im E-Commerce

Multicheck Schülerumfrage 2013

Begriff 1 Begriff 2 Datenbank 1

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Optimierung von Ausdrucken im SAP-Umfeld unter Einsatz von MS Office Funktionen

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

SUCHMASCHINENOPTIMIERUNG FÜR DEN INTERNETAUFTRITT

SQL Intensivpraktikum SS 2008

OPERATIONEN AUF EINER DATENBANK

Seminar im Sommersemester 2004 an der Universität Karlsruhe (TH)

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DB2 Kurzeinführung (Windows)

3 Richtlinienbasierte Verwaltung und Multi-Server- Administration

OP-LOG

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Transkript:

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

Wichtige Hinweise Zu diesem Thema gibt es eine Spezialvorlesung im Sommersemester Hier nur grober Überblick über Idee und einige Features Teaser für die Spezialvorlesung Literatur: Chaudhuri, Dayal: SIGMOD 1997

OLTP vs. OLAP OLTP Online Transaction Processing Viele kleine Transaktionen (Punktanfragen und UPDATE oder INSERT) Möglichst wenig Redundanz, Normalisierte Schemas Aktueller Datenbankzustand OLTP Beispiele: Flugbuchung Auftragsannahme, Rechnungswesen (Quelle, Telekom) Ziel: z.b. 6000 Transaktionen pro Sekunde

OLTP vs. OLAP OLAP Online Analytical Processing große, schwere Anfragen; keine Updates Redundanz notwendig (Matrialisierte Ergebnisse, besondere Indee, keine Normalisierung) Tages- oder Wochenaktualität ausreichend OLAP Beispiele Manager in einem Unternehmen Statistisches Bundesamt (Volkszählung) Analyse von Webtraces Ziel: Antwortzeit von wenigen Sekunden/Minuten

Konflikte Sperrkonflikte: OLAP behindert OLTP Datenbankentwurf: OLTP normalisiert, OLAP nicht Tuning, Optimierereinstellungen OLTP: inter-query Parallelität, möglichst kein Overhead bei Optimierung OLAP: inter-query Parallelität, bestmöglicher Plan notwendig Aktualität der Daten: OLAP braucht oft reproduzierbare Ergebnisse Präzision: Sampling oft ausreichend für OLAP, OLAP arbeitet mit verdichteten Daten

Lösung: Data Warehouse Eigene Spielwiese für OLAP Daten werden in den OLTP Systemen gesammelt Daten werden im Warehouse repliziert (verdichtet und in einem besonderen Layout) Neue Daten werden periodisch ans Warehouse propagiert Veraltete Daten werden im Warehouse gelöscht und von den OLTP Systemen archiviert

Architektur OLTP OLAP OLTP Anwendungen GUI, Spreadsheets DB1 DB2 DB3 Data Warehouse

Data Warehouse in der Prais Ersten industriellen Projekte seit ca. 1995 In den ersten Jahren sind 80 Prozent der Projekte gescheitert Inzwischen gibt es spezielle Produkte und bessere Projektplanung und Beratung Risikofaktoren: Datenintegration, schlechte Abbildung des Geschäftsmodells Kosten sind allerdings nach wie vor hoch (Warehouse kostet soviel wie OLTP System) Großer Wachstumsmarkt jeder macht es angeblich spart WalMart 20 Prozent der Kosten durch besseres Management mit einem DW

Produkte und Tools Oracle 8i, IBM UDB, Microsoft SQL Server,... Also jeder Datenbankanbieter SAP Business Information Warehouse MicroStrategy Armada von Data Mining Tools (z.b. IBM Intelligent Miner, Webmining Tools) Datenintegration, verteilte Datenbanken (IBM DataJoiner, IBM Replicator, CORBA,...)

Sternschema Dimensionstabelle (z.b. Filiale) Dimensionstabelle (z.b. Kunde) Dimensionstabelle (z.b. Zeit) Faktentabelle (z.b. Aufträge) Dimensionstabelle (z.b. Lieferant) Dimensionstabelle (z.b. Produkt)

Faktentabelle (Aufträge) 7.0 4 200 Köln... 20.12 Sarah 008 7.0 5 100 Köln... 13.11. Nobbi 007 14.0 2 300 Köln... 7.10. Thea 006 0.0 3 800 Mainz... 4.10. Karin 005 7.0 7 400 Mainz... 4.10. Heinz 004 7.0 1 700 Köln... 21.6. Heinz 003 14.0 1 500 Köln... 17.6. Ute 002 7.0 5 500 Mainz... 13.5. Heinz 001 TAX Anz Preis Filiale... Datum Kunde Nr.

Faktentabelle Aufbau: Schlüssel (z.b. Auftragsnummer) Fremdschlüssel zu allen Dimensionstabellen Kennzahlen (z.b. Preis, Anzahl,...) Speichern Bewegungsdaten Sind in der Regel sehr groß und normalisiert

Dimensionstabelle (Filiale) Bez. Leiter Stadt Region Land Telefon Mainz Helga Mainz Süd D 1422 Köln Vera Hürth Süd D 3311 Ist nicht normalisiert: Stadt -> Region -> Land hierdurch spart man sich Joins bei Anfragen Dimensionstabellen sind in der Regel sehr viel kleiner als Faktentabellen Dimensionstabellen speichern Stammdaten Attribute werden Merkmale genannt

Typische Anfragen SELECT d1., d2.y, d3.z, sum(f.z1), avg(f.z2) FROM Fakten f, Dim1 d1, Dim2 d2, Dim3 d3 WHERE a < d1.feld < b AND d2.feld = c AND Joinprädikate GROUP BY d1., d2.y, d3.z; Selektiere nach bestimmten Merkmalen z.b. Kunde ist weiblich Gruppiere nach Merkmalen z.b. Regionen oder Monaten oder Quartalen Wende Aggregatfunktion auf Kennzahlen an

Beispiel SELECT f.region, z.monat, sum(a.preis * f.anzahl) FROM Aufträge a, Zeit z, Filiale f WHERE a.filiale = f.bez AND a.datum = z.datum GROUP BY f.region AND z.monat Süd Nord Süd Nord Mai Juni Oktober Oktober 2500 1200 5200 600

Drill-Down und Roll-Up Hinzunahme eines Merkmals führt zu detaillierteren Ergebnissen (d.h. mehr Antworten) Wegnahme eines Merkmals führt zu gröberen, verdichteten Ergebnissen (d.h. weniger Antworten) GUIs erlauben Navigation durch Ergebnisse Drill-Down: mehr Detail Roll-Up: größere Verdichtung Navigation auch entlang einer Hierarchie möglich: Ort statt Region erhöht den Detailgrad

Visualisierung als Würfel Produkt alle Verkäufe nach Produkt und Jahr Jahr Bälle Netze Nord Süd alle alle 1999 2000 1998 Region

Moving Sums, ROLLUP Manchmal möchte man entlang einer Hierarchie gruppieren und Zwischensummen bilden Beispiel: Man gruppiert nach Land, Region, Ort Aber man möchte die Kennzahlen für ein gesamtes Land und für eine Region auch haben Hierzu dient der sogenannte ROLLUP Operator Vorsicht: Die Reihenfolge ist wichtig!!! Hintergrund: Spreadsheets können das sehr gut Das Ergebnis ist aber immernoch eine Tabelle (ROLLUP funktioniert auch rein relational)

Beispiel Rollup alla IBM UDB SELECT Land, Region Ort, sum(preis*anz) FROM Aufträge a, Filiale f WHERE a.filiale = f.bez GROUP BY ROLLUP(Land, Region, Ort) ORDER BY Land, Region, Ort; Funktioniert natürlich auch mit AVG etc. nicht nur SUM.

Ergebnis von ROLLUP D Nord Köln 1000 D Nord (null) 1000 D Süd Mainz 3000 D Süd München 200 D Süd (null) 3200 D (null) (null) 4200

Cube Operator Operator, um den kompletten Datenwürfel zu berechnen Ergebnis ist eine Relation mit (null) Werten SELECT produkt, jahr, region, sum(preis * anz) FROM Aufträge GROUP BY CUBE(produkt, jahr, region);

Ergebnis des Cube Operators Produkt Region Jahr Umsatz Netze Nord 1998... Bälle Nord 1998... (null) Nord 1998... Netze Süd 1998... Bälle Süd 1998... (null) Süd 1998... Netze (null) 1998... Bälle (null) 1998... (null) (null) 1998...

Visualisierung als Würfel Produkt alle Jahr Bälle Netze Nord Süd alle alle 1999 2000 1998 Region

Implementierung ROLAP Grundlage ein relationales System Spezielle Star-Join Techniken Bitmap Indee Partitionierung der Daten nach Zeit (zum Löschen) Materialisierte Sichten MOLAP spezielle Multidimensionale Systeme Implementierung des Würfels als Array Vorteil: potentiell schnell Problem: Das Array ist sehr dünn besetzt Religionskrieg (kommerziell nur ROLAP)

Materialisierte Sichten Man kann aus den Ergebnissen einer Anfrage manchmal sehr schnell andere Anfragen auswerten Prinzip: Subsumption Die Menge aller deutschen Forscher ist eine Teilmenge der Menge aller Forscher Besonders attraktiv für Gruppierungen

Materialisierte Sichten SELECT produkt, jahr, region, sum(preis * anz) FROM Aufträge GROUP BY produkt, jahr, region; GROUP BY product, jahr Materialisierte Sicht SELECT produkt, jahr, sum(preis * anz) FROM Aufträge GROUP BY produkt, jahr;

Berechnungsgraph des Cube {} {produkt} {jahr} {region} {produkt, jahr} {produkt, region} {jahr, region} {produkt, jahr, region}

Online Aggregation Schnell Abschätzungen bekommen Lösung verbessert sich mit der Laufzeit Basiert auf (unabhängige) Stichproben (Noch) keine kommerzielle Verbreitung SELECT kunde, avg(preis) FROM Aufträge GROUP BY kunde Kunde Heinz Ute Avg 1375 2000 +/- 5% 5% Conf 90% 90% Karin - - -

Ranking, Top N Gib mir die 10 Produkte, die sich im Jahr 2000 am besten verkauft haben (Synta: Carey, Kossmann 1997) SELECT z.product, sum(z.preis * z.anz) as umsatz FROM Aufträge a, Zeit z WHERE a.datum = z.datum AND z.jahr = 2000 ORDER BY umsatz DESC STOP AFTER 10;

Top N in Datenbankprodukten Microsoft SQL Server Separate set rowcount N Klausel Oracle rownum < N Prädikat in WHERE Klausel IBM UDB fetch first N rows only Fragen: Kann man den Rank auch ausgeben? Was passiert, wenn mehrere Produkte den gleichen Umsatz erzeugen?

Skyline Queries What happens if the user is interested in hotels which are cheap and near the lake that is, there is more than one target 1. Try: top N query with scoring function e.g., ORDER BY price * + distance * y how do you set, y? result contains many similar hotels 2. Try: Skyline query

Skyline Queries Return all incomparable hotels distance top 5 Skyline price

Skyline Suche billige Hotels nahe am Strand (Synta: Börszöny, Kossmann, Stocker 2001) SELECT * FROM Hotels h WHERE h.island = Bahamas SKYLINE OF price MIN, distance MIN;

Skyline of New York Suche Gebäude, die Hoch sind und nahe am Fluss und zwar für jeden Straßenzug separat. SELECT * FROM Buildings WHERE city = New York SKYLINE OF heigth MAX, distance MIN, street DIFF;

Data Mining Statische Auswertungen auf dem Datenbestand Ziel: Antworten zu bekommen, ohne dass man die Fragen stellen muss Verschiedene Arten und Anwendungen Association Rule Mining Clustering Outlyer (Fraud) Detection Eigener Markt für besondere Tools z.b. IBM Intelligent Miner

Association Rule Mining (Warenkorbanalyse) Wenn jemand Windeln kauft, dann kauft er auch Bier Confidence: In wieviel Prozent der Warenkörbe mit Bier liegen auch Windeln (typisch sind 50%) Support: In wieviel Prozent der Warenkörbe liegen Bier und Windeln (typisch sind 1%) Association Rule Mining: Finde alle Regeln bei gegebenem (minimalem) Confidence und Support Bedeutung: Angeblich hat durch diese Art von Analyse WalMart Bierdisplays bei den Windelregalen eingerichtet

Clustering Ziel: Klassifikation von Objekten Variante 1: Es gibt ein Klassifikationsschema Aufgabe: neue Objekte zu klassifizieren Variante 2: Es gibt kein Klassifikationsschema Aufgabe: Klassifikationsschema erstellen Anwendungen: Versicherungen, Genomentschlüsselung, Aktienanalyse,... Grundlegende Operation: Nearest Neighbor Search

Outlier Detection Finde Objekte, die nicht in das Klassifikationsschema passen Oder finde Objekte, die von der Norm abweichen Anwendungen: Erkennen von Attacken auf ein System (Analyse des Logs), Missbrauch von Telefonen (z.b. nach Handydiebstahl) Noch relativ offenes Forschungsgebiet