SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
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 Indexe, 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
                       Data Warehouse
             DB3
Data Warehouse in der Praxis
• 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                          Dimensionstabelle
  (z.B. Kunde)                                (z.B. Zeit)


                          Faktentabelle
                         (z.B. Aufträge)

                                           Dimensionstabelle
 Dimensionstabelle                           (z.B. Produkt)
  (z.B. Lieferant)
Faktentabelle (Aufträge)
Nr.    Kunde Datum ... Filiale Preis Anz TAX
 001    Heinz 13.5. ... Mainz 500      5   7.0
 002      Ute 17.6. ... Köln 500       1 14.0
 003    Heinz 21.6. ... Köln 700       1   7.0
 004    Heinz 4.10. ... Mainz 400      7   7.0
 005    Karin 4.10. ... Mainz 800      3   0.0
 006     Thea 7.10. ... Köln 300       2 14.0
 007   Nobbi 13.11. ... Köln 100       5   7.0
 008    Sarah 20.12 ... Köln 200       4   7.0
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.x, 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.x, 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         Mai               2500
     Nord        Juni              1200
     Süd         Oktober           5200
     Nord        Oktober            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
                                    Verkäufe
                                  nach Produkt
                                    und Jahr

                                         Jahr
 alle

Bälle
                                 alle
                               2000
Netze                       1999
                          1998            Region
        Nord Süd   alle
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




                                        Jahr
 alle

Bälle
                                 alle
                               2000
Netze                       1999
                          1998          Region
        Nord Süd   alle
Implementierung
• ROLAP – Grundlage ein relationales System
  –   Spezielle Star-Join Techniken
  –   Bitmap Indexe
  –   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                             Materialisierte
product, jahr                            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)
                           Kunde   Avg    +/-   Conf
FROM Aufträge              Heinz   1375   5%    90%
GROUP BY kunde             Ute     2000   5%    90%
                           Karin   -      -     -
Ranking, Top N
• Gib mir die 10 Produkte, die sich im Jahr
  2000 am besten verkauft haben
