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

Slides:



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

ER-Datenmodell und Abfragen in SQL
Christian Scheideler SS 2009
Vorlesung Programmieren II
Data Cubes PG Wissensmangement Seminarphase Hanna Köpcke Lehrstuhl für Künstliche Intelligenz Universität Dortmund.
Seminar zur Nebenläufigkeit in verteilten Systemen Kodierungsverfahren vorgestellt von Jens Brauckmann.
Suche in Texten (Stringsuche )
3. Kapitel: Komplexität und Komplexitätsklassen
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
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.
Der R-Baum Richard Göbel.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
Algorithmentheorie 04 –Hashing
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27-Selbstanordnende lineare Listen) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
eXtreme Programming (XP)
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Access 2000 Datenbanken.
Was sind Histogramme? (1)
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.
Intelligentes Crawling im WWW mit Hilfe intuitiver Suchbedingungen
1 Sichten (1) Oftmals ist es für Anwendungen einfacher, nicht mit dem Original- Datenbestand, sondern einem speziell zugeschnittenen Ausschnitt zu arbeiten.

Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
2.4 Rekursion Klassifikation und Beispiele
Datenbanksysteme für hörer anderer Fachrichtungen
00:13 Matthias Ansorg FH Gießen-Friedberg1 / 24 Multidimensionale Datenstrukturen - semantische und logische Modellierung Teilvortrag: logische Modellierung.
Integritätserhaltung und -Überprüfung in deduktiven Datenbanken
Structured Query Language
Eike Schallehn, Martin Endig
Analyse der Laufzeit von Algorithmen
1 Sichten-Änderungen (1) Änderungen von Sichten sind i.d.R. problematisch, da sie in entsprechende Änderungen der Basisrelationen überführt werden müssen.
Algebraische Optimierung (1)
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
Anfragen an multidimensonale Daten
- Studienarbeit - Entwurf und Umsetzung von kombinierten Anfragen für die Ähnlichkeitssuche auf digitalen Bilder auf der Basis von Regionen und Features.
Der A*-Algorithmus.
Aufbau semantischer Caches und Anfrageverarbeitung Seminar Semantic Caching 1/12 Kathleen Hänsch
Niko Zenker1 Besondere Aspekte in Multimedia-Datenbanken Methoden zur iterativen Anfrageverfeinerung (Relevanz Feedback)
Gliederung der Vorlesung
Komponenten und Phasen des Data Warehousing
Programmiersprachen II Fortsetzung Datenstrukturen Hashing Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
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
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Dr. Wolfram Amme, Semantik funktionaler Programme, Informatik II, FSU Jena, SS Semantik funktionaler Programme.
Spärliche Kodierung von Videos natürlicher Szenen Vortragender: Christian Fischer.
Comprehensive Information Base (CIB) – ein Prototyp zur semantischen Datenintegration Stefan Arts
 Gegenstandsbereich der Testtheorie: Analyse der Charakteristika von Tests:  Güte von Tests.  Struktur von Tests.  Schwierigkeit von Tests.  Gruppenunterschiede.
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
Independent Component Analysis: Analyse natürlicher Bilder Friedrich Rau.
 Präsentation transkript:

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

Thema 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

Thema 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

Thema 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

Thema 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

Thema 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

Thema 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

Thema 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]

Thema 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 )

Thema 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: 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

Thema 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

Thema 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

Thema 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)

Thema 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

Thema 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)

Thema 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

Thema 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 ) Auswahl2. Auswahl PA PR AR P A R 5400 * 4 = * 4 = * 4 = * 2 = * 2 = * 2 = * 2 = * 3 = * 2 = * 2 = * 2 = Quelle: Abb [BaGu04]

Thema 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

Thema 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

Thema 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

Thema 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

Thema 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] ?

Thema 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

Thema 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

Thema 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

Thema 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

Thema 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

Thema 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

Thema 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

Thema 11: Optimierung – Materialisierte Sichten30 6. Literatur [BaGu04]Bauer, A; Günzel, H.: Data Warehouse Systeme. Architektur, Entwicklung, Anwendung. Heidelberg: dpunkt.verlag [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 [BPT97] Baralis, E.; Paraboschi, S.; Teniente, E.: Materialized view selection in a multi-dimensional datacube. In VLDB, pages [Gup97] Gupta, H.: Selection of views to materialize in a data warehouse. In Proc. Sixth ICDT [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) [ZMHW95] Zhuge, Y.; Molina, H. G.; Hammer, J.; Widom, J.: View maintenance in a warehousing environment. In Proc. ACM SIGMOD ' [Mak99] Makkonen, J.: Lifespan of Data in a Warehouse. Department of Computer Science, University of Helsinki