Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar Data Warehousing SS 05 Thema 11: Optimierung - Materialisierte Sichten Katja Thomas.

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar Data Warehousing SS 05 Thema 11: Optimierung - Materialisierte Sichten Katja Thomas."—  Präsentation transkript:

1 Seminar Data Warehousing SS 05 Thema 11: Optimierung - Materialisierte Sichten Katja Thomas

2 25.06.2015Thema 11: Optimierung – Materialisierte Sichten2 Gliederung 1. Begriff der Materialisierten Sicht 2. Voraussetzungen für die Verwendung materialisierter Sichten 2.1 Gültige Ersetzung 2.2 Additivität der Funktionen 2.3 Aggregationsgitter 3. Auswahl der zu materialsierenden Daten 3.1 Statische Auswahl 3.2 Dynamische Auswahl 4. Wartung und Aktualisierung 4.1 Prinzip der Effizienten Aktualisierung 4.2 Konsistenzbedingungen 5. Zusammenfassung 6. Literatur

3 25.06.2015Thema 11: Optimierung – Materialisierte Sichten3 1. Begriff der Materialisierten Sicht Materialisierte Sicht  relationales, abgespeichertes Ergebnis einer Sicht  „vorab berechneter“ Ausschnitt der Faktentabellen Einige Eigenschaften eines Data Warehouse Systems:  beinhaltet große Datenmengen  häufige und komplexe Anfragen  meist nur lesender Zugriff  viele Anfragen beziehen sich auf gleiche Relationen, haben ähnliche Gestalt, bauen aufeinander auf  Wahrscheinlichkeit der Wiederverwendung von Anfragen relativ hoch  hohe Effizienz beim Zugriff auf die Daten (Anfragen) erforderlich Ergebnis des Einsatzes von MS:  gewollte Redundanz von Daten um Anfragen effizienter bearbeiten zu können  Wiederverwendbarkeit der Vorberechnungen  Reduzierung der Ausführungszeiten der Anfragebearbeitung

4 25.06.2015Thema 11: Optimierung – Materialisierte Sichten4 1. Begriff der Materialisierten Sicht Beispiel für die Anwendung von materialisierten Sichten Wieviel wurde seit 2004 in unseren Filialen in Thüringen verkauft? Anfrage QMaterialisierte Sicht M Σ Verkäufe γ Jahr, ArtikelNr Σ Verkäufe γ ArtikelNr ⋈ ArtikelNr ⋈ FilialNr ⋈ FilialNr Verkaufσ BLand=„Thüringen“ σ Jahr≥“2004“ σ BLand=„Thüringen“ σ Geschäfte Verkauf Geschäfte Produkt ⋈ Join Σ Summe γ Gruppierung σ Auswahl

5 25.06.2015Thema 11: Optimierung – Materialisierte Sichten5 1. Begriff der Materialisierten Sicht SQL-Definition für DB2 „Automatic Summary Tables“ CREATE SUMMARY TABLE NamederMS AS ( SELECT… FROM… WHERE… GROUP BY… ) DATA INITIALLY DEFERRED REFRESH DEFERRED; REFRESH TABLE NamederMS;  Verkäufe γ Jahr, ArtikelNr ⋈ ArtikelNr σ Jahr≥“2004“ σ MProdukt

6 25.06.2015Thema 11: Optimierung – Materialisierte Sichten6 2. Voraussetzungen 2.1 Gültige Ersetzung Ziel: Gewährleistung der Transparenz systemseitig  Verwendung darf keinen Einfluss auf Anfrageformulierung des Anwenders haben  Umformung der eingehenden Anfragen notwendig: query rewrite Gültige Ersetzung:  Anfrage Q’ ist eine gültige Ersetzung von Anfrage Q unter Verwendung von M (materialisierte Sicht) falls Q und Q’ das gleiche Multimengenergebnis haben  Transformation der eingehenden Anfrage und aller materialisierten Sichten in Normalform  paarweiser Vergleich der Anfragegraphen