• (Syntax: 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 * x + distance * y
  – how do you set x, y?
  – result contains many similar hotels
• 2. Try: Skyline query
Skyline Queries
  • Return all incomparable hotels
distance
                    x                                     x
            x                                    x
                                x
     x              x
            x               x       x       x     x
                 x                                    x
                 x           x               x
                        x
                x                       x
    top 5                                                 x Skyline
                                                                      price
Skyline
• Suche billige Hotels nahe am Strand
• (Syntax: 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

Contenu connexe

En vedette

Tus Pertenencias
Tus PertenenciasTus Pertenencias
Tus Pertenencias
Jorge Llosa
 
EvaluacióN Economica Y Financiera
EvaluacióN Economica Y FinancieraEvaluacióN Economica Y Financiera
EvaluacióN Economica Y Financiera
sara
 
Randazzo reclamó el compromiso de los ferroviarios !!!!!ALI
 Randazzo reclamó el  compromiso de los  ferroviarios !!!!!ALI Randazzo reclamó el  compromiso de los  ferroviarios !!!!!ALI
Randazzo reclamó el compromiso de los ferroviarios !!!!!ALI
ali
 
La Modernizacion Peruana Y Alan Garcia
La Modernizacion Peruana Y  Alan  GarciaLa Modernizacion Peruana Y  Alan  Garcia
La Modernizacion Peruana Y Alan Garcia
raulwiener
 

En vedette (20)

Newsletter Pluss Care People Vol. 14
Newsletter Pluss Care People Vol. 14Newsletter Pluss Care People Vol. 14
Newsletter Pluss Care People Vol. 14
 
Tus Pertenencias
Tus PertenenciasTus Pertenencias
Tus Pertenencias
 
EvaluacióN Economica Y Financiera
EvaluacióN Economica Y FinancieraEvaluacióN Economica Y Financiera
EvaluacióN Economica Y Financiera
 
E-Bilanz mit Opti.Tax lösen
E-Bilanz mit Opti.Tax lösenE-Bilanz mit Opti.Tax lösen
E-Bilanz mit Opti.Tax lösen
 
Prinz
PrinzPrinz
Prinz
 
Anibal Cv
Anibal CvAnibal Cv
Anibal Cv
 
Manual de Intermediacion de Conflictos
Manual de Intermediacion de ConflictosManual de Intermediacion de Conflictos
Manual de Intermediacion de Conflictos
 
Tusabes
TusabesTusabes
Tusabes
 
Bernyanyi
BernyanyiBernyanyi
Bernyanyi
 
HSO Executive Business School
HSO Executive Business SchoolHSO Executive Business School
HSO Executive Business School
 
Deceto Lfc
Deceto LfcDeceto Lfc
Deceto Lfc
 
Genesis
GenesisGenesis
Genesis
 
Astronomia
AstronomiaAstronomia
Astronomia
 
El duomo
El duomoEl duomo
El duomo
 
Randazzo reclamó el compromiso de los ferroviarios !!!!!ALI
 Randazzo reclamó el  compromiso de los  ferroviarios !!!!!ALI Randazzo reclamó el  compromiso de los  ferroviarios !!!!!ALI
Randazzo reclamó el compromiso de los ferroviarios !!!!!ALI
 
Reporte vhdl7
Reporte vhdl7Reporte vhdl7
Reporte vhdl7
 
Der Schülerblog
Der SchülerblogDer Schülerblog
Der Schülerblog
 
La Modernizacion Peruana Y Alan Garcia
La Modernizacion Peruana Y  Alan  GarciaLa Modernizacion Peruana Y  Alan  Garcia
La Modernizacion Peruana Y Alan Garcia
 
2º s kwell
2º s kwell2º s kwell
2º s kwell
 
cuento sufi
cuento suficuento sufi
cuento sufi
 

Similaire à Folienc 101223094847-phpapp01

Vorstellung der Aufgabenstellung der lpa GmbH im Rahmen der Ringvorlesung
Vorstellung der Aufgabenstellung der lpa GmbH im Rahmen der RingvorlesungVorstellung der Aufgabenstellung der lpa GmbH im Rahmen der Ringvorlesung
Vorstellung der Aufgabenstellung der lpa GmbH im Rahmen der Ringvorlesung
Community ITmitte.de
 
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
panagenda
 

Similaire à Folienc 101223094847-phpapp01 (17)

Market Research Meets Business Intelligence
Market Research Meets Business IntelligenceMarket Research Meets Business Intelligence
Market Research Meets Business Intelligence
 
Webinar: Erfahrungsbericht - Nachfrageoptimierung mit SAP Predictive Analytics
Webinar: Erfahrungsbericht - Nachfrageoptimierung mit SAP Predictive AnalyticsWebinar: Erfahrungsbericht - Nachfrageoptimierung mit SAP Predictive Analytics
Webinar: Erfahrungsbericht - Nachfrageoptimierung mit SAP Predictive Analytics
 
Vorstellung der Aufgabenstellung der lpa GmbH im Rahmen der Ringvorlesung
Vorstellung der Aufgabenstellung der lpa GmbH im Rahmen der RingvorlesungVorstellung der Aufgabenstellung der lpa GmbH im Rahmen der Ringvorlesung
Vorstellung der Aufgabenstellung der lpa GmbH im Rahmen der Ringvorlesung
 
SkyBoard Inc.: Transition to SAP ERP
SkyBoard Inc.: Transition to SAP ERPSkyBoard Inc.: Transition to SAP ERP
SkyBoard Inc.: Transition to SAP ERP
 
MongoDB-Skalierung auf echter Hardware vs. Amazon EC2
MongoDB-Skalierung auf echter Hardware vs. Amazon EC2MongoDB-Skalierung auf echter Hardware vs. Amazon EC2
MongoDB-Skalierung auf echter Hardware vs. Amazon EC2
 
Data lake vs Data Warehouse: Hybrid Architectures
Data lake vs Data Warehouse: Hybrid ArchitecturesData lake vs Data Warehouse: Hybrid Architectures
Data lake vs Data Warehouse: Hybrid Architectures
 
Amazon Redshift
Amazon RedshiftAmazon Redshift
Amazon Redshift
 
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
 
Analytical cycle fallbeispiele max-con
Analytical cycle   fallbeispiele max-conAnalytical cycle   fallbeispiele max-con
Analytical cycle fallbeispiele max-con
 
Das Back to Basics – Webinar 1: Einführung in NoSQL
Das Back to Basics – Webinar 1: Einführung in NoSQLDas Back to Basics – Webinar 1: Einführung in NoSQL
Das Back to Basics – Webinar 1: Einführung in NoSQL
 
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015In Memory-Technologien im Vergleich - SQL Server Konferenz 2015
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015
 
Michael Wittig – IT-Tage 2015 – Datenbanken und Big Data: Datenbank am Limit ...
Michael Wittig – IT-Tage 2015 – Datenbanken und Big Data: Datenbank am Limit ...Michael Wittig – IT-Tage 2015 – Datenbanken und Big Data: Datenbank am Limit ...
Michael Wittig – IT-Tage 2015 – Datenbanken und Big Data: Datenbank am Limit ...
 
Agile Data Warehousing mit SAP BW/4HANA
Agile Data Warehousing mit SAP BW/4HANAAgile Data Warehousing mit SAP BW/4HANA
Agile Data Warehousing mit SAP BW/4HANA
 
Webinar - ABAP Releasenotes 7.53/7.54
Webinar - ABAP Releasenotes 7.53/7.54Webinar - ABAP Releasenotes 7.53/7.54
Webinar - ABAP Releasenotes 7.53/7.54
 
Salesforce einführen und mit SAP integrieren
Salesforce einführen und mit SAP integrierenSalesforce einführen und mit SAP integrieren
Salesforce einführen und mit SAP integrieren
 
Salesforce einführen und mit SAP integrieren. Schnell, zuverlässig und kosten...
Salesforce einführen und mit SAP integrieren. Schnell, zuverlässig und kosten...Salesforce einführen und mit SAP integrieren. Schnell, zuverlässig und kosten...
Salesforce einführen und mit SAP integrieren. Schnell, zuverlässig und kosten...
 
Asset-Management als Add-on oder Custom Object in SAP MDG
Asset-Management als Add-on oder Custom Object in SAP MDGAsset-Management als Add-on oder Custom Object in SAP MDG
Asset-Management als Add-on oder Custom Object in SAP MDG
 

Folienc 101223094847-phpapp01

  • 1. Data Warehousing Weitere Buzzwörter: OLAP, Decision Support, Data Mining
  • 2. 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
  • 3. 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
  • 4. OLTP vs. OLAP • OLAP – Online Analytical Processing – große, schwere Anfragen; keine Updates – Redundanz notwendig (Matrialisierte Ergebnisse, besondere Indexe, 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
  • 5. 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
  • 6. 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
  • 7. Architektur OLTP OLAP OLTP Anwendungen GUI, Spreadsheets DB1 DB2 Data Warehouse DB3
  • 8. Data Warehouse in der Praxis • 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
  • 9. 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, ...)
  • 10. Sternschema Dimensionstabelle (z.B. Filiale) Dimensionstabelle Dimensionstabelle (z.B. Kunde) (z.B. Zeit) Faktentabelle (z.B. Aufträge) Dimensionstabelle Dimensionstabelle (z.B. Produkt) (z.B. Lieferant)
  • 11. Faktentabelle (Aufträge) Nr. Kunde Datum ... Filiale Preis Anz TAX 001 Heinz 13.5. ... Mainz 500 5 7.0 002 Ute 17.6. ... Köln 500 1 14.0 003 Heinz 21.6. ... Köln 700 1 7.0 004 Heinz 4.10. ... Mainz 400 7 7.0 005 Karin 4.10. ... Mainz 800 3 0.0 006 Thea 7.10. ... Köln 300 2 14.0 007 Nobbi 13.11. ... Köln 100 5 7.0 008 Sarah 20.12 ... Köln 200 4 7.0
  • 12. 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
  • 13. 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
  • 14. Typische Anfragen SELECT d1.x, 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.x, 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
  • 15. 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 Mai 2500 Nord Juni 1200 Süd Oktober 5200 Nord Oktober 600
  • 16. 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
  • 17. Visualisierung als Würfel Produkt Verkäufe nach Produkt und Jahr Jahr alle Bälle alle 2000 Netze 1999 1998 Region Nord Süd alle
  • 18. 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)
  • 19. 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.
  • 20. 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
  • 21. 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);
  • 22. 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 ...
  • 23. Visualisierung als Würfel Produkt Jahr alle Bälle alle 2000 Netze 1999 1998 Region Nord Süd alle
  • 24. Implementierung • ROLAP – Grundlage ein relationales System – Spezielle Star-Join Techniken – Bitmap Indexe – 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)
  • 25. 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
  • 26. Materialisierte Sichten SELECT produkt, jahr, region, sum(preis * anz) FROM Aufträge GROUP BY produkt, jahr, region; GROUP BY Materialisierte product, jahr Sicht SELECT produkt, jahr, sum(preis * anz) FROM Aufträge GROUP BY produkt, jahr;
  • 27. Berechnungsgraph des Cube {} {produkt} {jahr} {region} {produkt, jahr} {produkt, region} {jahr, region} {produkt, jahr, region}
  • 28. 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) Kunde Avg +/- Conf FROM Aufträge Heinz 1375 5% 90% GROUP BY kunde Ute 2000 5% 90% Karin - - -
  • 29. Ranking, Top N • Gib mir die 10 Produkte, die sich im Jahr 2000 am besten verkauft haben • (Syntax: 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;
  • 30. 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?
  • 31. 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 * x + distance * y – how do you set x, y? – result contains many similar hotels • 2. Try: Skyline query
  • 32. Skyline Queries • Return all incomparable hotels distance x x x x x x x x x x x x x x x x x x x x top 5 x Skyline price
  • 33. Skyline • Suche billige Hotels nahe am Strand • (Syntax: Börszöny, Kossmann, Stocker 2001) SELECT * FROM Hotels h WHERE h.island = „Bahamas“ SKYLINE OF price MIN, distance MIN;
  • 34. 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;
  • 35. 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
  • 36. 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
  • 37. 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
  • 38. 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