Kapitel 8 Anfragebearbeitung. Logische Optimierung Physische Optimierung Kostenmodelle Tuning
|
|
- Etta Martin
- vor 5 Jahren
- Abrufe
Transkript
1 Kapitel 8 Anfragebearbeitung Logische Optimierung Physische Optimierung Kostenmodelle Tuning
2 Ablauf der Anfrageoptimierung Deklarative Anfrage Scanner Parser Sichtenauflösung Algebraischer Ausdruck Anfrage- Optimierer Auswertungs- Plan (QEP) Codeerzeugung Ausführung
3 Logische Optimierung
4 Kanonische Übersetzung π A1,..., An σ P select A1,..., An from R1,..., Rk where P Rk R R1 R 4
5 Kanonische Übersetzung select Titel from Professoren, Vorlesungen where Name = Popper and PersNr = gelesenvon π Titel σ Name = Popper and PersNr=gelesenVon Professoren Vorlesungen π Titel (σ Name = Popper and PersNr=gelesenVon (Professoren Vorlesungen))
6 Erste Optimierungsidee select Titel from Professoren, Vorlesungen where Name = Popper and PersNr = gelesenvon π Titel σ PersNr=gelesenVon σ Name = Popper Vorlesungen Professoren π Titel (σ PersNr=gelesenVon ((σ Name = Popper Professoren) Vorlesungen)) 6
7 Optimierung von Datenbank- Anfragen Grundsätze: Sehr hohes Abstraktionsniveau der mengenorientierten Schnittstelle (SQL). Sie ist deklarativ, nicht-prozedural, d.h. es wird spezifiziert, was man finden möchte, aber nicht wie. Das wie bestimmt sich aus der Abbildung der mengenorientierten Operatoren auf Schnittstellen- Operatoren der internen Ebene (Zugriff auf Datensätze in Dateien, Einfügen/Entfernen interner Datensätze, Modifizieren interner Datensätze). Zu einem was kann es zahlreiche wie s geben: effiziente Anfrageauswertung durch Anfrageoptimierung. i.allg. wird aber nicht die optimale Auswertungsstrategie gesucht (bzw. gefunden) sondern eine einigermaßen effiziente Variante Ziel: avoiding the worst case 7
8 Äquivalenzerhaltende Transformationsregeln 1. Aufbrechen von Konjunktionen im Selektionsprädikat σ (R ) σ (σ ( (σ c (R )) )) 1 c... cn c1 c cn. σ ist kommutativ σ (σ ((R )) σ (σ c ((R )) 1 c c c1. π -Kaskaden: Falls L 1 L L n, dann gilt π (π ( (π (R )) )) π (R ) L 1 L Ln L1 4. Vertauschen von σ und π Falls die Selektion sich nur auf die Attribute A 1,, A n der Projektionsliste bezieht, können die beiden Operationen vertauscht werden π A 1,, (σ An c (R )) σ c (π A1,, (R )) An.,, und A sind kommutativ R A c S S A c R 8
9 Äquivalenzerhaltende Transformationsregeln 6. Vertauschen von σ mit A Falls das Selektionsprädikat c nur auf Attribute der Relation R zugreift, kann man die beiden Operationen vertauschen: σ c (R A j S) σ c (R) A j S Falls das Selektionsprädikat c eine Konjunktion der Form c 1 c ist und c 1 sich nur auf Attribute aus R und c sich nur auf Attribute aus S bezieht, gilt folgende Äquivalenz: σ c (R A j S) σ c1 (R) A j (σ c (S)) 9
10 Äquivalenzerhaltende Transformationsregeln 7. Vertauschung von π mit A Die Projektionsliste L sei: L = {A 1,,A n, B 1,,B m }, wobei A i Attribute aus R und B i Attribute aus S seien. Falls sich das Joinprädikat c nur auf Attribute aus L bezieht, gilt folgende Umformung: π L (R A c S) (π A 1,, An (R)) A c (π B1,, Bn (S)) Falls das Joinprädikat sich auf weitere Attribute, sagen wir A 1 ',, A p ', aus R und B 1 ',, B q ' aus S bezieht, müssen diese für die Join-Operation erhalten bleiben und können erst danach herausprojiziert werden: π L (R A c S) π L (π A 1,, An, A1,, An (R) A c π B 1,, Bn, B1,, Bn (R)) Für die -Operation gibt es kein Prädikat, so dass die Einschränkung entfällt. 10
11 Äquivalenzerhaltende Transformationsregeln 8. Die Operationen A,,, sind jeweils (einzeln betrachtet) assoziativ. Wenn also Φ eine dieser Operationen bezeichnet, so gilt: (R ΦS ) ΦT R Φ(S ΦT ) 9. Die Operation σ ist distributiv mit,,. Falls Φ eine dieser Operationen bezeichnet, gilt: σ c (R ΦS) (σ c (R)) Φ (σ c (S)) 10. Die Operation π ist distributiv mit. π c (R S) (π c (R)) (π c (S)) 11
12 Äquivalenzerhaltende Transformationsregeln 11. Die Join- und/oder Selektionsprädikate können mittels de Morgan's Regeln umgeformt werden: (c 1 c ) ( c 1 ) ( c ) (c 1 c ) ( c 1 ) ( c ) 1. Ein kartesisches Produkt, das von einer Selektions- Operation gefolgt wird, deren Selektionsprädikat Attribute aus beiden Operanden des kartesischen Produktes enthält, kann in eine Joinoperation umgeformt werden. Sei c eine Bedingung der Form A θ B, mit A ein Attribut von R und B ein Attribut aus S. σ c (R S ) R A c S 1
13 Heuristische Anwendung der Transformationsregeln 1. Mittels Regel 1 werden konjunktive Selektionsprädikate in Kaskaden von σ-operationen zerlegt.. Mittels Regeln, 4, 6, und 9 werden Selektionsoperationen soweit nach unten propagiert wie möglich.. Mittels Regel 8 werden die Blattknoten so vertauscht, dass derjenige, der das kleinste Zwischenergebnis liefert, zuerst ausgewertet wird. 4. Forme eine -Operation, die von einer σ-operation gefolgt wird, wenn möglich in eine A-Operation um. Mittels Regeln, 4, 7, und 10 werden Projektionen soweit wie möglich nach unten propagiert. 6. Versuche Operationsfolgen zusammenzufassen, wenn sie in einem Durchlauf ausführbar sind (z.b. Anwendung von Regel 1, Regel, aber auch Zusammenfassung aufeinanderfolgender Selektionen und Projektionen zu einer Filter -Operation). 1
14 Anwendung der Transformationsregeln select distinct s.semester from Studenten s, hören h Vorlesungen v, Professoren p where p.name = Sokrates and v.gelesenvon = p.persnr and v.vorlnr = h.vorlnr and h.matrnr = s.matrnr π s.semester σ p.name = Sokrates and... p v s h 14
15 Aufspalten der Selektionsprädikate π s.semester π s.semester σ p.name = Sokrates and... σ p.persnr=v.gelesenvon σ v.vorlnr=h.vorlnr σ s.matrnr=h.matrnr s h v p s h σ p.name = Sokrates v p 1
16 Verschieben der Selektionsprädikate Pushing Selections π s.semester σ p.persnr=v.gelesenvon π s.semester σ v.vorlnr=h.vorlnr σ p.persnr=v.gelesenvon σ s.matrnr=h.matrnr σ p.name = Sokrates s h v p s h σ v.vorlnr=h.vorlnr σ s.matrnr=h.matrnr v σ p.name = `Sokrates` p 16
17 Zusammenfassung von Selektionen und Kreuzprodukten zu Joins π s.semester σ p.persnr=v.gelesenvon π s.semester A p.persnr=v.gelesenvon s h σ v.vorlnr=h.vorlnr σ s.matrnr=h.matrnr v σ p.name = Sokrates p A v.vorlnr=h.vorlnr σ p.name = Sokrates A s.matrnr=h.matrnr v p s h
18 Optimierung der Joinreihenfolge Kommutativität und Assoziativität ausnutzen π s.semester π s.semester A p.persnr=v.gelesenvon A s.matrnr=h.matrnr A v.vorlnr=h.vorlnr s A v.vorlnr=h.vorlnr σ p.name = Sokrates A s.matrnr=h.matrnr v p A p.persnr=v.gelesenvon h s h σ p.name = Sokrates v p 18
19 Was hat s gebracht? 4 π s.semester 4 π s.semester A s.matrnr=h.matrnr 1 A p.persnr=v.gelesenvon 4 A v.vorlnr=h.vorlnr s 1 A v.vorlnr=h.vorlnr σ p.name = Sokrates A s.matrnr=h.matrnr v p 1 A p.persnr=v.gelesenvon h s h σ p.name = Sokrates v p 19
20 Einfügen von Projektionen π s.semester π s.semester A s.matrnr=h.matrnr A s.matrnr=h.matrnr A v.vorlnr=h.vorlnr s π h.matrnr A v.vorlnr=h.vorlnr s A p.persnr=v.gelesenvon A p.persnr=v.gelesenvon h h σ p.name = Sokrates v σ p.name = Sokrates v p p 0
21 Eine weitere Beispieloptimierung 1
22
23
24 4
25
26 6
27 7
28 Physische Optimierung 8
29 Anwendungsprogramm 9
30 Pull-based Query Evaluation next open Return Ergebnis 0
31 Pipelining vs. Pipeline-Breaker R S T 1
32 Pipelining vs. Pipeline-Breaker R S T
33 Pipeline-Breaker Unäre Operationen sort Duplikatelimination (unique,distinct) Aggregatoperationen (min,max,sum,...) Binäre Operationen Mengendifferenz Je nach Implementierung Join Union
34 Implementierung der Verbindung (JOIN) Beispiele: Op6 Employee A DNO = Dnumber Department Op7 Department A MgrSSN = SSN Employee Zu betrachten allgemein: Implementierungs-Varianten für R A A=B S 4
35 Optimierung zentralisierter Anfragen Literatur: E. Elmasri and S. Navathe: Fundamentals of Database Systems. Benjamin Cummings, 1999, Redwood City, CA. G. Moerkotte: Konstruktion von Anfrageoptimierer für Objektbanken. Shaker-Verlag, 199, Aachen. G. Graefe: Query Evaluation Techniques for Large Databases, ACM Computing Surveys, 199, volume, number, pages 7-0. Ein ganz toller Übersichtsartikel Pflichtlektüre
36 6
37 Implementierung der Verbindung: Strategien J1 nested (inner-outer) loop brute force -Algorithmus foreach r R foreach s S if s.b = r.a then Res := Res (r o s) 7
38 8
39 Implementierung der Verbindung: Strategien Block-Nested Loop Algorithmus R m-k m-k m-k m-k m-k S k k k k k k 9
40 Implementierung der Verbindung: Strategien J Zugriffsstruktur auf S Index Nested Loop Join in jedem Durchlauf von R werden nur die in S qualifizierenden Tupel gelesen dazu ist ein Index auf B erforderlich foreach r R foreach s S[B=r.A] Res := Res (r o s) 40
41 41
42 Implementierung der Verbindung: Strategien J Sort-Merge Join erfordert zwei Sortierungen 1. R muss nach A und. S nach B sortiert sein sehr effizient falls A oder B Schlüsselattribut ist, wird jedes Tupel in R und S nur genau einmal gelesen R A S B Ergebnis: A B
43 4
44 Implementierung der Verbindung: Strategien J4 Hash-Join R und S werden mittels der gleichen Hashfunktion h angewendet auf R.A und S.B auf (dieselben) Hash- Buckets abgebildet Hash-Buckets sind i.allg. auf Hintergrundspeicher (abhängig von der Größe der Relationen) Zu verbindende Tupel befinden sich dann im selben Bucket Wird (nach praktischen Tests) nur von J geschlagen, wenn die Relationen schon vorsortiert sind 44
45 Implementierung der Verbindung: Strategien R A r 1 r 7 r 8 r 4 S B 7 s 1 s 10 s s 4 h(a) h(b ) r 1 r 4 s 1 r 7 7 s r 8 s 4 10 s Bucket 1 Bucket Bucket 4
46 Normaler blockierender Hash-Join mit Überlauf: Partitionieren P1 P1 P Partition h(r.a) Partition h(s.a) P P receive receive P Send Send R S 46
47 Normaler blockierender Hash-Join mit Überlauf: Build/Probe P1 Lade Blöcke von P1 Hashtabelle build P1 P Partition h(r.a) probe P P P Send R Send S 47
48 48
49 49
50 0
51 1
52 Hybrid Hash-Join Fange so an, als wenn der Build-Input S vollständig in den Hauptspeicher passen würde Sollte sich dies als zu optimistisch herausstellen, verdränge eine Partition nach der anderen aus dem Hauptspeicher Mindestens eine Partition wird aber im Hauptspeicher verbleiben Danach beginnt die Probe-Phase mit der Relation R Jedes Tupel aus R, dessen potentielle Join-Partner im Hauptspeicher sind, wird sogleich verarbeitet Hybrid Hash-Join ist dann besonders interessant, wenn der Build-Input knapp größer als der Hauptspeicher ist Kostensprung beim normalen Hash-Join Wird oft auch Grace-Hash-Join genannt, weil er für die Datenbankmaschine Grace in Japan erfunden wurde
53 Hybrid Hash-Join Hashtabelle P1 P P R S
54 Hybrid Hash-Join Hashtabelle P1 P P R S 4
55 Hybrid Hash-Join Hashtabelle P1 P P R S
56 Hybrid Hash-Join Hashtabelle P Partition h(r.a) probe P P P R Wenn r zur ersten Partition gehört 6
57 Parallele Anfragebearbeitung: Hash Join sp lit sp lit sp lit sp lit me rge me rge me rge me rge scan scan scan scan join join A B A B Ai Bi Aj Bj 7
58 Paralleler Hash Join im Detail 1. An jeder Station werden mittels Hash-Funktion h1 die jeweiligen Partitionen von A und B in A1,...,Ak und B1,...,Bk zerlegt h1 muss so gewählt werden, dass alle Ai s aller Stationen in den Hauptspeicher passen. Für alle 1 <= i <= n: Berechne jetzt den Join von Ai mit Bi wie folgt a. Wende eine weitere Hash-Funktion h an, um Ai auf die l Stationen zu verteilen Sende Tupel t an Station h(t) b. Eintreffende Ai-Tupel werden in die Hash-Tabelle an der jeweiligen Station eingefügt c. Sobald alle Tupel aus Ai verschickt sind, wird h auf Bi angewendet und Tupel t an Station h(t) geschickt d. Sobald ein Bi-Tupel eintrifft, werden in der Ai-Hashtabelle seine Joinpartner ermittelt. 8
59 Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus R R S Nested Loop: O(N ) Sortieren: O(N log N) Partitionieren und Hashing S
60 Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus R Mod R R S S
61 Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus R Mod R R S S Mod S
62 Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus R Mod R R S S Mod S
63 Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus R R S 6 7 Hashtabelle Mod Build- Phase S
64 Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus R Mod R S = {, } Probe- Phase 6 7 S
65 Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus R R S = {, } 1 4 Build-Phase. Partition Mod S
66 Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus R Mod R S = {, } 1 4 Probe-Phase. Partition S
67 Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus R Mod R S = {, 1 } 1 4 Probe-Phase. Partition S
68 Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus R Mod R S = {, 1,, 44, } R S Mod S
69 Prallelausführung von Aggregat- Operationen Min: Min(R.A) = Min ( Min(R1.A),..., Min(Rn.A) ) Max: analog Sum: Sum(R.A) = Sum ( Sum(R1.a),..., Sum(Rn.A) ) Count: analog Avg: man muß die Summe und die Kardinalitäten der Teilrelationen kennen; aber vorsicht bei Null-Werten! Avg(R.A) = Sum(R.A) / Count(R) gilt nur wenn A keine Nullwerte enthält. 69
70 Join mit Hashfilter (Bloom-Filter) R1 S1 R partitionieren partitionieren S Bit (realistisch R *k Bits) False drops 70
71 Join mit Hashfilter (False Drop Abschätzung) Wahrscheinlichkeit, dass ein bestimmtes Bit j gesetzt ist W. dass ein bestimmtes r R das Bit setzt: 1/b W. dass kein r R das Bit setzt: (1-1/b) R W. dass ein r R das Bit gesetzt hat: 1- (1-1/b) R j b
72 Vergleich: Sort/Merge-Join versus Hash-Join merge R run run S merge R partiti on partiti on S 7
73 Illustration: Externes Sortieren
74 Illustration: Externes Sortieren
75 Illustration: Externes Sortieren
76 Illustration: Externes Sortieren sort 76
77 Illustration: Externes Sortieren sort run 77
78 Illustration: Externes Sortieren run 78
79 Illustration: Externes Sortieren sort run 79
80 Illustration: Externes Sortieren run 80
81 Illustration: Externes Sortieren sort run 81
82 Illustration: Externes Sortieren merge run 8
83 Illustration: Externes Sortieren merge run 8
84 Illustration: Externes Sortieren merge run 84
85 Illustration: Externes Sortieren merge run 8
86 Illustration: Externes Sortieren merge run 86
87 Illustration: Externes Sortieren run 87
88 Externes Sortieren: Merge mittels Heap/Priority Queue merge run 88
89 Externes Sortieren: Merge mittels Heap/Priority Queue merge run 89
90 Externes Sortieren: Merge mittels Heap/Priority Queue run 90
91 Externes Sortieren: Merge mittels Heap/Priority Queue Ganz wichtig: aus dem grünen Run nachladen (also aus dem Run, aus dem das Objekt stammte) run 91
92 Externes Sortieren: Merge mittels Heap/Priority Queue run 9
93 Externes Sortieren: Merge mittels Heap/Priority Queue run 9
94 Externes Sortieren: Merge mittels Heap/Priority Queue run 94
95 Externes Sortieren: Merge mittels Heap/Priority Queue run 9
96 Mehrstufiges Mischen / Merge Level 0 m Level 1 m Level 96
97 Replacement Selection während der Run-Generierung Ersetze Array durch Einen Heap
98 Replacement Selection während der Run-Generierung Heap
99 Replacement Selection während der Run-Generierung Heap
100 Replacement Selection während der Run-Generierung Heap
101 Replacement Selection während der Run-Generierung Heap
102 Replacement Selection während der Run-Generierung Heap
103 Replacement Selection während der Run-Generierung Heap
104 Replacement Selection während der Run-Generierung Heap
105 Replacement Selection während der Run-Generierung Heap
106 Replacement Selection während der Run-Generierung Heap
107 Replacement Selection während der Run-Generierung Heap
108 Replacement Selection während der Run-Generierung Heap
109 Replacement Selection während der Run-Generierung Heap
110 Replacement Selection während der Run-Generierung Heap - 16 Nächster Run, kleiner als
111 Replacement Selection während der Run-Generierung Heap - 16 Nächster Run, kleiner als
112 Replacement Selection während der Run-Generierung Heap
113 Replacement Selection während der Run-Generierung Heap
114 Replacement Selection während der Run-Generierung Heap
115 Replacement Selection während der Run-Generierung Heap
116 Replacement Selection während der Run-Generierung Heap
117 Replacement Selection während der Run-Generierung Heap
118 Replacement Selection während der Run-Generierung Heap
119 Replacement Selection während der Run-Generierung Heap
120 Replacement Selection während der Run-Generierung Heap
121 Replacement Selection während der Run-Generierung Heap
122 Implementierungs-Details Natürlich darf man nicht einzelne Datensätze zwischen Hauptspeicher und Hintergrundspeicher transferieren Jeder Round-Trip kostet viel Zeit (ca 10 ms) Man transferiert größere Blöcke Mindestens 8 KB Größe Replacement Selection ist problematisch, wenn die zu sortierenden Datensätze variable Größe habe Der neue Datensatz passt dann nicht unbedingt in den frei gewordenen Platz, d.h., man benötigt eine aufwendigere Freispeicherverwaltung Replacement Selection führt im Durchschnitt zu einer Verdoppelung der Run-Länge Beweis findet man im [Knuth] Komplexität des externen Sortierens? O(N log N)?? 1
123 Algorithmen auf sehr großen Datenmengen R R S Nested Loop: O(N ) Sortieren: O(N log N) Partitionieren und Hashing S
124 Übersetzung der logischen Algebra NestedLoop R.A=S.B MergeJoin R.A=S.B R [Bucket] [Sort R.A ] [Sort S.B ] S R S A R.A=S.B R S IndexJoin R.A=S.B R [Hash S.B Tree S.B ] S HashJoin R.A=S.B R S 14
125 Übersetzung der logischen Algebra IndexSelect P R σ P R Select P R 1
126 Übersetzung der logischen Algebra [IndexDup] [Hash Tree] Project l R π l R [NestedDup] [SortDup] Sort Project l R Project l R 16
127 Ein Auswertungsplan Ein Auswertungsplan 17
128 Wiederholung der Optimierungsphasen select distinct s.semester from Studenten s, hören h Vorlesungen v, Professoren p where p.name = Sokrates and v.gelesenvon = p.persnr and v.vorlnr = h.vorlnr and h.matrnr = s.matrnr π s.semester σ p.name = Sokrates and... p v s h 18
129 π s.semester A s.matrnr=h.matrnr A v.vorlnr=h.vorlnr s A p.persnr=v.gelesenvon h σ p.name = Sokrates v p 19
130 Kostenbasierte Optimierung Generiere alle denkbaren Anfrageauswertungspläne Enumeration Bewerte deren Kosten Kostenmodell Statistiken Histogramme Kalibrierung gemäß verwendetem Rechner Abhängig vom verfügbaren Speicher Aufwands-Kostenmodell Durchsatz-maximierend Nicht Antwortzeit-minimierend Behalte den billigsten Plan 10
131 11
132 Selektivität Sind verschiedene Strategien anwendbar, so benötigt man zur Auswahl eine Kostenfunktion. Sie basiert auf dem Begriff der Selektivität. Die Selektivität eines Suchprädikats schätzt die Anzahl der qualifizierenden Tupel relativ zur Gesamtanzahl der Tupel in der Relation. Beispiele: die Selektivität einer Anfrage, die das Schlüsselattribut einer Relation R spezifiziert, ist 1/ #R, wobei #R die Kardinalität der Relation R angibt. Wenn ein Attribut A spezifiziert wird, für das i verschiedene Werte existieren, so kann die Selektivität als (#R/i) / #R oder 1/i abgeschätzt werden. 1
133 1
134 Abschätzung für einfache Fälle 14
135 Parametrisierte Verteilung Histogramm 1
136 16
137 I/O-Kosten: Block Nested Loop Join
138 Tuning von Datenbanken Statistiken (Histogramme, etc.) müssen explizit angelegt werden Anderenfalls liefern die Kostenmodelle falsche Werte In Oracle analyze table Professoren compute statistics for table; Man kann sich auch auf approximative Statistiken verlassen Anstatt compute verwendet man estimate In DB runstats on table 18
139 Analysieren von Leistungsengpässen Geschätzte Kosten von Oracle 19
140 Baumdarstellung 140
141 Beispiel Anfrage Auswertungsplan SELECT * FROM A, B, C WHERE A.a = B.a AND B.b = C.a ; HashJ 1 ship client IdxNLJ 1 idxscan Blätter Tabellen innere Knoten Operatoren Annotation Ausführungsorte fscan 1 fscan C A 1 B 141
142 Algorithmen - Ansätze Erschöpfende Suche Dynamische Programmierung (System R) A* Suche Heuristiken (Planbewertung nötig) Minimum Selectivity, Intermediate Result,... KBZ-Algorithmus, AB-Algorithmus Randomisierte Algorithmen Iterative Improvement Simulated Annealing 14
143 Problemgröße Suchraum (Planstruktur) 1. # Bushy-Pläne mit n Tabellen [Ganguly et al. 199]: n e n ((n-1))!/(n-1)! ((n-1))! (n-1)! ,76* ,8 * ,* Plankosten unterscheiden sich um Größenordnungen. Optimierungsproblem ist NP-hart [Ibaraki 1984] 14
144 Dynamische Programmierung II Identifikation von Phasen 1. Access Root - Phase: Aufzählen der Zugriffspläne. Join Root - Phase: Aufzählen der Join-Kombinationen. Finish Root - Phase: sort, group-by, etc. 144
145 Optimierung durch Dynamische Programmierung Standardverfahren in heutigen relationalen Datenbanksystemen Voraussetzung ist ein Kostenmodell als Zielfunktion I/O-Kosten CPU-Kosten DP basiert auf dem Optimalitätskriterium von Bellman Literatur zu DP: D. Kossmann und K. Stocker: Iterative Dynamic Programming, TODS, 000 to appear (online) Opti male r Sub plan O S - O Opti male r Sub plan 14
146 DP - Beispiel 1. Phase: Zugriffspläne ermitteln Index Pläne {ABC} {BC} {AC} {AB} {C} {B} {A} 146
147 DP - Beispiel 1. Phase: Zugriffspläne ermitteln Index Pläne {ABC} {BC} {AC} {AB} {C} {B} {A} scan(c) scan(b), iscan(b) scan(a) 147
148 DP - Beispiel Index {ABC} {BC} {AC} {AB} {C} {B} {A}. Phase: Join-Pläne ermitteln (-fach,...,n-fach) Pläne Pruning... s(a) A s(c), s(c) A s(a) s(a) A s(b), s(a) A is(b), is(b) A s(a),... scan(c) scan(b), iscan(b) scan(a) 148
149 DP - Beispiel. Phase: Finalisierung Index {ABC} {BC} {AC} {AB} Pläne (is(b) A s(a)) A s(c)... s(a) A s(c) s(a) A is(b), is(b) A s(a) {C} scan(c) {B} scan(b), iscan(b) {A} scan(a) 149
150 Enumeration Effiziente Enumeration [Vance 96] anstatt zunächst alle -elem, -elem,..., n-elem Pläne sequentiell zu enumerieren: effizientes Interleaving nur Pläne aus bereits berechneten Zeilen notwendig Beispiel: 1. A. B. AB 4. C. AC 6. BC 7. ABC 10
Anfragebearbeitung. Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1
Anfragebearbeitung Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1 Ablauf der Anfrageoptimierung Deklarative Anfrage (SQL) Scanner Parser Sichtenauflösung Algebraischer Ausdruck
MehrKapitel 8 Anfragebearbeitung. Logische Optimierung Physische Optimierung Kostenmodelle Tuning
Kapitel 8 Anfragebearbeitung Logische Optimierung Physische Optimierung Kostenmodelle Tuning Ablauf der Anfrageoptimierung Deklarative Anfrage Scanner Parser Sichtenauflösung Algebraischer Ausdruck Auswertungs-
MehrKapitel 8 Anfragebearbeitung
Kapitel 8 Anfragebearbeitung Das Bild kann nicht angezeigt werden. Dieser Computer verfügt möglicherweise über zu wenig Arbeitsspeicher, um das Bild zu öffnen, oder das Bild ist beschädigt. Starten Sie
MehrKapitel 8 Anfragebearbeitung. Logische Optimierung Physische Optimierung Kostenmodelle Tuning
Kapitel 8 Anfragebearbeitung Logische Optimierung Physische Optimierung Kostenmodelle Tuning Ablauf der Anfrageoptimierung Deklarative Anfrage Scanner Parser Sichtenauflösung Algebraischer Ausdruck AnfrageOptimierer
MehrAnfrageoptimierung Physische Optimierung
Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Physische Optimierung Dr. Thomas Gottron Wintersemester 01/1 Ziel der phyischen Optimierung Konkrete Implementation der Operatoren
MehrAnfragebearbeitung 2. Vorlesung Datenbanksysteme vom
Vorlesung Datenbanksysteme vom 21.11.2016 Anfragebearbeitung 2 Architektur eines DBMS Logische Optimierung Physische Optimierung Kostenmodelle + Tuning Physische Optimierung Iterator: einheitliche Schnittstelle
MehrPhysische Anfrageoptimierung
Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Dr. Jérôme Kunegis Wintersemester 201/14 Ziel der physischen Optimierung π[titel] Konkrete Implementation der
MehrDatenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann
Datenbanksysteme I Anfragebearbeitung und -optimierung 9.1.2008 Felix Naumann Anfragebearbeitung Grundproblem 2 Anfragen sind deklarativ. SQL, Relationale Algebra Anfragen müssen in ausführbare (prozedurale)
MehrAnfragebearbeitung 1. Vorlesung Datenbanksysteme vom
Vorlesung Datenbanksysteme vom 16.11.016 Anfragebearbeitung 1 Architektur eines DBMS Logische Optimierung Physische Optimierung Kostenmodelle + Tuning Architektur eines DBMS SW-Komponenten der Anfragebearbeitung
MehrDatenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann
Datenbanksysteme I Anfragebearbeitung und -optimierung 22.6.2009 Felix Naumann Anfragebearbeitung Grundproblem 2 Anfragen sind deklarativ. SQL, Relationale Algebra Anfragen müssen in ausführbare (prozedurale)
MehrAnfrageoptimierung Kostenabschätzung
Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Kostenabschätzung Dr. Thomas Gottron Wintersemester 2012/13 Regel vs. Kostenbasierte Optimierung Bisher: Regeln, wie Optimierung
MehrAnfrageoptimierung Kostenmodelle
Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Anfrageoptimierung Kostenmodelle Dr. Jérôme Kunegis Wintersemester 2013/14 Regel vs. Kostenbasierte Optimierung
MehrAnfrageoptimierung Logische Optimierung
Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Logische Optimierung Dr. Thomas Gottron Wintersemester 2012/13 Ablauf der Deklarative Anfrage Scanner Parser Sichtenauflösung Algebraischer
MehrArchitektur eines DBMS Logische Optimierung
Vorlesung Datenbanksysteme vom 16.11.2015 Anfragebearbeitung 1 Architektur eines DBMS Logische Optimierung Physische Optimierung Kostenmodelle + Tuning Architektur eines DBMS SW-Komponenten der Anfragebearbeitung
MehrDatenbanksysteme I Anfragebearbeitung und -optimierung. 27.6.2011 Felix Naumann
Datenbanksysteme I Anfragebearbeitung und -optimierung 27.6.2011 Felix Naumann Anfragebearbeitung Grundproblem 2 Anfragen sind deklarativ. SQL, Relationale Algebra Anfragen müssen in ausführbare (prozedurale)
MehrAnfragebearbeitung. Anfrage. Übersetzer. Ausführungsplan. Laufzeitsystem. Ergebnis
Anfragebearbeitung Anfrage Übersetzer Ausführungsplan Laufzeitsystem Ergebnis Übersetzung SQL ist deklarativ, Übersetzung für Laufzeitsystem in etwas prozedurales DBMS übersetzt SQL in eine interne Darstellung
MehrKostenmodelle und Tuning. Anfragebearbeitung 3. Kostenmodelle. Kostenbasierte Optimierung. VL Datenbanksysteme
Kostenmodelle und Tuning Anfragebearbeitung 3 VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Grundidee
MehrKapitel 10: Relationale Anfragebearbeitung
Ludwig Maimilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 201/2016 Kapitel 10: Relationale Anfragebearbeitung Vorlesung:
MehrKapitel 10: Relationale Anfragebearbeitung
Ludwig Maimilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Datenbanksysteme I Wintersemester 2017/2018 Kapitel 10: Relationale Anfragebearbeitung
MehrIndexstrukturen in SQL
Indestrukturen in SQL Anlegen eines Primärinde in SQL: Anlegen eines Sekundärinde in SQL: Bsp: create table Dozenten ( DNr integer primary key, Name varchar(0), Geburt date, ) create [Unique] inde indename
Mehr6. Anfragebearbeitung
6. Anfragebearbeitung 6.1 Einleitung 6.2 Indexstrukturen 6.3 Grundlagen der Anfrageoptimierung 6.4 Logische Anfrageoptimierung 6.5 Kostenmodellbasierte Anfrageoptimierung 55 Fokus: Effiziente Berecnung
MehrIMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN
Joins 1 Literatur IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN A. Kemper, A. Eickler: Datenbanksysteme Eine Einführung, 8. Auflage Oldenburg Verlag, 2011, ISBN 978-3-486-59834-6 (als E-Book mit dem Übungsbuch
MehrAnfragebearbeitung. Ablauf der Anfrageoptimierung. Kanonische Übersetzung. Kanonische Übersetzung. Deklarative Anfrage (SQL)
Anfragebearbeitung Ablauf der Anfrageotimierung Deklaratie Anfrage (SQL) Logice Otimierung ( Pyice Otimierung Kotenmodelle Tuning ) Scanner Parer Sictenauflöung Algebraicer Audruck Anfrage- Otimierer Auwertung-
Mehr[W, T4, D, 15] [start_transaction, T3] [W, T3, C, 30] [W, T4, A, 20] [commit, T4] [W, T2, D, 25] System Crash
Übungen Aufgabe 1 Geben ist die folgende Logdatei: [start_transaction, T1] [W, T1, D, 20] [commit, T1] [checkpoint] [start_transaction, T2] [W, T2, B, 12] [start_transaction, T4] [W, T4, D, 15] [start_transaction,
MehrDatenbanken 2. Anfragebearbeitung. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg. Version 1.
Datenbanken 2 Anfragebearbeitung Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg Version 1. Juni 2017 Wintersemester 2017/18 Augsten (Univ. Salzburg) DB2 Anfragebearbeitung
MehrAnfragebearbeitung 3
Anfragebearbeitung 3 VL Datenbanksysteme, WS 2014/5 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Kostenmodelle und
MehrInhalt. Datenbanken Vertiefung. Literatur und Quellen. Inhalt. Anfragebearbeitung. Nikolaus Augsten. Wintersemester 2013/14
Inhalt Datenbanken Vertiefung Anfragebearbeitung Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg 1 Einführung 2 Anfragekosten anschätzen 3 4 Wintersemester 2013/14
MehrInhalt. Datenbanken 2. Literatur und Quellen. Inhalt. Anfrageoptimierung. Nikolaus Augsten. Wintersemester 2014/15
Inhalt Datenbanken 2 Anfrageoptimierung 1 Nikolaus Augsten 2 nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg Wintersemester 2014/15 3 4 Augsten (Univ. Salzburg) DB2 Anfrageoptimierung
MehrInhalt. Datenbanken 2. Literatur und Quellen. Inhalt. Anfragebearbeitung. Nikolaus Augsten. Wintersemester 2017/18
Inhalt Datenbanken 2 Anfragebearbeitung 1 Einführung Nikolaus Augsten 2 Anfragekosten anschätzen nikolausaugsten@sbgacat FB Computerwissenschaften Universität Salzburg Version 1 Juni 2017 Wintersemester
MehrUniversität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5
Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov. 2007 Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5 Aufgabe 1: SQL-Queries Datenbanksysteme I a) Geben Sie
MehrDiskussion: Personal (1)
Diskussion: Personal (1) ER-Diagramm: Abteilung ist beschäftigt in [0, n] [0, 1] Person Umsetzung ins Relationenmodell? Diskussion: Personal (2) Zusätzliche Regel: In jeder Abteilung (Person) muss mindestens
MehrFortsetzung: Projektion Selektion. NULL Werte
Fortsetzung: Anfragen mit SQL Bisher: Projektion Selektion Duplikatbehandlung NULL Werte Professoren PersNr Name Rang Raum 2125 Sokrates 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134
MehrAnfragebearbeitung. Kapitel 7. Anfragebearbeitung 285 / 520
Kapitel 7 Anfragebearbeitung 285 / 520 Übersicht Anfrage Übersetzer Ausführungsplan Laufzeitsystem Ergebnis 286 / 520 Übersetzung Übersetzung SQL ist deklarativ, irgendwann muß Anfrage aber für Laufzeitsystem
MehrÜbung 4. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017)
Übung 4 Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Dennis Fischer dennis.fischer@tum.de http://home.in.tum.de/~fischerd/ Technische Universität München Fakultät für Informatik
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #4. SQL (Teil 2)
Vorlesung #4 SQL (Teil 2) Fahrplan Eine weitere Aggregation: median Geschachtelte Anfragen in SQL Korrelierte vs. Unkorrelierte Anfragen Entschachtelung der Anfragen Operationen der Mengenlehre Spezielle
MehrInformatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen
Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Datendefinition (DDL) in SQL Anlegen einer Tabelle create
MehrDatenbanken Vertiefung
Datenbanken Vertiefung Anfrageoptimierung Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg Wintersemester 2013/14 Augsten (Univ. Salzburg) DBV / Anfrageoptimierung
MehrInformatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen
Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 12, 30.5.2016 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Datendefinition (DDL) in SQL Datentypen character (n),
MehrAufgabe 1: Verschachtelte Anfragen
Aufgabe 1: Verschachtelte Anfragen (1 P.) (a) Betrachten Sie folgenden Ausschnitt des TPC-H Schemas: CREATE TABLE partsupp ( ps_ availqty INT, ps_ partkey INT ); CREATE TABLE lineitem ( l_ partkey INT,
MehrDatenbanken Vertiefung Wintersemester 2013/ Matrikelnummer: Hinweise. Unterschrift
Fachbereich für Computerwissenschaften Prof. Dr. Nikolaus Augsten Jakob-Haringer-Str. 2 5020 Salzburg, Austria Telefon: +43 662 8044 6347 E-Mail: nikolaus.augsten@sbg.ac.at Datenbanken Vertiefung Prüfung
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof Alfons Kemper, PhD Blatt Nr 2 Übung zur Vorlesung Grundlagen: Datenbanken im WS5/6 Harald Lang, Linnea Passing (gdb@intumde) http://www-dbintumde/teaching/ws56/grundlagen/
Mehr9 Auswertung von Anfrageoperatoren 9.1 Selektion
9. Auswertung von Anfrageoperatoren 9.1. Selektion Seite 1 9 Auswertung von Anfrageoperatoren 9.1 Selektion Auswertung von σ[a op val]r. Index zu A, Sortierung zu A, Operator op. Auswertung von Formeln
MehrAnfrageverarbeitung. Einführung
Anfrageverarbeitung Prof. Dr. T. Kudraß 1 Einführung Wir betrachten die Implementierung der Operatoren der Relationenalgebra: Basis-Operationen: Selektion ( σ ) Auswahl einer Teilmenge von Tupeln aus der
MehrWiederholung: Relationale Algebra
Vorlesung Datenbanksysteme vom 7.10.01 Wiederholung: Relationale Algebra Relationale Algebra Join-Operatoren Eigenschaften der relationalen Operatoren Grundlagen des relationalen Modells Seien D 1, D,,
MehrIMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN
Joins 1 IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN Literatur Priti Mishara, Maragaret H. Eich, Join Processing in Relational Databases, ACM Computing Surveys, Vol. 24, No. 1, March 1992 Goetz Graefe,
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)
Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)
MehrVorlesung Datenbanksysteme vom
Vorlesung Datenbanksysteme vom 27.10.2008 Wiederholung: Relationale Algebra Relationale Algebra Join-Operatoren Eigenschaften der relationalen Operatoren Grundlagen des relationalen Modells Seien D 1,
MehrStar Join & Kostenbasierte Optimierung. Architektur von Datenbanksystemen II
Star Join & Kostenbasierte Optimierung Architektur von Datenbanksystemen II Star Join Übungsaufgabe zum 09.06.2015 JOIN-ALGORITHMUS für folgendes Scenario Große Faktentabelle F mit sehr vielen Einträgen
MehrRückblick. SQL bietet viele Möglichkeiten zur Anfrageformulierung
Rückblick SQL bietet viele Möglichkeiten zur Anfrageformulierung mathematische Funktionen (z.b. ABS(A) und SIGN(A)) Aggregatfunktionen (z.b. MIN(A) und SUM(A)) Boole sche Operatoren (AND, OR, EXCEPT) Verknüpfungen
MehrWintersemester 2016/ Matrikelnummer: Hinweise. Unterschrift
Fachbereich für Computerwissenschaften Prof. Dr. Nikolaus Augsten Jakob-Haringer-Str. 2 5020 Salzburg, Austria Telefon: +43 662 8044 6347 E-Mail: nikolaus.augsten@sbg.ac.at Datenbanken II Prüfung Wintersemester
MehrEntity Relationship Modell
Entity Relationship Modell 2 Entity/Relationship (ER) Modell Legi Name Semester Entity = Gegenstandstyp Relationship = Beziehungstyp Schlüssel (Identifikation) Studenten hören Hörer Kurs Vorlesungen Attribut
MehrKapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien
Kapitel 5 Dr. Jérôme Kunegis SQL: Grundlagen WeST Institut für Web Science & Technologien Lernziele Kenntnis der Grundkonzepte von SQL Fähigkeit zur praktischen Anwendung von einfachen SQL-Anweisungen
MehrJoins / Implementierung von Joins
Join wichtigste Operation, insbesondere in relationalen DBS: komplexe Benutzeranfragen (Star-Joins) Normalisierung der Relationen (Snowflake-Schema) verschiedene Sichten ( views ) auf die Basisrelationen
MehrGrundlagen: Datenbanken
Grundlagen: Datenbanken 3. Zentralübung / Fragestunde Linnea Passing Harald Lang gdb@in.tum.de Diese Folien finden Sie online. Die Mitschrift stellen wir im Anschluss online. Agenda Hinweise zur Klausur
MehrLogische Optimierung. Im Allgemeinen wird keine optimale Lösung erzielt, sondern nur eine Verbesserung. Logische Optimierung
Logische Optimierung Höhere, nichtprozedurale Abfragesprachen (SQL, QBE,...) verlangen keine Kenntnisse des Benutzers über die Implementierung, müssen aber in prozedurale Form (z. B. Relationenalgebra)
MehrDATENBANKSYSTEME: SQL
Datendefinitions-, Manipulations- und Anfrage-Sprache SQL, Datendefinition, Veränderung am Datenbestand, Einfache SQL Abfrage, Anfragen über mehrere Relationen, Mengenfunktionen, Aggregatfunktion und Gruppierung,
MehrDatenbanken Vertiefung Wintersemester 2014/ Matrikelnummer: Hinweise. Unterschrift
Fachbereich für Computerwissenschaften Prof. Dr. Nikolaus Augsten Jakob-Haringer-Str. 2 5020 Salzburg, Austria Telefon: +43 662 8044 6347 E-Mail: nikolaus.augsten@sbg.ac.at Datenbanken II Prüfung Datenbanken
MehrDatenbanksysteme noch Kapitel 7: SQL. Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück
Datenbanksysteme 2015 noch Kapitel 7: SQL Vorlesung vom 12.05.2015 Oliver Vornberger Institut für Informatik Universität Osnabrück SQL: Schlüsselworte select from where order by asc desc as like upper
MehrAnfragebearbeitung und Optimierung
In diesem Kapitel geht es darum, wie ein DBMS eine SQL-Anfrage verarbeitet. Also: 1. Schritte der Anfragebearbeitung 2. Parsen und Validieren 3. Optimieren und Erstellen des Zugriffsplans Schritte der
MehrFokus bisher lag bisher auf sinnvoller Abbildung eines Ausschnitts der realen Welt in einer relationalen Datenbank
8. Datenbanktuning Motivation Fokus bisher lag bisher auf sinnvoller Abbildung eines Ausschnitts der realen Welt in einer relationalen Datenbank Beliebige SQL-Anfragen können auf den Daten ausgewertet
MehrRückblick: Relationale Normalisierung
Rückblick: Relationale Normalisierung Gute Relationenschema vermeiden Redundanz und führen nicht zu Anomalien beim Einfügen, Löschen oder Ändern Relationale Normalformen (1NF, 2NF, 3NF, BCNF, 4NF) charakterisieren
MehrOracle 9i Einführung Performance Tuning
Kurs Oracle 9i Einführung Performance Tuning Teil 3 Der Optimizer Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 16 Seite 1 von 16 1. auf Tabellen 2. 3. Optimizer 4. Optimizer RBO 5. Optimizer CBO 6.
MehrRückblick: Relationales Modell
Rückblick: Relationales Modell Relationales Modell als vorherrschendes Datenmodell Relationen (Tabellen) besitzen Attribute (Spalten) mit Wertebereichen und beinhalten Tupel (Zeilen) Umsetzung eines konzeptuellen
Mehr6. Formaler Datenbankentwurf 6.1. Definitionen
6. Formaler Datenbankentwurf 6.1. Definitionen Minimale Überdeckung Eine Menge funktionaler Abhängigkeiten F min ist eine minimale Überdeckung zu F, wenn wir sie durch Anwendung der folgenden Schritte
MehrÜbung Datenbanksysteme II Anfrageausführung
Übung Datenbanksysteme II Anfrageausführung Leon Bornemann Folien basierend auf Maximilian Jenders, Thorsten Papenbrock Einleitung: Themen 2 Iterator-Operatoren Algorithmen-Klassen Sort-basierte Hash-basierte
MehrDas Relationale Modell
Kapitel 3 Das Relationale Modell 1 / 50 Generelle Anmerkungen Wurde in den Siebzigern von E.F.Codd entwickelt (er bekam den Turing Award dafür) Im Moment das am weitesten verbreitete Datenmodell Hat die
MehrWiederholung: Relationale Algebra
Vorlesung Datenbanksysteme vom 1.11.016 Wiederholung: Relationale Algebra Relationale Algebra Join-Operatoren Eigenschaften der relationalen Operatoren Grundlagen des relationalen Modells Seien D1, D,,
Mehr7.3 Baum-Indexstrukturen
7. Physischer Datenbankentwurf 7.3. Baum-Indexstrukturen Seite 1 7.3 Baum-Indexstrukturen B-Baum der Ordnung (m, l); m > 2, l > 1. Die Wurzel ist entweder ein Blatt oder hat mindestens zwei direkte Nachfolger.
MehrÜbungsblatt 8 Lösungsvorschläge
Prof. Dr. T. Härder Fachbereich Informatik Arbeitsgruppe Datenbanken und Informationssysteme Universität Kaiserslautern Übungsblatt 8 Lösungsvorschläge für die freiwillige Übung Unterlagen zur Vorlesung:
MehrRelationale Algebra. Relationale Algebra. Grenzen der Ausdrucksstärke konjunktiver Anfragen. Vereinigung und Differenz.
4.1 4.2 4.1 4.2 NICOLE SCHWEIKARDT, ISOLDE ADLER GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAPITEL 4, SEITE 1 Grenzen der Ausdrucksstärke konjunktiver Anfragen Wir haben gesehen: konjunktive
MehrRelationale Algebra. Relationale Algebra. Grenzen der Ausdrucksstärke konjunktiver Anfragen. Vereinigung und Differenz.
3.1 3.2 3.1 3.2 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAPITEL 3, SEITE 1 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAPITEL
MehrAnfrageverarbeitung und Kostenmodelle
Anfrageverarbeitung und Kostenmodelle Warum ist es wichtig? Ziel der Anfrageverarbeitung (query processing): eine Anfrage möglichst effizient auszuführen Eine effiziente Anfrageauswertung hängt davon ab,
MehrAufgabe 9.1: Lösung: Block-Nested-Loop-Verbund Index-Nested-Loop-Verbund Sort-Merge-Verbund Hash-Verbund
1 Aufgabe 9.1: Sei p die Größe einer Seite, hier p = 4 kb. Sei b die Größe eines Blocks in Anzahl Seiten, hier b = 100. Die Größe des Datenbankpuffers, d.h. die zur Ausführung des Verbundes im Internspeicher
Mehr(4 Punkte) Aufgabe 1: Relationenalgebra - Relationenkalkül
Musterlösunq zur Klausur 1665 Datenbanksvsteme 19.03.2005 Aufgabe 1: Relationenalgebra - Relationenkalkül (4 Punkte) In der Relationenalgebra werden die gewünschten Relationen durch Angabe einer Folge
MehrEs wird empfohlen folgendes Material anzusehen:
Übung zur Vorlesung "Einführung in die Informatik für Hörer anderer Fachrichtungen (WZW)" IN8003, SS 2011 Prof. Dr. J. Schlichter Dr. Georg Groh, Dipl.Inform. Dipl.Geogr. Jan Herrmann, Florian Schulze
Mehrw 1 (A) T 1 w 3 (B) w 1 (D) b 3 flush(p D ) flush(p B ) flush(p B )
Aufgabe 1 Logging (8+5 Punkte) Logging und Recovery Gegeben sei ein DBMS, das die parallel laufenden Transaktionen T 1, T 2 und T 3 verwaltet. Dabei ändert T 1 die Datenelemente A, B, C und D, T 2 die
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)
MehrQuery Languages (QL) Relationale Abfragesprachen/Relational
Relationale Algebra Relationale Abfragesprachen/Relational Query Languages (QL) Abfragesprachen: Daten aus einer Datenbank zu manipulieren und abzufragen (retrieve information) Das relationalle Modell
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 05 Übung zur Vorlesung Grundlagen: Datenbanken im WS16/17 Harald Lang, Linnea Passing (gdb@in.tum.de
MehrWeb Science & Technologies University of Koblenz Landau, Germany. Grundlagen der Datenbanken. SQL Teil 2. Dr. Jérôme Kunegis Wintersemester 2013/14
Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken SQL Teil 2 Dr. Jérôme Kunegis Wintersemester 2013/14 Bereichsanfragen und Mitgliedschaft in der Menge Anfrage:
MehrAufgabe 1 Indexstrukturen
8. Übung zur Vorlesung Datenbanken im Sommersemester 2006 mit Musterlösungen Prof. Dr. Gerd Stumme, Dr. Andreas Hotho, Dipl.-Inform. Christoph Schmitz 25. Juni 2006 Aufgabe 1 Indexstrukturen Zeichnen Sie
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 6. Vorlesung Martin Middendorf / Universität Leipzig Institut für Informatik middendorf@informatik.uni-leipzig.de studla@bioinf.uni-leipzig.de Merge-Sort Anwendbar für
MehrData Cubes PG Wissensmangement Seminarphase
PG 402 - Wissensmangement Seminarphase 23.10.2001-25.10.2001 Hanna Köpcke Lehrstuhl für Künstliche Intelligenz Universität Dortmund Übersicht 1. Einführung 2. Aggregation in SQL, GROUP BY 3. Probleme mit
Mehrsort hash uncompress merge & mark hash collisions
Julian Arz, Timo Bingmann, Sebastian Schlag INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS hash sort... compress uncompress merge & mark hash collisions 1 KIT Julian Universität Arz, des Timo LandesBingmann,
MehrPerformance in der Oracle Datenbank von Anfang an
Performance in der Oracle Datenbank von Anfang an Marco Mischke, 26.04.2018 DOAG Regional Agenda Tabellen Indizes Ausführungspläne SQL vs PL/SQL Tabellen Zu 99% werden Standard Strukturen zur Speicherung
MehrRückblick: Datenorganisation & Indexstrukturen
Rückblick: Datenorganisation & Indexstrukturen Datenorganisation der Tupel einer Relation als Haufen, sequenzielle Datei oder indexsequenzielle Datei Indexstrukturen zum effizienteren Zugriff auf Datensätze
Mehr