300 likes | 391 Views
Seminar Data Warehousing SS 05. Thema 11: Optimierung - Materialisierte Sichten Katja Thomas. Gliederung. Begriff der Materialisierten Sicht Voraussetzungen für die Verwendung materialisierter Sichten 2.1 Gültige Ersetzung 2.2 Additivität der Funktionen 2.3 Aggregationsgitter
E N D
Seminar Data WarehousingSS 05 Thema 11: Optimierung - Materialisierte Sichten Katja Thomas
Gliederung • Begriff der Materialisierten Sicht • Voraussetzungen für die Verwendung materialisierter Sichten 2.1 Gültige Ersetzung 2.2 Additivität der Funktionen 2.3 Aggregationsgitter • Auswahl der zu materialsierenden Daten 3.1 Statische Auswahl 3.2 Dynamische Auswahl • Wartung und Aktualisierung 4.1 Prinzip der Effizienten Aktualisierung 4.2 Konsistenzbedingungen • Zusammenfassung • Literatur 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 2
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 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 3
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 Q Materialisierte 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 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 4
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“ σ M Produkt 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 5
2. Voraussetzungen2.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 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 6
2. Voraussetzungen2.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 Qa und Qb • Ersetzen von Qa • Ausführen des Restrukturierungsalgorithmus zur Verwendung einer Monoblockanfrage • UNION ALL 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 7
2. Voraussetzungen2.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 (AVG) Semi-additiveAggregationsfunktionen Additive Aggregationsfunktionen (SUM) (MIN) Quelle: angelehnt an Abb. 7-3 Seite 218 [Leh03] 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 8
2. Voraussetzungen2.3 Aggregationsgitter ( ) ( A ) ( B ) ( C ) ( A, B ) ( A, C) ( B, C ) ( A, B, C ) • 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) 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 9
2. Voraussetzungen2.3 Aggregationsgitter • Mächtigkeit der Knotenmenge bei n Gruppierungsattributen: • |N| = (j=1,.., n) 2 = 2n • 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 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 10
3. Auswahl3.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 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 11
3. Auswahl3.1 Statisches Auswahlverfahren • Kostenfunktion: cq(n) • Kosten der Berechnung von Anfrage q aus dem zu n korrespondierenden Gitterpunkt im Aggregationsgitter • cq(n) = , falls q aus der zu n gehörenden Aggregationskombination nicht berechenbar • Monotonie einer Kostenfunktion • Monoton, wenn für 2 beliebige Knoten ni und nj N aus Aggregationsgitter gilt: |ni| < |nj| cq(ni) < cq(nj) |n| = Größe des jeweiligen Gitterpunktes • Monotonie steigt mit Größe und Anzahl der zu verarbeitenden Einheiten dieses Gitterpunktes 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 12
3. Auswahl3.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 • cq(M) = min (n M) (cq(n)) • Gesamtanfragekosten: • C(Q,M) = (q Q) f(qi) * cq(M) • F(qi) = 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 • CGesamt(Q, M) = C(Q,M) + U(M) 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 13
3. Auswahl3.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 • BQ(n, M) = CQ(M) – CQ(M {n}) falls ( CQ((M {n}) < CQ(M)) ) • BQ(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 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 14
3. Auswahl3.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) 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 15
3. Auswahl3.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 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 16
3. Auswahl3.1 Statisches Auswahlverfahren ( )1 ( A1 ) 12 ( A2 ) 50 ( A3 ) 100 ( A1, A2 ) 600 ( A1, A3 ) 1192 ( A2, A3 ) 3161 ( A1, A2, A3 ) 6000 • Beispiel: • 3 Tabellen: Monat A1, Region A2, Produktgruppe A3 Quelle: Abb. 7-22 [BaGu04] 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 17
3. Auswahl3.1 Statisches Auswahlverfahren • Komplexität des Verfahrens: O(n3) • 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 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 18
3. Auswahl3.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 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 19
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 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 20
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 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 21
3. Auswahl 3.2 Dynamisches Auswahlverfahren • Beispiel: • Auch initiale Füllung des Caches nach statischem Verfahren möglich Anfrage A7 ? A5 A6 A3 A2 Cache A4 A1 Quelle: Abb 7-25 [BaGu04] Detaildaten 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 22
4. Aktualisierung4.1 Prinzip der Effizienten Aktualisierung • 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 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 23
4. Aktualisierung4.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 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 24
4. Aktualisierung4.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 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 25
4. Aktualisierung4.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 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 26
4. Aktualisierung4.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 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 27
4. Aktualisierung4.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 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 28
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 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 29
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. 06.10.2014 Thema 11: Optimierung – Materialisierte Sichten 30