Data Cubes PG 402 - Wissensmangement Seminarphase 23.10.2001 - 25.10.2001 Hanna Köpcke Lehrstuhl für Künstliche Intelligenz Universität Dortmund.

Slides:



Advertisements
Ähnliche Präsentationen
Der R-Baum Richard Göbel.
Advertisements

Imperative Programmierung
ER-Datenmodell und Abfragen in SQL
Christian Scheideler SS 2009
Knapsack & Bin Packing Sebastian Stober
Thema: Algorithmusdesignverfahren Vu Hoang Lam IMN04 HTWK-Leipzig Obersemminar Softwareentwicklung.
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Objekt – Relationales – Modell Tomasz Makowski IN
Bauinformatik II Softwareanwendungen 1
der Universität Oldenburg
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Kapitel 3: Das Relationenmodell
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
FH-Hof Effizienz - Grundlagen Richard Göbel. FH-Hof Inhalt Einführung Aufwand für Anfragen ohne Indexierung Indexstrukturen für Anfragen an eine Tabelle.
Alternativen und Muster. Alternativen Gegeben ist eine Tabelle in der ein Attribut der Tabelle Buecher Gruppe genannt wurde. So gibt es unter anderem.
Algorithmentheorie 04 –Hashing
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
SQL als Abfragesprache
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.
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
Der letzte Schliff für Abfragen Übersicht über die Aggregatfunktionen.
Grundlegende Analysen & Zwischendarstellungen
Data Cube 1. Einführung 2. Aggregation in SQL, GROUP BY
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
Minimum Spanning Tree: MST
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.
Algorithmus zur Zerlegung in 3NF (1)
Übung 1: SQL Übungen finden bei Bedarf anstelle der Vorlesungen statt
Datenbankentwicklung IV-LK
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Datenbanken Mehr als Tabellen.
Datenbankentwicklung IV-LK
Datenbanken Mehr als Tabellen. Datenbank Abfragen mit SQL: Eine Tabelle filtern Tabellen realer Datenbanken können sehr viele Informationen speichern:
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Befehle in SQL Erläuterungen.
Datenbanksysteme für hörer anderer Fachrichtungen
Einführung in Datenbankmodellierung und SQL
Das ABC der Statistik DIE KREUZTABELLEN 1
Aggregatsfunktion SQL = Structured Query Language.
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.
Normalisierungsprozess
Aggregatsfunktion mit Group by und having SQL = Structured Query Language.
Verdichten von Daten mit Gruppenfunktionen
Das Traveling Salesman Problem (TSP)
Structured Query Language
Vorlesung #5 SQL (Teil 2).
Analyse der Laufzeit von Algorithmen
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VI Christian Schindelhauer
Anwendung der Ellipsoidmethode in der Kombinatorischen Optimierung
Der A*-Algorithmus.
Institut für Informationssysteme Technische Universität Braunschweig Institut für Informationssysteme Technische Universität Braunschweig Verdrängung von.
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Abfragen Wiederholung Manuel Friedrich Schiller-Gymnasium Hof.
Multidimensionale Datenbanken
Vorlesung #5 SQL (Teil 2).
2.3 Gruppierte Datensätze
(Structured Query Language)
 Präsentation transkript:

Data Cubes PG Wissensmangement Seminarphase Hanna Köpcke Lehrstuhl für Künstliche Intelligenz Universität Dortmund

Data Cubes Hanna Köpcke2 Übersicht 1. Einführung 2. Aggregation in SQL, GROUP BY 3. Probleme mit GROUP BY 4. Der Cube-Operator 5. Implementierung des Data Cube 6. Zusammenfassung und Ausblick

Data Cubes Hanna Köpcke3 1. Datenanalyse Ziel: Auffinden interessanter Muster in großen Datenmengen Formulierung einer Anfrage Extraktion der Daten Visualisierung der Ergebnisse Analyse der Ergebnisse und Formulierung einer neuen Anfrage

Data Cubes Hanna Köpcke4 1.1 Datenanalysetools Darstellung von Tendenzen, Cluster, Anomalien Datenmenge wird als n-dimensionaler Raum aufgefasst Identifizierung von interessanten Unterräumen In relationalen Systemen werden n-dimensionale Daten als Relationen mit n-Attributen modelliert Dimensionsreduktion durch Aggregation der Daten entlang der weggelassenen Dimensionen

Data Cubes Hanna Köpcke5 1.2 Beispiel: Autoverkäufe

