Speichern und Lesen von Daten im Data Warehouse

Slides:



Advertisements
Ähnliche Präsentationen
ER-Datenmodell und Abfragen in SQL
Advertisements

Projekt: Datenbankentwurf
Data Cubes PG Wissensmangement Seminarphase Hanna Köpcke Lehrstuhl für Künstliche Intelligenz Universität Dortmund.
Data Warehouses und Data Mining
Moderne Betriebliche Anwendungen von Datenbanksystemen
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/9 Data Mining Ist die Wissensgewinnung aus Datensammlungen (Knowledge Discovery in Database).
SQL als Abfragesprache
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
OLAP. © T. Kudraß, HTWK Leipzig Warum? Daten einer Firma verfügbar machen für Entscheidungsprozesse – Umsetzung schwierig neue Konzepte notwendig zur.
Prof. Dr. T. Kudraß1 Datenbanken zur Entscheidungsunterstützung - Data Warehousing.
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
Der letzte Schliff für Abfragen Übersicht über die Aggregatfunktionen.
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
Beispielrelation Buchbestellungen H = Menge der bedeutenden Ziele = {a, d} Schwelle T = 4 Stichprobe S = {a, b, a, a, a, a} mit s = |S| = 6 N = Anzahl.
Abfragen – Tipps und Tricks Buch S102ff (Informatik I, Oldenbourg-Verlag) Nach einer Vorlage von Dieter Bergmann.
SQL in Visual FoxPro. © 1999 TMN-Systemberatung GmbH SQL Historie n SQL - Structured Query Language n In den 70er Jahren von IBM entwickelt n 1986 zum.
Daten sammeln aus Verschiedenen Datenbanken Dokumenten Dateien
Moderne Betriebliche Anwendungen von Datenbanksystemen
Datenbankentwicklung IV-LK
Erstellen einer Webseitenstatistik mithilfe eines OLAP-Servers
Problemstellung Heterogene DV-Strukturen Mangelnde Kapazität in der EDV-Abteilung Historische Daten nicht verfügbar Analysen belasten die vorhandene Infrastruktur.
SQL Überblick Abfragen aus einer Tabelle
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
Vorlesung #4 SQL (Teil 1).
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #8 Anfragebearbeitung.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen.
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #9 Anfragebearbeitung.
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung (Teil 1)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Data Warehouse: ETL-Praktikum
Befehle in SQL Erläuterungen.
Datenbanksysteme für hörer anderer Fachrichtungen
Einführung in Datenbankmodellierung und SQL
1 Gruppierung, Aggregierung und Sortierung (2) Abarbeitungsmodell bei Gruppierung: Werte from- und where-Klauseln aus wie bisher (Bildung von Kreuzprodukt.
00:13 Matthias Ansorg FH Gießen-Friedberg1 / 24 Multidimensionale Datenstrukturen - semantische und logische Modellierung Teilvortrag: logische Modellierung.
Betriebliche Anwendung von Datenbanksystemen: Data Warehouse
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung.
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
Aggregatsfunktion mit Group by und having SQL = Structured Query Language.
Verdichten von Daten mit Gruppenfunktionen
Datenbanksysteme II Vorlesung WS 2006 / 2007 Paul Manthey
Naturwissenschaftlich-technologische Ausbildungsrichtung in der 8., 9. und 10. Jahrgangsstufe.
Structured Query Language
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #3 Anfragebearbeitung (Teil 1)
Vorlesung #5 SQL (Teil 2).
Big Data Top-k / Ranking / Skyline Semantic Web: RDF Information Retrieval PageRank / HITS Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to.
RelationentheorieObjektorientierte Datenbanken  AIFB SS Anfragen auf Sammlungen(1/29) OQL besteht aus einer Menge von Anfrageausdrücken, die.
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #10 RDBMS Erweiterungen.
Nachtrag Abgrenzung OLAP / OLTP
Anfragen an multidimensonale Daten
Vorlesung Datenbanksysteme vom Anfragebearbeitung  Logische Optimierung.
Vorlesung Datenbanksysteme vom : Wiederholung Anfragebearbeitung  Logische Optimierung.
Datenbank für Skriptenverkauf
1 StatiX: Making XML Count J.Freire, J.R.Haritsa, M.Ramanath, P.Roy, J.Siméon: StatiX: Making XML Count ACM SIGMOD, June 2002 Ann Früchtl
Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing Betriebswirtschaftliche Standard- Software (SAP R/3) Data Warehouse-Anwendungen.
/Folie 1Holger Frietsch Historisierung von Zuordnungsänderungen für Dimensionen in relationalen ORACLE8-Data Warehouse- Datenbanken Holger Frietsch.
Data Warehouses und Moderne Betriebliche Anwendungen von Datenbanksystemen Online Transaction Processing Betriebswirtschaftliche Standard- Software (SAP.
DOAG SID Data Warehouse
Abfragen Wiederholung Manuel Friedrich Schiller-Gymnasium Hof.
Multidimensionale Datenbanken
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Vorlesung #5 SQL (Teil 2).
Wirtschaftsinformatik
Beispiele zur Datenänderung
Indexierung Oracle: indexes Indexierung.
Moderne Betriebliche Anwendungen von Datenbanksystemen
Nutzung und Modellierung von Datenbanken
(Structured Query Language)
 Präsentation transkript:

Speichern und Lesen von Daten im Data Warehouse Stern-Schema Daten-Würfel Anfragen Optimierung des Zugriffs

Das Stern-Schema: Handelsunternehmen Produkte Kunden Dimensionstabellen Filialen Verkäufe Faktentabelle Zeit Verkäufer Data Warehouses

Das Stern-Schema Data Warehouses

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 Data Warehouses

Das Stern-Schema: Krankenversicherung Patienten Ärzte Krankenhäuser Behandlungen Zeit Krankheiten Data Warehouses

Stern-Schema Faktentabelle (SEHR groß) Verkäufe VerkDatum Filiale Produkt Anzahl Kunde Verkäufer 25-Jul-00 Passau 1347 1 4711 825 ... Faktentabelle (SEHR groß) Filialen FilialenKennung Land Bezirk ... Passau D Bayern Kunden KundenNr Name wieAlt ... 4711 Kemper 43 Dimensionstabellen (relativ klein) Verkäufer VerkäuferNr Name Fachgebiet Manager wieAlt ... 825 Handyman Elektronik 119 23 Data Warehouses

Stern-Schema (cont‘d) Zeit Datum Tag Monat Jahr Quartal KW Wochentag Saison 25-Jul-00 25 7 2000 3 30 Dienstag Hochsommer ... 18-Dec-01 18 12 2001 4 52 Weihnachten Produkte ProduktNr Produkttyp Produktgruppe Produkthauptgruppe Hersteller .. 1347 Handy Mobiltelekom Telekom Siemens ... Data Warehouses

Nicht-normalisierte Dimensionstabellen: effizientere Anfrageauswertung Zeit Datum Tag Monat Jahr Quartal KW Wochentag Saison 25-Jul-00 25 7 2000 3 30 Dienstag Hochsommer ... 18-Dec-01 18 12 2001 4 52 Weihnachten Datum  Monat  Quartal Produkte ProduktNr Produkttyp Produktgruppe Produkthauptgruppe Hersteller .. 1347 Handy Mobiltelekom Telekom Siemens ... ProduktNr  Produkttyp  Produktgruppe  Produkthauptgruppe Data Warehouses

Normalisierung führt zum Schneeflocken-Schema Produkthaupt- gruppen Produktgruppen Filialen Kunden Produkttypen Verkäufe Produkte Zeit Verkäufer KWs Quartale Data Warehouses

Galaxy- Schema mehrere Faktentabellen, verknüpft mit denselben Dimensionstabellen Data Warehouses

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änkung der Dimensionen Join-Prädikate Data Warehouses

A A A A Algebra-Ausdruck ...(Produkte) ...(Filialen) ...(Zeit) Verkäufe A A ...(Zeit) ...(Kunden) Data Warehouses

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; select Jahr, sum(Anzahl) group by z.Jahr; Roll-up Drill-down Data Warehouses

Ultimative Verdichtung select sum(Anzahl) from Verkäufe v, Produkte p where v.Produkt = p.ProduktNr and p.Produkttyp = 'Handy'; Data Warehouses

Data Warehouses

Roll-up Down Drill- Data Warehouses

Flexible Auswertungsmethoden: slice and dice Data Warehouses

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 group by p.Hersteller ) union ( select null, z.Jahr, sum(v.Anzahl) group by z.Jahr ) union ( select null, to_number(null), sum(v.Anzahl) where v.Produkt = p.ProduktNr and p.Produkttyp = 'Handy' ); Data Warehouses

Relationale Struktur der Datenwürfel Data Warehouses

Würfeldarstellung Data Warehouses

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); Data Warehouses

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 ); select v.Produkt, v.Filiale, sum(v.Anzahl) from Verkäufe v group by v.Produkt, v.Filiale Data Warehouses

