1 / 30

Seminar Data Warehousing SS 05

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

vala
Download Presentation

Seminar Data Warehousing SS 05

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Seminar Data WarehousingSS 05 Thema 11: Optimierung - Materialisierte Sichten Katja Thomas

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

More Related