Data Cubes Hanna Köpcke6 2. Aggregation in SQL Aggregatfunktionen: COUNT(), SUM(), MIN(), MAX(), AVG() Beispiel: SELECT AVG(Anzahl) FROM Autoverkäufe Aggregation über verschiedene Werte Beispiel: SELECT COUNT(DISTINCT Modell) FROM Autoverkäufe Aggregatfunktionen liefern einen einzelnen Wert Aggregation über mehrere Attribute mit GROUP BY

Data Cubes Hanna Köpcke7 2.1 GROUP BY SELECT Modell, Jahr, SUM(Anzahl) FROM Autoverkäufe GROUP BY Modell, Jahr Die Tabelle wird gemäß den Kombinationen der ausgewählten Attributmenge in Gruppen unterteilt Jede Gruppe wird über eine Funktion aggregiert Das Resultat ist eine Tabelle mit aggregierten Werten, indiziert durch die ausgewählte Attributmenge

Data Cubes Hanna Köpcke8 2.2 Beispiel: GROUP BY SELECT Modell, Jahr, SUM(Anzahl) FROM Autoverkäufe GROUP BY Modell, Jahr

Data Cubes Hanna Köpcke9 3. Probleme mit GROUP BY : Roll Up gleiche Anfrage in unterschiedlichen Detailierungsgraden Verminderung des Detailierungsgrades = Roll Up Erhöhung = Drill Down Beispiel: Autoverkäufe - Roll Up über drei Ebenen - Daten werden nach Modell, dann nach Jahr, dann nach Farbe aggregiert - die Verkaufszahlen werden zuerst für jedes Modell aus jedem Jahr in jeder Farbe aufgelistet, dann werden alle Verkaufszahlen des gleichen Modells und Jahres aufsummiert und daraus wiederum die Verkaufszahlen der Modelle berechnet

Data Cubes Hanna Köpcke Probleme mit GROUP BY : Roll Up

Data Cubes Hanna Köpcke Probleme mit GROUP BY : Roll Up Tabelle ist nicht relational, da man wegen der leeren Felder ( Null -Werte) keinen Schlüssel festlegen kann enorme Anzahl an Spalten: die Zahl der Spalten wächst mit der Zahl der aggregierten Attribute Um das exponentielle Anwachsen der Spaltenanzahl zu vermeiden, wird der ALL -Wert eingeführt Der ALL -Wert repräsentiert die Menge, über die die Aggregation berechnet wird. Beispiel: Ein ALL in der Spalte Farbe bedeutet, dass in der Anzahl dieser Zeile die Verkaufszahlen der roten, weißen und blauen Autos zusammengefaßt sind.

Data Cubes Hanna Köpcke Probleme mit GROUP BY : Roll Up Erzeugung der Tabelle mit SQL: SELECT Modell, ALL, ALL, SUM (Anzahl) FROM Autoverkäufe WHERE Modell = Opel GROUP BY Modell UNION SELECT Modell, Jahr, ALL, SUM (Anzahl) FROM Autoverkäufe WHERE Modell = Opel GROUP BY Modell, Jahr UNION SELECT Modell, Jahr, Farbe, SUM (Anzahl) FROM Autoverkäufe WHERE Modell = Opel GROUP BY Modell, Jahr, Farbe

Data Cubes Hanna Köpcke Probleme mit GROUP BY : Roll Up Beispiel war ein einfaches dreidimensionales Roll Up Eine Aggregation über n Dimensionen erfordert n Unions Roll Up ist asymmetrisch: Verkäufe sind nach Jahr, aber nicht nach Farbe aggregiert

Data Cubes Hanna Köpcke Probleme mit GROUP BY : Kreuztabellen Symmetrische Darstellung mehrdimensionaler Daten und Aggregationen Diese Kreuztabelle ist eine zweidimensionale Aggregation Nimmt man noch andere Automodelle hinzu, kommt für jedes Modell eine weitere Ebene hinzu Man erhält eine dreidimensionale Aggregation

Data Cubes Hanna Köpcke15 4. Der CUBE -Operator N-dimensionale Generalisierung der bisher genannten Konzepte Der 0D Data Cube ist ein Punkt Der 1D Data Cube ist eine Linie mit einem Punkt Der 2D Data Cube ist eine Kreuztabelle Der 3D Data Cube ist ein Würfel mit drei sich überschneidenden Kreuztabellen Aggregation Summe GROUP BY (mit Gesamtsumme) rot weiß blau Summe rot weiß blau Modell FarbeOpelFord Kreuztabelle Data Cube mit allen Aggregationen Jahr Opel Ford Modell & Jahr Modell Modell & Farbe Farbe & Jahr Farbe Summe