7 25.06.2015Thema 11: Optimierung – Materialisierte Sichten7 2. Voraussetzungen 2.1 Gültige Ersetzung Problematisch bei der Ersetzung: Restriktiondbedingungen  weniger restriktive Anfragen stellen:  verallgemeinerte Projektion: generalized projection duplikateliminierende Projektion äquivalent zu Aggregationsoperation über gleiche Attributmenge SELECT Distinct Preis, Produktgruppe, Region FROM R Ist äquivalent zu SELECT Preis, Produktgruppe, Region FROM R GROUP BY Preis, Produktgruppe, Region beschränkte Anwendbarkeit  Verwendung von Multiblockanfragen Aufteilung der Anfrage Q in Q a und Q b Ersetzen von Q a  Ausführen des Restrukturierungsalgorithmus zur Verwendung einer Monoblockanfrage  UNION ALL

8 25.06.2015Thema 11: Optimierung – Materialisierte Sichten8 2. Voraussetzungen 2.2 Additivität der Funktionen Additivität von Aggregationsfunktionen  Voraussetzung für Wiederverwendung von Vorberechnungen  Möglichst nur Additive Aggregationsfunktionen verwenden Aggregationsfunktionen (Median) Additiv-berechenbare Aggregationsfunktionen Semi-additiveAggregationsfunktionen Additive Aggregationsfunktionen (SUM) (MIN) (AVG) Quelle: angelehnt an Abb. 7-3 Seite 218 [Leh03]

9 25.06.2015Thema 11: Optimierung – Materialisierte Sichten9 2. Voraussetzungen 2.3 Aggregationsgitter Aggregationsgitter:  stellt Ableitungsbeziehungen in Form von azyklischen Abhängigkeitsgraphen dar  Eine Menge von Gruppierungen bilden ein Aggregationsgitter  Grundlage für die Abschätzung des Speicherplatz-Mehraufwandes der Materialisierung  zeigt an, welche Kombinationen von Gruppierungsattributen direkt/indirekt von anderen Kombinationen ableitbar sind  Oberstes Element = Superaggregat B ableitbar aus (A, B), (B, C) und (A, B, C) ( ) ( A )( B )( C ) ( A, B )( A, C) ( A, B, C ) ( B, C )

10 25.06.2015Thema 11: Optimierung – Materialisierte Sichten10 2. Voraussetzungen 2.3 Aggregationsgitter Mächtigkeit der Knotenmenge bei n Gruppierungsattributen:  |N| = (j=1,.., n) 2 = 2 n  exponentielles Wachstum: z.B. 16 Gruppierungsattribute: 65536 Knoten Speicheraufwand bei Materialisierung aller Knoten  optimale Teilmenge bestimmen, die man vorberechnet Dünnbesetztheit des Datenbestandes (sparsity factor):  viele Gruppierungskombinationen sind äquivalent  gibt an, welcher Anteil an möglichen Ausprägungen von Attributkombinationen tatsächlich existieren  Abschätzung:f(n) = n(1-(1-1/n) k ) = n-n(1-1/n) k  Reduktion der Knotenmenge möglich

11 25.06.2015Thema 11: Optimierung – Materialisierte Sichten11 3. Auswahl 3.1 Statisches Auswahlverfahren möglichst optimale Menge an zu materialisierenden Sichten auswählen Grundidee:  bestimmte Menge von Sichten durch Administrator oder Algorithmus zu bestimmten Zeitpunkt auswählen  Keine Veränderung bis zur nächsten Aktualisierung des DWs  Nur historisches, nicht aktuelles Anfrageverhalten berücksichtigt Aufwand und Nutzen materialisierter Sichten  Verhältnis von zusätzlichem Speicherbedarf (Kosten/Aufwand) und Verkürzung der Anfragelaufzeiten (Nutzen)  Einführung eines linearen Kostenmodells zum Vergleich von Speicherplatz und Berechnungskostenersparnis  Bedingung der Monotonie

12 25.06.2015Thema 11: Optimierung – Materialisierte Sichten12 3. Auswahl 3.1 Statisches Auswahlverfahren Kostenfunktion: c q (n)  Kosten der Berechnung von Anfrage q aus dem zu n korrespondierenden Gitterpunkt im Aggregationsgitter  c q (n) = , falls q aus der zu n gehörenden Aggregationskombination nicht berechenbar Monotonie einer Kostenfunktion  Monoton, wenn für 2 beliebige Knoten n i und n j  N aus Aggregationsgitter gilt: |n i | < |n j |  c q (n i ) < c q (n j ) |n| = Größe des jeweiligen Gitterpunktes  Monotonie steigt mit Größe und Anzahl der zu verarbeitenden Einheiten dieses Gitterpunktes

