Aufbau semantischer Caches und Anfrageverarbeitung Seminar Semantic Caching 1/12 Kathleen Hänsch
Gliederung ○Einleitung ○Aufbau semantischer Caches ○Anfrageverarbeitung ○Zusammenfassung und Ausblick 2/12 Kathleen Hänsch
Semantische Caches ○Semantische Caches: lokal gecachte Ergebnisse gestellter Anfragen ○einige Vorteile: ○Optimierung von Anfragen ○Datensicherheit ○Toleranz von Ausfällen ○bessere Speicherausnutzung 3/12 Kathleen Hänsch
Modell für das Clustering ○Modell für den semantischen Cache: semantisches Segment S: 4/12 Kathleen Hänsch S R … BasisrelationS P … Eingrenzungskriterium S A … AttributmengeS C … Inhalt ○Zusammenfassung von Segmenten zu Cluster ○Modell für den Cluster C: C ID … IDC TS … ZeitstempelC SEQ … Queue
Cache Verwaltung mit Clustering 5/12 Kathleen Hänsch Cluster c 49 1 Query Q Cluster c Cluster c Cluster c Cluster d 59 1 Query Q Cluster c Query Q durch ein Segment beantwortbar Ein Segment wird leer Q durch Segmente aus zwei Clustern beantwortbar 1
Cache Partitionierung ○große Cache Fragmente werden in kleinere unterteilt ○logische und physische Cache Partitionierung ○Problem: „Über-Partitionierung“ 6/12 Kathleen Hänsch
Beispiel für Cache Partitionierung 7/12 Kathleen Hänsch Cache (physische Partitionierung) Zeit t 0 Cache (logische Partitionierung) C0C0 C0C0 C0C0 C0C0 Cache (physische Partitionierung) Zeit t 1 Cache (logische Partitionierung) C1C1 C1C1 C0C0 C0C0 C2C2 C3C3 C2C2 C3C3 C1C1 C2C2 C3C3 Cache (physische Partitionierung) Zeit t 2 Cache (logische Partitionierung) C1C1 C1C1 C0C0 C0C0 C2C2 C4C4 C2C2 C4C4 C1C1 C2C2 C3C3 C5C5 C6C6 C5C5 C6C6 C4C4 C5C5 C6C6
Anfrageverarbeitung ○Prädikat-basierte Beschreibung des Cache-Inhalt (Verwendung semantischer Segmente) ○Nur Selektions-, Projektions- und Join-Prädikate zulässig ○Beschreibung einer Anfragen entspricht dem eines semantischen Segments Q: 8/12 Kathleen Hänsch Q R … BasisrelationQ P … Eingrenzungskriterium Q A … AttributmengeQ C … Inhalt
Antwort einer Anfrage im Cache? ○Ist Q : durch S: beantwortbar? ○Q durch S vollständig beantwortbar, wenn: S R = Q R, Q A S A, Q PA S A und Q P S P erfüllbar (Q PA : Menge der Attribute aus Q P ) ○Q durch S beantwortbar, wenn gilt: 1.S R = Q R, Q A S A, Q PA S A und Q P S P erfüllbar oder 2.S R = Q R, S A Q A, Q PA S A und Q P S P erfüllbar oder 3.S R = Q R, S A Q A, Q PA S A und Q P S P erfüllbar 9/12 Kathleen Hänsch
Anfrageverarbeitung (1) ○S beinhaltet alle Schlüsselattribute von S R (K A ) und Q PA S A ○Teilung von Q in eine „Probe Query“ (PR) und „Remainder Query“ (RQ) ○Fall 1: Q nicht durch S beantwortbar PR = NULL RQ = Q = QA QP (Q R1 … Q Rn ) ○Fall 2: Q vollständig durch S beantwortbar PR = Q = QA QP (S C ) RQ = NULL 10/12 Kathleen Hänsch Cache Query Cache Query
Anfrageverarbeitung (1) ○Fall 3: Q wird durch S horizontal partitioniert PR = QA KA QP (S C ) RQ = QA KA QP SP (Q R1 … Q Rn ) ○Fall 4: Q wird durch S vertikal partitioniert PR = (QA SA) KA QP (S C ) RQ = (QA SA) KA QP (Q R1 … Q Rn ) ○Fall 5: Q wird durch S vertikal und horizontal partitioniert: Rückführung auf Fall 3 und 4 11/12 Kathleen Hänsch Cache Query Cache Query Cache Query
Zusammenfassung und Ausblick ○verschiedene Verfahren zum Cache-Aufbau und Anfragenverarbeitung ○Optimierungsmöglichkeiten ○Welche Daten sollen gecacht werden? ○Was passiert, wenn der Cache voll ist? ○Ist der Cache-Inhalt gültig? 12/12 Kathleen Hänsch