6. Anfragebearbeitung
|
|
- Victoria Esser
- vor 5 Jahren
- Abrufe
Transkript
1 6. Anfragebearbeitung 6.1 Einleitung 6.2 Indexstrukturen 6.3 Grundlagen der Anfrageoptimierung 6.4 Logische Anfrageoptimierung 6.5 Kostenmodellbasierte Anfrageoptimierung 55
2 Fokus: Effiziente Berecnung der Joinoperation Zur Vereinfachung: equi join select * from r, S s where r.a = s.b also 56
3 Einfacher Nested-Loop-Join Algoithmus Matrixnotation for each Tupel r do for each Tupel s S do if r. A s. B then result : result ( r s) B 1 () B 2 () B 1 (S) B 2 (S) B 3 (S) Der einfache Nested-Loop-Join entspricht der Bildung des kartesischen Produktes in kanonischer Ordnung mit anschließender Selektion. Die elation S wird mal eingelesen: Performanz ist deshalb inakzeptabel S wird als innere elation und als äußere elation bezeichnet 57
4 Nested-Block-Loop-Join Berücksichtige, dass elationen und S auf Blöcke verteilt sind Algoithmus Matrixnotation for each Block B lade Block B for each Block B lade Block B do S do for each Tupel r B for each Tupel s B S B 1 (S) B 2 (S) B 3 (S) S do do if r. A s. B then result : result ( r s) S B 1 () B 2 () 58
5 Nested-Block-Loop-Join (cont.) Beispiel S Angestellter Gehaltsgruppe Müller 1 Schneider 2 Schuster 1 Schmidt 2 Schütz 1 B S (1) B S (3) B S (3) Gehaltsgruppe Gehalt B (1) B (2) Anzahl Blockzugriffe: B +B S B = 8 Blockzugriffe ohne Cache (B = Anzahl Blöcke der elation ) D.h. die kleinere elation sollte die äußere sein 59
6 Cache Strategien für Nested-Block-Loop-Join Strategie 1 Seiten der inneren elation (S) im Cache halten Cache wird überhaupt nicht ausgenutzt, wenn Cache kleiner als elation S ist Beispiel: 2 Seiten Cache für S, 1 Seite Cache für ( : Zugriff Platte) B (1) B S (1) B S (2) B S (3) B (2) B S (1) B S (2) B S (3) B S (1) B S (2) B S (3) B (1) B (2)
7 Cache Strategien für Nested-Block-Loop-Join Strategie 2 Seiten der inneren elation (S) im Cache, aber innere elation jedes zweite mal rückwärts Pro Durchlauf der äußeren Schleife werden ( C -1) Blockzugriffe eingespart (ab 2. Durchlauf) C = Anzahl Blöcke, die in den Cache passen, ein Cache-Block wird jeweils für äußere elation () benötigt Blockzugriffe: B+ B (BS - C + 1) + C - 1 Beispiel: 2 Seiten Cache für S, 1 Seite Cache für B (1) B S (1) B S (2) B S (3) B (2) B S (3) B S (2) B S (1) B S (1) B S (2) B S (3) B (1) B (2)
8 Cache Strategien für Nested-Block-Loop-Join Strategie 3 C -1 Blöcke der äußeren elation werden in den Cache eingelesen, zu jedem Block der inneren elation werden diese Blöcke gejoint Blockzugriffe: B B BS C 1 Beispiel: 2 Seiten Cache für, 1 Seite Cache für S B (1) B (2) B S (1) B S (2) B S (3) B S (4) B S (5) B (3) B (4) B S (1) B S (2) B S (3) B S (4) B S (5) B S (1) B S (2) B S (3) B S (4) B S (5) B (1) B (2) B (3) B (4)
9 Cache Strategien für Nested-Block-Loop-Join Strategie 3 - Algorithmus for i: 1to B lade Block B for each Block B lade Block B step C 1do ( i) B S for each Tupel r B for each Tupel s B if r. A s. B then S S ( i C 2) do (i) B do result : result ( r s) S ( i C 2) do Leistung: * S Vergleiche von Tupel (ist nur bei schlechter Selektivität gerechtfertigt) Effizienteste Ausführung von θ Joins mit θ = (also allen Joins außer Equi- Joins) 63
10 Blockgrößen-Optimierung NBL-Join Problem Zu kleine Blockgröße: Innere elation wird in sehr kleinen Schritten eingelesen Bei jedem I/O-Auftrag Latenzzeit des Plattenlaufwerks Zu große Blockgröße (z.b.: Cache wird in 2-3 Blöcke geteilt): Zu wenig Cache steht für die äußere elation zur Verfügung Innere elation muss öfter gescanned werden Äquivalente Frage: Wie viel vom Cache für äußere/innere elation? 64
11 Blockgrößen-Optimierung NBL-Join (cont) Parameter f bzw. f S : Größe der elationen in Bytes c: Größe des Cache in Bytes t tr : Transferzeit pro Byte t lat : durchschnittliche Latenzzeit des Disk-Laufwerkes b: Blockgröße (Parameter, der optimiert wird) 65
12 Blockgrößen-Optimierung NBL-Join (cont) I/O-Kosten Anzahl Blockzugriffe Äußere elation B Suchen zum aktuellen Block von + Suchen zum Start von S Innere elation S B B S B C 1 t NLJoin B (2t C 1 seek t lat b ( C 1) t tr ) B S B ( t C 1 lat b t tr ) t NLJoin in einer Leseoperation werden C -1 Blöcke der äußeren elation gelesen ignorieren, da nur 1x und in großen Blöcken Jeweils ein Block wird gelesen, aber nächster Block startet meist auf gleicher Spur fs b c f / b / b1 t lat b t tr 66
13 Blockgrößen-Optimierung NBL-Join (cont) I/O-Kosten t NLJoin fs b c f / b / b1 t lat b t tr Weglassen der undungsfunktion (unproblematisch für f, f S >> b, d.h. relativer Fehler ist vernachlässigbar) ergibt stückweise differenzierbaren Term t NLJoin b 2 fs f ( c / b 1) t lat b t tr 67
14 Blockgrößen-Optimierung NBL-Join (cont) t NLJoin b 2 fs f ( c / b 1) t lat b t tr Optimierung der Hüllfunktion t hull b 2 fs f (( c / b) 1) t lat b t tr Joinkosten bei f = f S = 10MByte c = 500 KByte t lat = 5 ms t tr = 0,25 s /MByte b opt = 85 KByte 68
15 Blockgrößen-Optimierung NBL-Join (cont) Optimierung durch Differenzieren Gleichsetzen der 1. Ableitung mit 0 2 Lösungen, von denen nur eine positiv ist 0 t b hull b opt t 2 lat t Lösung ist Minimum (aus 2. Ableitung erkennbar) An den Stellen, an denen c / b konstant ist, ist t NLJoin streng monoton fallend (negative Ableitung) Deshalb kann das Minimum von t NLJoin nur an der ersten Sprungstelle links oder rechts vom Minimum von t hull sein: tr t t tr lat c t lat c b 1 c /, b2 c / b c opt b opt 69
16 Blockgrößen-Optimierung NBL-Join (cont) Was sind denn eigentlich die CPU-Kosten? Im wesentlichen müssen S * Vergleiche durchgeführt werden Vergleich: I/O- versus CPU-Kosten Beispiel: S = = Tupel und f S und f jeweils ca. 10 MB Bearbeitungszeit eines Vergleichs durchschnittlich 0,1 s I/O-Zeit bei optimaler Seitengröße (85 KB) ca. 75 sec CPU-Zeit: ca sec => Der NBL-Join ist CPU-bound!!! Daher im Folgenden: Maßnahmen zur Senkung des CPU-Aufwands 70
17 Sort-Merge-Join Zweistufiger Algorithmus 1.Schritt: sortiere sortiere 2.Schritt: j 1; for i 1to do while s.b j 1; if r. A s. B then bzgl. Attribut S bzgl. Attribut s erstes Tupel von S; r i - tes Tupel von ; j s r.a j - tes Tupel von S; A B result : result (( r r. A) s); Achtung: Dieser Algorithmus funktioniert nur, falls und S auf dem Joinattribut keine Duplikate enthalten. Wie muss der Algorithmus erweitert werden um Duplikate zu erfassen? S Matrixnotation
18 Sort-Merge-Join (cont.) Leistung Jede elation wird genau einmal durchlaufen: O( + S ) Vergleiche Sortieren der elation kostet O( log + S log S ) Sortieren ist nicht notwendig, wenn bereits ein Index existiert Verfahren versagt, wenn in beiden elationen sehr viele Duplikate (d.h. mehr als in den Puffer passen) auftreten. In diesem Fall muss auf Nested-Loop-Join umgeschaltet werden 72
19 Einfacher Hash-Join eduktion des CPU-Aufwandes bei der Join-Berechnung Der Join-Partner eines S-Tupels wird gezielt mit Hilfe eines Hash- Verfahrens gesucht, anstatt das S-Tupel sequentiell mit jedem Tupel der elation zu vergleichen. Zu diesem Zweck wird die elation gehasht, d.h. es wird zu allen Tupeln der Hash-Key bestimmt und die Tupel in einer Tabelle unter diesem Key eingetragen. Nicht alle -Tupel, die den passenden Hash-Key haben, sind Join- Partner eines S-Tupels, aber alle Join-Partner haben denselben Hash- Key. Im Idealfall soll der Join im Hauptspeicher ablaufen: die Hashtabelle soll für die kleinere elation erzeugt werden. Hash-Join Verfahren können nur für Equi-Join und Natürlichen Join effizient genutzt werden. 73
20 Einfacher Hash-Join (cont.) Algoithmus for each Tupel r do berechne adr hash(r) ; speichere r in HT[adr] ab; for each Tupel s S do //prüfe in der Hashtabelle HT berechne adr hash(s) ; for each Tupel r HT[ adr] do if r. A s. B then result : result (( r r. A) s) Matrixnotation hash(x) = MOD 3 Leistung hängt stark ab von der Güte der Hashfunktion: O( + S ) im Idealfall verschlechtert sich, wenn Werte ungleichmäßig belegt sind Modifikation ist notwendig, wenn Hauptspeicher zu klein (kleiner als ) 74
21 Hashed-Loop-Join Kombination aus dem Nested-Loop-Join und dem einfachen Hash- Join elation wird in große Blöcke eingeteilt, deren Hashtabellen in den Puffer passen Für jeden dieser Blöcke wird die elation S gescannt und ein einfacher Hash-Join durchgeführt Algorithmus repeat lese soviel Tupel von in Hauptspeicher bis der Platz aufgebraucht ist; erzeuge für diese Tupel eine Hashtabelle for each Tupel s S do berechneadr for each Tupel r HT[ adr] do if r. A s. B then hash(s) ; result : result (( r r. A) s) until alle Tupel der elation HT; sind eingelesen; 75
22 Hashed-Loop-Join (cont.) Matrixnotation -Tupel, die in den Puffer passen auf den einzelnen Blöcken: Hash-Join Ablauf Schritt A: S Hintergrundspeicher 1. Eintragen der Tupel von in die Hashtabelle, bis sie voll ist 2. Prüfen, ob Einträge für Hashwert der Tupel von S in der Hashtabelle vorhanden sind und ggf. Bildung des Joins Schritt B: Wiederhole Schritt A für die restlichen Tupel von Hashtabelle Hauptspeicher 76
23 Hash-Partitioned-Join (a.k.a. GACE) Hashed-Loop-Join zerlegt elationen willkürlich in Blöcke, jeder Block von muss mit jedem Block von S kombiniert werden Idee: Zerlege und S mit einer Hashfunktion in Partitionen, so dass nur Partitionen mit demselben Hash-Key kombiniert werden müssen Zweistufiges Verfahren Partitioniere die elationen und S in 1,, N und S 1,,S N Berechne den Join der einzelnen Partitionen i und S i mit einem beliebigen Join Verfahren Matrixnotation -Tupel, die in den Puffer passen Auf den einzelnen Blöcken: einfacher Hash-Join oder Hashed-Loop-Join 77
24 Hash-Partitioned-Join (a.k.a. GACE) (cont.) Ablauf Partitionierungsphase Hintergrundspeicher Puffer 1 Puffer 2 Puffer 3 Puffer n n Join-Phase Hauptspeicher Hintergrundspeicher i S i 1. Eintragen der Tupel von i in die Hashtabelle, bis sie voll ist 2. Prüfen, ob Einträge für Hashwert der Tupel von S i in der Hashtabelle vorhanden sind und ggf. Bildung des Joins Hashtabelle Hintergrundspeicher Hauptspeicher 78
Joins / 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
MehrKapitel 4: Relationale Anfragebearbeitung
Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme kript zur Vorlesung ommersemester 005 Kapitel 4: elationale Anfragebearbeitung Vorlesung:
MehrHash-Join Algorithmen
Hash-Join lgorithmen dvanced Topics in Databases Ws08/09 atthias ichly Einleitung 2 Grundlage ist das Paper: Join Processing in Database Systems With Large ain emories Quelle: C Transactions on Database
Mehr5.4 Logische Anfrageoptimierung
5 Anfragebearbeitung Übersicht 5. Einleitung 5. Indexstrukturen 5.3 Grundlagen der Anfrageoptimierung 5.4 Logische Anfrageoptimierung 5.5 Kostenmodellbasierte Anfrageoptimierung 56 9 5.4 Logische Anfrageoptimierung
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,
MehrAnfragebearbeitung. Vorlesung: PD Dr. Peer Kröger
Kapitel 5 Anfragebearbeitung g Vorlesung: PD Dr. Peer Kröger Dieses Skript basiert auf den Skripten zur Vorlesung Datenbanksysteme II an der LMU München von Prof. Dr. Christian öhm (Sommersemester 007,
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
MehrAnfragebearbeitung. 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
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
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
MehrKapitel 5 Anfragebearbeitung
Kapitel 5 Anfragebearbeitung Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2008, LMU München 2008 Dr. Peer Kröger Dieses Skript basiert zu einem Teil auf dem Skript zur Vorlesung Datenbanksysteme
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
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
MehrÜbung Datenbanksysteme II Physische Speicherstrukturen. Thorsten Papenbrock
Übung Datenbanksysteme II Physische Speicherstrukturen Thorsten Papenbrock Organisatorisches: Übung Datenbanksysteme II 2 Übung Thorsten Papenbrock (thorsten.papenbrock@hpi.uni-potsdam.de) Tutoren Alexander
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
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,
MehrÜbung Datenbanksysteme II Physische Speicherstrukturen. Maximilian Jenders. Folien basierend auf Thorsten Papenbrock
Übung Datenbanksysteme II Physische Speicherstrukturen Maximilian Jenders Folien basierend auf Thorsten Papenbrock Organisatorisches: Übung Datenbanksysteme II 2 Übung Maximilian Jenders (Maximilian.Jenders@hpi.de)
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
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. 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
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
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
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.
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
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:
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
MehrPhysische Datenorganisat
Physische Datenorganisat Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing (R-Bäume ) Objektballung Indexe in SQL Kapitel 7 1 Überblick: Speicherhierarchie Register Cache Hauptspeicher Plattenspeicher
MehrPhysische Datenorganisat
Physische Datenorganisat Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing (R-Bäume ) Objektballung Indexe in SQL Überblick: Speicherhierarchie 1 8 Byte Compiler Register 8 128 Byte Cache Cache-Controller
MehrKapitel 7 Physische Datenorganisation. Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume. Register. Cache.
Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume 1 Überblick: Speicherhierarchie Register Cache Hauptspeicher Plattenspeicher Archivspeicher A.
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
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. 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
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,
MehrNaiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme
Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Hans-Georg Eßer Hochschule München Teil 3: Zusammenhängende Speicherzuordnung 06/2009 Hans-Georg Eßer Hochschule München
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
MehrPhysische Datenorganisation
Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID ( B-Bäume Hashing R-Bäume ) Kapitel 7 1 Überblick: Speicherhierarchie Register Cache Hauptspeicher Plattenspeicher Archivspeicher
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:
MehrZusatzskript Datenmanagement: physische Strukturen B+- und B*-Baum B+-Baum
Seite 1 Zusatzskript Datenmanagement: physische Strukturen B+- und B*-Baum B+-Baum Bild-1 Dargestellt ist die Speicherung der Personentabelle als B+-Baum anhand der Personen-Nummer (PersNr). Die Blattebene
MehrKapitel 6 Anfragebearbeitung
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2016 Kapitel 6 Anfragebearbeitung Vorlesung: PD Dr. Peer Kröger
MehrLiteratur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 1982, Kapitel 2.2
Hashorganisation HASHORGANISATION Literatur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 982, Kapitel 2.2 Die Sätze der Datei werden auf eine Menge von Buckets aufgeteilt. Jedes Bucket
MehrAnfragebearbeitung. Vorlesung: Dr. Matthias Schubert
Kapitel l5 Anfragebearbeitung Vorlesung: Dr. Matthias Schubert Skript 2009 Matthias Schubert Dieses Skript basiert auf dem Skript zur Vorlesung Datenbanksysteme II von Prof. Dr. Christian Böhm gehalten
MehrÜbung Datenbanksysteme II Anfrageausführung. Thorsten Papenbrock
Übung Datenbanksysteme II Anfrageausführung Thorsten Papenbrock Einleitung: Themen 3 Iterator-Operatoren Algorithmen-Klassen ort-basierte Hash-basierte Index-basierte Algorithmen-chwierigkeitsgrade One-Pass-Algorithmen
MehrPhysischer DB-Entwurf
Physischer DB-Entwurf Prof. Dr. T. Kudraß 1 Überblick Ausgangslage: Konzeptuelles und externes Schema sind erstellt: ER Modell, Schemaverfeinerung und Definition von Sichten Nächster Schritt: Physischer
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,
MehrAlgorithmen für Sortierung und relationale Operatoren
Algorithmen für Sortierung und relationale Operatoren In diesem Kapitel betrachten wir folgende Themen: 1. Relationale Operatoren und Sortieroperator 2. Grundlegende Operationen: Tabellen-Scan, Index-Scan,
Mehr5. Basisalgorithmen für DB-Operationen
5. Basisalgorithmen für DB-Operationen Datenbankparameter Komplexität von Grundalgorithmen Unäre Operationen (Scan, Selektion, Projektion) Binäre Operationen: Mengenoperationen Berechnung von Verbunden
MehrKapitel 6 Anfragebearbeitung
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2014 Kapitel 6 Anfragebearbeitung Vorlesung: PD Dr. Peer Kröger
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
MehrPhysische Speicherstrukturen
Übung Datenbanksysteme II Physische Speicherstrukturen Leon Bornemann Folien basierend auf Thorsten Papenbrock, Maximilian Jenders Organisatorisches: Übung Datenbanksysteme II 2 Übung Leon Bornemann (Leon.Bornemann@hpi.de)
MehrKapitel 6 Anfragebearbeitung
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATAASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2014 Kapitel 6 Anfragebearbeitung Vorlesung: PD Dr. Peer Kröger
MehrAnfrageverarbeitung. Prof. Dr. T. Kudraß 1
Anfrageverarbeitung Prof. Dr. T. Kudraß 1 Einführung Wir betrachten die Implementierung der Operatoren der Relationenalgebra: Basis-Operationen: Selektion ( s ) Auswahl einer Teilmenge von Tupeln aus der
MehrGrundlagen Algorithmen und Datenstrukturen Kapitel 13
Grundlagen Algorithmen und Datenstrukturen Kapitel 13 Christian Scheideler + Helmut Seidl SS 2009 18.07.09 Kapitel 6 1 Speicherverwaltung Drei Ansätze: Allokiere neue Objekte auf einem Keller. Gib nie
MehrVirtueller Speicher und Memory Management
Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write
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
Mehrtechnische universität dortmund Fakultät für Informatik LS 8 Speichern von Daten Prof. Dr. Katharina Morik
Speichern von Daten Prof. Dr. Katharina Morik Unterschiede von DBMS und files! DBMS unterstützt viele Benutzer, die gleichzeitig auf dieselben Daten zugreifen concurrency control.! DBMS speichert mehr
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
Mehr13. Hashing. AVL-Bäume: Frage: Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n)
AVL-Bäume: Ausgabe aller Elemente in O(n) Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n) Frage: Kann man Einfügen, Löschen und Suchen in O(1) Zeit? 1 Hashing einfache Methode
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
MehrKapitel 7 Physische Datenorganisation. Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume
Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume Überblick: Speicherhierarchie Register (L/L2/L3) Cache Hauptspeicher Plattenspeicher
MehrDatenbanken: Indexe. Motivation und Konzepte
Datenbanken: Indexe Motivation und Konzepte Motivation Warum sind Indexstrukturen überhaupt wünschenswert? Bei Anfrageverarbeitung werden Tupel aller beteiligter Relationen nacheinander in den Hauptspeicher
MehrEinordnung. 6. Basisalgorithmen für DB-Operationen. Datenbankparameter. Datenbankparameter (II)
6. Basisalgorithmen für DB-Operationen Datenbankparameter Komplexität von Grundalgorithmen Unäre Operationen (Scan, Selektion, Projektion) Binäre Operationen: Mengenoperationen Berechnung von Verbunden
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 31.01.2013 Algorithmen für externen Speicher INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
MehrPhysische Datenorganisation
Vorlesung Datenbanksysteme vom 17.10.2016 Physische Datenorganisation Architektur eines DBMS Speicherhierarchie Index-Verfahren Ballung (Clustering) beste Zugriffsmethode Architektur eines DBMS Wichtigste
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
MehrVorlesung Datenbanksysteme vom Architektur eines DBMS Speicherhierarchie Hintergrundspeicher / RAID Index-Verfahren Ballung (Clustering)
Vorlesung Datenbanksysteme vom 22.10.2008 Physische Datenorganisation Architektur eines DBMS Speicherhierarchie Hintergrundspeicher / RAID Index-Verfahren Ballung (Clustering) beste b t Zugriffsmethode
MehrKapitel 6 Externes Sortieren
Kapitel 6 Externes Sortieren Überblick Two-Way Merge Sort External Merge Sort Kostenminimierung B+ Bäume zur Sortierung 1 Architektur und Implementierung von Datenbanksystemen WS 2009/10 Melanie Herschel
MehrFernUniversität in Hagen - Seminar 1912 im Sommersemester 2005
FernUniversität in Hagen - Seminar 1912 im Sommersemester 2005 Neue Techniken der Anfragebearbeitung: Datenströme, kontinuierliche Anfragen und adaptive Auswertung Thema 4 Eddies: Kontinuierliche adaptive
MehrINSERTION-SORT: Ja, Es wird immer das erste, kleinste Element an die neue Liste angehängt.
Aufgabe 1 INSERTION-SORT: Ja, Es wird immer das erste, kleinste Element an die neue Liste angehängt. QUICK-SORT: Hängt davon ab ob PARTITION stabil ist. MERGE-SORT: Ja, Splitten, sowie Mergen ist stabil.
MehrAuswählen nach Rang (Selektion)
Auswählen nach Rang (Selektion) Geg.: Folge X von n Schlüsseln, eine Zahl k mit k n Ges.: ein k-kleinster Schlüssel von X, also den Schlüssel x k für X sortiert als x x 2 L x n trivial lösbar in Zeit O(kn)
MehrKapitel 7 Physische Datenorganisation. Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume
Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume Überblick: Speicherhierarchie Register (L1/L2/L3) Cache Hauptspeicher Plattenspeicher
MehrGrundlagen der Datenbanksysteme 2 (M-DB2) Dr. Karsten Tolle
Grundlagen der Datenbanksysteme 2 (M-DB2) Dr. Karsten Tolle Vorwissen und so SQL Umgang mit MySQL (Workbench) Beispieldaten zum Spielen: http://download.geonames.org/export/dump/ 2 Tuningpotential DB-Interna;
MehrAlgorithm Engineering. Alexander Kröller, Abteilung Algorithmik, IBR
#7 Terminchaos Nächste Vorlesungen: 27. 5. Vertretung durch Prof. Fekete 3. 6. Exkursionswoche 10. 6. Vertretung durch N.N. 17. 6. back to normal... Experiment Durchlaufe zwei gleichgrosse Arrays: Sortierte
Mehr12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.
Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Worst-case Zeit für Search: Θ(n). In der Praxis jedoch sehr gut. Unter gewissen
MehrExplain verstehen. Hans-Jürgen Schönig.
Explain verstehen Zielsetzung EXPLAIN... Was versucht uns PostgreSQL zu sagen? Wie kann diese Information genutzt werden? Wie erkenne ich Probleme? Abfragen in PostgreSQL Mehrstufige Ausführung Parser:
MehrIR Seminar SoSe 2012 Martin Leinberger
IR Seminar SoSe 2012 Martin Leinberger Suchmaschinen stellen Ergebnisse häppchenweise dar Google: 10 Ergebnisse auf der ersten Seite Mehr Ergebnisse gibt es nur auf Nachfrage Nutzer geht selten auf zweite
MehrErinnerung VL vom
Erinnerung VL vom 09.05.2016 Analyse von Hashtabellen mit verketteten Listen Erwartete Laufzeit O(1) bei zuf. Hashfkt. und falls M O(m) Guter Ersatz (hier) für zuf. Hashfkt.: universelle Hashfunktionen
MehrAlgorithmen für die Speicherhierarchie
Lineare Algebra: untere Schranken Lehrstuhl für Effiziente Algorithmen Fakultät für Informatik Technische Universität München Vorlesung Sommersemester 2009 Gliederung 1 2 Zusätzliche Überlegungen Erinnerung
MehrDatenbanken Implementierungstechniken SS2015
Hochschule für Technik, Wirtschaft und Kultur Leipzig Leipzig University of Applied Sciences Parallele DBMS Datenbanken Implementierungstechniken SS2015 Alexander Müller Fakultät Informatik, Mathematik
MehrPhysische Datenorganisation
Vorlesung Datenbanksysteme vom 19.10.2015 Physische Datenorganisation Architektur eines DBMS Speicherhierarchie Hintergrundspeicher / RAID Index-Verfahren Ballung (Clustering) beste Zugriffsmethode Architektur
MehrDatenbanksysteme SS 2013
Datenbanksysteme SS 2013 Kapitel 4: Physikalische Datenorganisation Vorlesung vom 16.04.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Speicherhierarchie GB 10 GHertz TB 100 10 ms
MehrKapitel 7 Physische Datenorganisation. Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-BäumeB Bäume Hashing R-Bäume
Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-BäumeB Bäume Hashing R-Bäume Überblick: Speicherhierarchie Register (L1/L2/L3) Cache Hauptspeicher
MehrMerge mit nicht eindeutigen by-variablen
News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren Allgemeine Fragen zu SAS Merge mit nicht eindeutigen by-variablen 28 February, 2006-12:49 Stefanie Rankl
MehrKapitel 8: Physischer Datenbankentwurf
8. Physischer Datenbankentwurf Seite 1 Kapitel 8: Physischer Datenbankentwurf Speicherung und Verwaltung der Relationen einer relationalen Datenbank so, dass eine möglichst große Effizienz der einzelnen
MehrKommunikation und Datenhaltung
Kommunikation und Datenhaltung Anfrageoptimierung Überblick über den Datenhaltungsteil Einleitung und Grundlagen Architektur von Datenbanksystemen Datenbankanfragen Relationenmodell und Relationenalgebra
MehrHash-Verfahren. Einführung
Hash-Verfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k.
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)
MehrHash-Verfahren. Prof. Dr. T. Kudraß 1
Hash-Verfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k.
Mehr4. Anfrageoptimierung. 4.1. Optimierung einzelner Operationen
Es gibt zwei Stufen für die Optimierung einer SELECT-FROM-WHERE-Anfrageauswertung: a) Optimierung jeder einzelnen Operation => systematische Schätzung der Kosten versch. Ausführungsstrategien, Auswahl
MehrIndexe in Dateien. Thomas Behr. 19.November c 2015 FernUniversität in Hagen
Indexe in Dateien Fakultät für Mathematik und Informatik Datenbanksysteme für neue Anwendungen FernUniversität in Hagen 19.November 2015 c 2015 FernUniversität in Hagen Indexe ermöglichen schnellen Zugriff
Mehr