13 25.06.2015Thema 11: Optimierung – Materialisierte Sichten13 3. Auswahl 3.1 Statisches Auswahlverfahren Kosten einer Materialisierungskonfiguration  Aufwand der Beantwortung einer Anfrage q in Bezug auf eine Menge von Gitterpunkten M = (n1,...,nk) resultiert in den minimalen Kosten in Bezug auf alle Gitterpunkte aus M  c q (M) = min (n  M) (c q (n)) Gesamtanfragekosten: C(Q,M) =  (q  Q) f(q i ) * c q (M) F(q i ) = Häufigkeit der Anfrage qi Aktualisierungskosten U(M) =  (n  M) h(n)* u(n) h(n) = Aktualisierungsrate u(n) = Aktualisierungskosten für einen Gitterpunkt Gesamtkosten C Gesamt (Q, M) = C(Q,M) + U(M)

14 25.06.2015Thema 11: Optimierung – Materialisierte Sichten14 3. Auswahl 3.1 Statisches Auswahlverfahren Nutzen einer Materialisierungskonfiguration: Nutzen eines möglicherweise zu materialisierenden Aggregationsgitterknotens M = Menge der bereits materialisierten Knoten Q = Menge der Anfragen Nutzenabschätzung eines zusätzlich matwerialisierten Knotens n  B Q (n, M) = C Q (M) – C Q (M  {n}) falls ( C Q ((M  {n}) < C Q (M)) )  B Q (n, M) = 0 sonst Nutzen eines zusätzlich materialisierten Gitterknotens ergibt sich aus Differenz der Gesamtkosten von Q und Materialisierungskonfiguration ohne und mit dem neu zu materialisierenden Gitterpunkt  falls Kostenerhöhung – Nutzwert von 0

15 25.06.2015Thema 11: Optimierung – Materialisierte Sichten15 3. Auswahl 3.1 Statisches Auswahlverfahren Algorithmus nach Harinarayan, Rajaraman, Ullman  nach Greedy- Prinzip  Vorraussetzung: Annahme der Gleichverteilung vorgegebenes Aggregationsgitter  maximaler Speicherplatz S  Menge zu materialisierender Aggregationsknoten mit möglichst großem Nutzen für Gesamtsystem auswählen  Geschätzer Speichermehraufwand s benötigt, den Materialisierung erfordern würde Ablaufschema (Pseudocode):  Eingabe:- Menge aller Aggregationsgitterknoten N - Erwartete Kardinalität für jeden Knoten ni  N: |ni| - Maximaler Speichermehraufwand S  Ausgabe:- Menge der zu materialisierenden Gitterknoten M (Materialisierungskandidaten)

16 25.06.2015Thema 11: Optimierung – Materialisierte Sichten16 3. Auswahl 3.1 Statisches Auswahlverfahren Begin // Aufnahme des Gitterpunktes, der die feinste Partitionierung //(Detaildaten) darstellt in M //  Sicherstellen der Auswertbarkeit aller möglichen Anfragen M = { nDetaildaten } s = 0// noch kein zusätzlicher Speichermehraufwand // Kandidatenauswahl solange S nicht überschritten WHILE (s < S) //Berechne Gitterpunkt mit maximalem Nutzen bezüglich M //n ist der Gitterpunkt //mit  n  (N \ M): Bn(M) = max (ni  M) (Bni(M)) M = M  {n}// Füge n der Materialisierungsmenge hinzu s = s + |n|// Addiere Größe zum Speichermehraufwand ENDWHILE //Menge der zu materialisierenden Knoten ist Ergebnis RETURN M End