Data Cubes Hanna Köpcke Der CUBE -Operator Beispiel: SELECT Modell, Jahr, Farbe, SUM (Anzahl) FROM Autoverkäufe GROUP BY CUBE Modell, Jahr, Farbe Der Cube-Operator erzeugt eine Tabelle, die sämtliche Aggregationen enthält Es werden GROUP BYs für alle möglichen Kombinationen der Attribute berechnet Die Erzeugung der Tabelle erfordert die Generierung der Potenzmenge der zu aggregierenden Spalten. Bei n Attributen werden 2 n GROUP BYs berechnet Sei C 1, C 2,..., C n die Kardinalität der n Attribute, dann ist die Kardinalität der daraus resultierenden Data Cube-Relation (C i +1)

Data Cubes Hanna Köpcke Data Cube des Beispiels

Data Cubes Hanna Köpcke18

Data Cubes Hanna Köpcke19 5. Implementationsalternativen Physische Materialisierung des gesamten Data Cube: - beste Antwortzeit - hoher Speicherplatzbedarf Keine Materialisierung: - jede Zelle wird nur bei Bedarf aus den Rohdaten berechnet - kein zusätzlicher Speicherplatz - schlechte Antwortzeit Materialisierung von Teilen des Data Cube: - Werte vieler Zellen sind aus Inhalt anderer Zellen berechenbar - diese Zellen nennt man abhängige Zellen - Zellen, die einen All -Wert enthalten, sind abhängig - Problem: Welche Zellen des Data Cube materialisieren? - Zellen des Data Cube entsprechen SQL Anfragen (Sichten)

Data Cubes Hanna Köpcke Abhängigkeit von Sichten Die Abhängigkeitsrelation: - Zwei Anfragen Q 1 und Q 2 - Q 1 Q 2 Q 1 kann beantwortet werden, indem die Ergebnisse von Q 2 verwendet werden. Q 1 ist abhängig von Q 2 Sichten bilden einen Verband unter folgenden Voraussetzungen: 1. ist eine Halbordnung und 2. es gibt ein maximales Element (eine oberste Sicht) Ein Verband wird durch eine Menge von Anfragen (Sichten) L und der Abhängigkeitsrelation definiert und mit L, bezeichnet Ein Verband wird repräsentiert durch einen Graphen, in dem die Anfragen die Knoten sind

Data Cubes Hanna Köpcke Auswahl von Sichten Optimierungsproblem, das unter folgenden Bedingungen gelöst werden soll: - Die durchschnittliche Zeit für die Auswertung der Anfragen soll minimiert werden. - Man beschränkt sich auf eine feste Anzahl von Sichten, die materialisiert werden sollen, unabhängig von deren Platzbedarf Das Optimierungsproblem ist NP-vollständig. Heuristiken für Appoximationslösungen Naheliegende Wahl: Ein Greedy-Algorithmus Der Greedy-Algorithmus verhält sich nie zu schlecht: Man kann zeigen, dass die Güte mindestens 63% beträgt.

Data Cubes Hanna Köpcke Der Greedy Algorithmus Gegeben ein Verband mit Speicherkosten für jede Sicht C(v) Kosten der Sicht v Annahme: Speicherkosten = Anzahl der Reihen in der Sicht Beschränkung auf k Sichten Nach Auswahl einer Menge S von Sichten wird der Nutzen der Sicht v relativ zu S mit B(v, S) bezeichnet und wie folgt definiert: 1. Für jede Sicht w v wird B w berechnet: (a) Sei u die Sicht mit den geringsten Kosten in S, so dass w u (b) B w = 2. B(v, S) = w v B w C(v) - C(u), falls C(v) < C(u) 0 ansonsten

Data Cubes Hanna Köpcke Der Greedy Algorithmus 1S = {oberste Sicht} 2for i = 1 to k do begin 3Wähle die Sicht v S, so dass B(v, S) maximal ist; 4S = S {v} 5end; 6return S;

Data Cubes Hanna Köpcke Beispiel a bc fde g h Greedy Auswahl: b, d und f

Data Cubes Hanna Köpcke25 6. Zusammenfassung und Ausblick Möglichkeiten und Grenzen der Aggregation in SQL Einführung von Data Cubes zur Unterstützung von Aggregationen über n Dimensionen Implementationsalternativen von Data Cubes zur effizienten Anfragebearbeitung Greedy-Algorithmus zur Auswahl einer festen Anzahl von Sichten, die materialisiert werden Ausblick: weitere Algorithmen - Basierend auf Sortierung (PipeSort-Algorithmus) - Basierend auf Hashverfahren (PipeHash-Algorithmus)