Wiederverwendung von Teil-Aggregaten select 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 Data Warehouses

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) Data Warehouses

Die Zeit-Hierarchie Data Warehouses

Bitmap-Indexe 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 Data Warehouses

Beispiel-Anfrage und Auswertung Data Warehouses

Bitmap-Operationen Data Warehouses

Bitmap-Join-Index Data Warehouses

(i,II)(ii,I)(iii,II)(iv,II)(v,I)(vi,II)... B-Baum TID-K TID-V (i,II)(ii,I)(iii,II)(iv,II)(v,I)(vi,II)... B-Baum TID-K (I,i)(I,v)(II,i)(II,iii)(II,iv)(II,vi)... Data Warehouses

(i,II)(ii,I)(iii,II)(iv,II)(v,I)(vi,II)... 5 5 Select k.* From Verkäufe v, Kunden k Where v.ProduktID = 5 And v.KundenNr = k.KundenNr B-Baum TID-V (i,II)(ii,I)(iii,II)(iv,II)(v,I)(vi,II)... Data Warehouses

(I,i)(I,v)(II,i)(II,iii)(II,iv)(II,vi)... B-Baum TID-K (I,i)(I,v)(II,i)(II,iii)(II,iv)(II,vi)... Select v.* From Verkäufe v, Kunden k Where k.KundenNr = 4711 and v.KundenNr = k.KundenNr Data Warehouses

Data Warehouses

Beispielanfrage auf dem Sternschema: Stern-Verbund -- Star Join 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änkung der Dimensionen Join-Prädikate Data Warehouses

Illustration des Star Join Data Warehouses

Bitmap-Indexe für die Dimensions-Selektion Data Warehouses

Ausnutzung der Bitmap-Join-Indexe Data Warehouses

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 Data Warehouses

Top N-Anfragen Select A.* From Angestellte A, Abteilungen abt Where A.Abteilung = abt.AbteilungsNr and abt.Ort = Hannover Order by A.Gehalt desc Stop after 20 Data Warehouses

Online-Aggregation Select abt.Ort, avg(A.Gehalt) From Angestellte A, Abteilungen abt Where A.Abteilung = abt.AbteilungsNr Group by abt.Ort Data Warehouses