17 25.06.2015Thema 11: Optimierung – Materialisierte Sichten17 3. Auswahl 3.1 Statisches Auswahlverfahren Beispiel:  3 Tabellen: Monat A 1, Region A 2, Produktgruppe A 3 ( ) 1 ( A 1 ) 12 ( A 2 ) 50 ( A 3 ) 100 ( A 1, A 2 ) 600 ( A 1, A 3 ) 1192 ( A 1, A 2, A 3 ) 6000 ( A 2, A 3 ) 3161 1. Auswahl2. Auswahl PA PR AR P A R 5400 * 4 = 21600 4808 * 4 = 19232 2839 * 4 = 11356 5988 * 2 = 11976 5950 * 2 = 11900 5900 * 2 = 11800 ---- 4808 * 2 = 9616 2839 * 3 = 8517 588 * 2 = 1176 550 * 2 = 1100 5900 * 2 = 11800 Quelle: Abb. 7-22 [BaGu04]

18 25.06.2015Thema 11: Optimierung – Materialisierte Sichten18 3. Auswahl 3.1 Statisches Auswahlverfahren Komplexität des Verfahrens: O(n 3 ) Erreicht mindestens 63% des Optimums Reduktion der Knotenanzahl/des Aggregationsgitters durch Heuristiken (nach Baralis, Paraboschi, Teniente [BaPT97] vor Anwendung des Algorithmus  Reduktion von redundanten Gitterknoten aufgrund funktionaler Abhängigkeiten  Iterative Konstruktion eines Teilgitters, bei dem für eine vorgegebene Menge von Anfragen paarweise alle größten gemeinsamen Vorgänger ermittelt und dem Teilgitter hinugefügt werden  Eliminierung aller Knoten, welche keine Verdichtung um vorgegebenen Faktor versprechen

19 25.06.2015Thema 11: Optimierung – Materialisierte Sichten19 3. Auswahl 3.1 Statisches Auswahlverfahren Nachteile der statischen Auswahl:  Interaktive Komponente von OLAP-Anwendungen wird nicht berücksichtigt  Ziel des Anwenders ist bestimmten, uU neuen Zusammenhang zu untersuchen  schwer vorhersagbar  Ständige Veränderung des Anfrageverhaltens möglich und Aktualität damit fraglich bzw schwer zu sichern  Häufige Veränderung der Daten führt zu schnellem Veralten der Sichten und damit zu hohem Aktualisierungsaufwand  Verwendung Dynamischer Verfahren

20 25.06.2015Thema 11: Optimierung – Materialisierte Sichten20 3. Auswahl 3.2 Dynamisches Auswahlverfahren Grundidee:  Anfragedynamik beachten um Nachteile auszugleichen  Anfrageergebnisse in reserviertem Pufferbereich materialisieren Semantisches Caching:  Cache: schneller Pufferspeicher, um häufig benutze Festplattenblöcke in Hauptspeicherseiten für beschleunigten Zugriff vorzuhalten Inhalt ist der Pufferverwaltung nicht bekannt  semantikfrei Verdrängungsstrategie nach Einlagerungszeitpunkt, Referenzierungshäufigkeit  Semantisches Caching: Semantik und Zusammenhänge der Daten von Bedeutung Daten bestimmen, ob das gepufferte Objekt verwendet werden kann Speichermedium: Hauptspeicher oder Festplatte, da Schwerpunkt auf schnellerer Berechnung Verdrängungsentscheidung durch Nutzenabschätzung des Objekts

21 25.06.2015Thema 11: Optimierung – Materialisierte Sichten21 3. Auswahl 3.2 Dynamisches Auswahlverfahren Verdrängung von materialisierten Sichten:  maximale Speichergröße vorgegeben  bei Überschreitung: Verdrängungsentscheidung zu treffen  Verdrängung erfolgt Seitenweise, dh. falls neues Objekt größer als eine Seite ist Verdrägung von meheren Objekten notwendig  Mögliche Entscheidungsfaktoren: Zeit des letzten Zugriffs Referenzierungshäufigkeit Größe der materialisierten Sicht Kosten, die Neuberechnung/Aktualisierung der MS verursachen würde Anzahl Anfragen, die in der Vergangenheit oder prinzipiell damit beantwortet wurden/ werden könnten Ablauf:  Nutzwert aller Sichten berechnen aus gewichteter Kombination dieser Faktoren  Sortierung nach Nutzenwert  Verdrängung der materialisierten Sichten mit geringsten Nutzenwerten

22 25.06.2015Thema 11: Optimierung – Materialisierte Sichten22 Beispiel: Auch initiale Füllung des Caches nach statischem Verfahren möglich 3. Auswahl 3.2 Dynamisches Auswahlverfahren Detaildaten Anfrage A7 Cache A6 A2 A1 A4 A3 A5 Quelle: Abb 7-25 [BaGu04] ?

23 25.06.2015Thema 11: Optimierung – Materialisierte Sichten23 Ziel:  Aktualisierung beschleunigen da tausende Sichten in einem DWS  Sperren während Aktualisierung so kurz wie möglich halten Mögliche Arten der Aktualisierung:  Rematerialisierung: Löschung und Neuberechnung einer Sicht ineffizient, da meist nur geringe Änderung des Datenbestandes  Inkrementelle Aktualisierung: Änderungen auf Basis der veränderten Detaildaten berechnen und inkrementell in Sicht integrieren Versuch, nach Modifikation (Einfügung, Löschung, Änderung von Tupeln) den neuen Zustand zu berechnen: V’ = V  V = (V -  - (V))   + (V). V’ neuer Zustand der Sicht V alter Zustand  V Änderungen an der Sicht V  (V) Menge zu löschender Tupel  + (V) Menge hizuzufügender Tupel Additive Vereinigung  bewahrt Duplikate 4. Aktualisierung 4.1 Prinzip der Effizienten Aktualisierung

24 25.06.2015Thema 11: Optimierung – Materialisierte Sichten24 4. Aktualisierung 4.1 Prinzip der Effizienten Aktualisierung Effizienz von inkrementeller Aktualisierung, in Abhängigkeit von:  Menge der zur Verfügung stehenden Informationen Definition der Sicht + ihre Ausprägungen Möglichkeit des Zugriffs auf (meist teure) Basisrelationen  Vermeidung dieses Zugriffs: Sicht autonom aktualisierbar mit Informationen über Integritätsbedingungen, Verwendung von Hilfssichten, Counting-Algorithmus  Mächtigkeit der Anfragekonstrukte je mächtiger desto komplexer Aktualisierung meiste Algorithmen unterstützen noch keine Aggregatfunktionen  verarbeitbare Modifikationstypen viele Algorithmen können Tupeländerungen nicht direkt abbilden Ersetzen diese durch jeweils eine Lösch- und eine Einfügeoperation Infoverlust führt zu unnötigen Zugriffen auf die Basisrelationen

25 25.06.2015Thema 11: Optimierung – Materialisierte Sichten25 4. Aktualisierung 4.1 Prinzip der Effizienten Aktualisierung Parameter einer Aktualisierungsstrategie: 1. Granularität bestimmt Art der Aktualisierung Sichten mit gemeinsamen Basisdaten müssen konsistent gehalten werden 2. Zeitpunkt der Aktualisierung Sofortige Aktualisierung:  TA, die Basisrelation verändert, aktualisiert auch alle abgeleiteten Daten  Sichten immer aktuell vs Kosten der ModifikationsTA Verzögerte Aktualisierung:  Bei Zugriff auf die Sicht  Aktualität gewährleistet vs lesende TA trägt Kosten der Aktualisierung durch Wartezeit Snapshot-Aktualisierung:  Nach anwendungsspeziefischen Gründen  Schnelle TAs (modifikation, lesen) vs Zugriff auf veraltete Daten

26 25.06.2015Thema 11: Optimierung – Materialisierte Sichten26 4. Aktualisierung 4.2 Konsistenzaspekte Durch Materialisierte Sichten ergeben sich Konsistenzaspekte, die sich auf gesamtes Data Warehouse beziehen Klassifikation:  Anwenderdefinierte Aktualitätsanforderungen Zeitliche Abstandsmaße:  Zeitspanne, die eine MS maximal älter sein darf als Basisrelationen, auf denen sie basiert Wertmäßige Abstandsmaße  Absolut oder prozentual  Abstand in denen Daten (BR und Sicht) abweichen dürfen Versionsbezogene Abstandsmaße  Durch Aktualisierung entsteht neue Version  Zahl der Versionen, die nach aktuellem Stand der Sicht generiert wurden

27 25.06.2015Thema 11: Optimierung – Materialisierte Sichten27 4. Aktualisierung 4.2 Konsistenzaspekte  Anfragekonsistenz errechnetes Ergebnis hätte auch durch Anfrage an die Datenquellen berechnet werden können  muss immer gelten, um Richtigkeit der Analysen zu sichern Bsp: Anfrage an 2 Sichten mit unterschiedlichen Aktualitätsstand liefern Ergebnisse, die keinem Aktualitätsniveau zugeordnet werden könnten  Ergebnis entspricht zu keinem Zeitpunkt dem Zustand der Quelldaten  Verletzung der Anfragekonsistenz  Sitzungskonsistenz Reihe von aufeinander Aufbauenden Anfragen (Drill-down, Roll-up Operationen) = Sitzung Gleiches Aktualitätsniveau der Anfragen einer Sitzung gewährleisten Problem: nur durch Lesesperre auf gesamtes System zu gewährleisten, da unklar, auf welche Relationen zugegriffern werden wird während einer Sitzung  alle an einer Anfrage beteiligten Relationen müssen dem selben Aktualitätsniveau entsprechen

28 25.06.2015Thema 11: Optimierung – Materialisierte Sichten28 4. Aktualisierung 4.2 Konsistenzaspekte  Aktualisierungsgranulate Welche Objekte können unabhängig voneinander aktualisiert werden  Aktualisierung des gesamten DW  Keine Inkonsistenzen vs keine Nebenläufigkeit  Aktualisierung einzelner Sichten  Nebenläufigkeit für Anwender gewährleistet  Beachten der Aktualisierung aller mit der Sicht referenzierten Sichten  Gemeinsame Aktualisierung einer Teilmenge der Sichten  Individuelle Aktualisierungsstrategie für jede Relation im DW  Hoher Aktualisierungs und Verwaltungaufwand

29 25.06.2015Thema 11: Optimierung – Materialisierte Sichten29 5. Zusammenfassung Redundant abgespeichertes Ergebnis einer Sicht Zur Verkürzung der Ausführungszeiten von Anfragen darf keinen Einfluss auf Anfrageformulierung des Anwenders haben, Transparenz gewährleisten (Vorausetzungen) Auswahl als Kompromiss zwischen Verkürzung der Anfragelaufzeiten und zusätzlich benötigtem Speicher Statische / Dynamische Auswahl Wartung der Sichten bei verändertem Ausgangsdatenbestand soll effizient erfolgen können Konsistenz zwischen den materialisierten Sichten und dem Basisdatenbestand muss gewährleistet werden

30 25.06.2015Thema 11: Optimierung – Materialisierte Sichten30 6. Literatur [BaGu04]Bauer, A; Günzel, H.: Data Warehouse Systeme. Architektur, Entwicklung, Anwendung. Heidelberg: dpunkt.verlag. 2004 [Leh03] Lehner, W.: Datenbanktechnologie für Data-Warehouse-Systeme. Konzepte und Methoden. Heidelberg:dpunkt.verlag.2002 [HRU96]Harinarayn, V.; Rajaraman, A.; Ullman, J.D.: Implementing data cubes efficiently. Proc. ACMSIGMOD. 1996. [BPT97] Baralis, E.; Paraboschi, S.; Teniente, E.: Materialized view selection in a multi-dimensional datacube. In VLDB, pages 156-165. 1997 [Gup97] Gupta, H.: Selection of views to materialize in a data warehouse. In Proc. Sixth ICDT. 1997. [YKL97]Yang, J.; Karlapalem, K; Li, Q.: Tackling the challenges of materialized view design in data warehousing environment. In the Proc. of Int'l Workshop on Research Issues in Data Engineering (RIDE'97).1997. [ZMHW95] Zhuge, Y.; Molina, H. G.; Hammer, J.; Widom, J.: View maintenance in a warehousing environment. In Proc. ACM SIGMOD '95.1995. [Mak99] Makkonen, J.: Lifespan of Data in a Warehouse. Department of Computer Science, University of Helsinki. 1999.


Herunterladen ppt "Seminar Data Warehousing SS 05 Thema 11: Optimierung - Materialisierte Sichten Katja Thomas."

Ähnliche Präsentationen


Google-Anzeigen