5.4 Logische Anfrageoptimierung

Größe: px
Ab Seite anzeigen:

Download "5.4 Logische Anfrageoptimierung"

Transkript

1 5 Anfragebearbeitung Übersicht 5. Einleitung 5. Indexstrukturen 5.3 Grundlagen der Anfrageoptimierung 5.4 Logische Anfrageoptimierung 5.5 Kostenmodellbasierte Anfrageoptimierung Logische Anfrageoptimierung Äquivalenzregeln der elationalen Algebra Join, Vereinigung, chnitt und Kreuzprodukt sind kommutativ = = = = Join, Vereinigung, chnitt und Kreuzprodukt sind assoziativ ( T = ( T ( T = ( T ( T = ( T ( T = ( T elektionen sind untereinander vertauschbar σ ed( σ ed ( = σ ed ( σ ed( 0

2 5.4 Logische Anfrageoptimierung Äquivalenzregeln d. elationalen Algebra (cont. Konjunktionen in einer elektionsbedingung können in mehrere elektionen aufgebrochen werden, bzw. nacheinander ausgeführte elektionen können zu einer konjunktiven elektion zusammengefasst werden σ = σ ( σ (...( σ ( n( n Geschachtelte Projektionen können eliminiert werden π A( π A(...( π An(... = π A( Damit eine solche chachtelung sinnvoll ist, muss gelten: A A... An elektion und Projektion sind vertauschbar, falls die Projektion keine Attribute der elektionsbedingung entfernt π ( σ ( = σ ( π (, falls attr ( A A A 5.4 Logische Anfrageoptimierung Äquivalenzregeln d. elationalen Algebra (cont. elektion und Join (Kreuzprodukt können vertauscht werden, falls die elektion nur Attribute eines der beiden Join-Argumente verwendet σ ( = σ (, falls attr ( attr ( σ ( = σ ( Projektionen können teilweise in den Join verschoben werden π A( = π A( π A( π A(, falls A = attr( ( A attr ( A = attr( ( A attr( elektionen können mit Vereinigung, chnitt und Differenz vertauscht werden σ ( = σ ( σ (

3 5.4 Logische Anfrageoptimierung Äquivalenzregeln d. elationalen Algebra (cont. Der Projektionsoperator kann mit der Vereinigung, aber nicht mit chnitt oder Differenz vertauscht werden(iehe Übung! π ( = π ( π ( A A A elektion und ein Kreuzprodukt können zu einem Join zusammengefasst werden, wenn die elektionsbedingung eine Joinbedingung ist (z.. Equi-Join σ. A=. A( =. A=. A Auch an edingungen können Veränderungen vorgenommen werden - Kommutativgesetze, Assoziativgesetze, z.. = - Distributivgesetze, z.. ( 3 = ( ( 3 - De Morgan, z.. ( = Logische Anfrageoptimierung estrukturierungsalgorithmus Aufbrechen der elektionen Verschieben der elektionen so weit wie möglich nach unten im Operatorbaum Zusammenfassen von elektionen und Kreuzprodukten zu Joins Einfügen und Verschieben von Projektionen so weit wie möglich nach unten Zusammenfassen einzelner elektionen zu komplexen elektionen 4

4 5.4 Logische Anfrageoptimierung eispiel Fahrzeug-Datenbank -Kunde(KNr, Name, Adresse, egion, aldo KNr Name Adresse egion aldo 0 Klein Lilienthal remen Horn Dieburg hein-main erger München München Weiss Würzburg Unterfranken estellt(nr, Datum, KNr, KNr, PNr Nr Datum KNr PNr PNr ezeichnung Anzahl Preis MW 38i Produkt(PNr, ezeichnung, Anzahl, Preis 4 Golf Fiat Uno Ferrari Opel Corsa Logische Anfrageoptimierung eispiel (cont. QL Anfrage: select Name, from Kunde k, estellt b, Produkt p where bknr=kknr b.knr k.knr and b.pnr = p.pnr and ezeichnung = Fiat Uno and aldo π[name] Kanonischer Auswertungsplan: σ[ezeichnung= aldo >= ] x Produkt p x estellt b Kunde k 6

5 5.4 Logische Anfrageoptimierung eispiel (cont. - Aufbrechen der elektionen - Verschieben der elektionen π[name] σ[aldo ] σ[ezeichnung= ] 5 σ[b.pnr=p.pnr] 5 σ[b.knr=k.knr] 00 5 Produkt p x x σ[ezeichnung= ] 5 Produkt p π[name] σ[b.pnr=p.pnr] PNr] estellt b x σ[b.knr=k.knr] 0 x 5 σ[aldo ] 4 Kunde k estellt b Kunde k Logische Anfrageoptimierung eispiel (cont. - Zusammenfassen zu Joins - Einfügen zusätzlicher elektionen σ[ezeichnung= ] 5 Produkt p estellt b π[name] b.pnr=p.pnr 5 b.knr=k.knr σ[aldo ] 4 Kunde k σ[ezeichnung= ] 5 Produkt p estellt b π[name] bpnr=p b.pnr p.pnr 5 π[name, b.pnr] b.knr=k.knr σ[aldo ] 4 Kunde k 8

6 5 Anfragebearbeitung Übersicht 5. Einleitung 5. Indexstrukturen 5.3 Grundlagen der Anfrageoptimierung 5.4 Logische Anfrageoptimierung 5.5 Kostenmodellbasierte Anfrageoptimierung Kostenmodellbasierte Anfrageoptimierung elektivität Der Anteil der qualifizierenden Tupel wird elektivität sel genannt. Für die elektion und den Join ist sie folgendermaßen definiert: elektion mit edingung : sel σ ( = (relativer Anteil der Tupel, die erfüllen sel Join von und : = = (Anteil relativ zur Kardinalität des Kreuzprodukts 30

7 5.5 Kostenmodellbasierte Anfrageoptimierung elektivität Die elektivität muss geschätzt werden, für pezialfälle gibt es einfache Methoden: Die elektivität von σ.a=c, also Vergleich mit einer Konstante c beträgt /, falls A ein chlüssel ist Falls A kein chlüssel ist, aber die Werte gleichverteilt sind, ist sel= / I (I ist dabei die image size, d.h. die Anzahl verschiedener A-Werte in esitzt bei einem Equi-Join A.A=. das Attribut A chlüssel- eigenschaft, kann die Größe des Join-Ergebnisses mit abgeschätzt werden, da jedes Tupel aus maximal einen Joinpartner findet. Die elektivität ist also sel = / logisches UND: sel σ = sel ( σ sel ( σ ( logisches ODE: sel ( σ = sel ( σ + sel ( σ sel ( σ sel ( σ logisches NICHT: sel ( σ = sel ( σ ( Kostenmodellbasierte Anfrageoptimierung elektivität Im Allgemeinen benötigt man anspruchsvollere Methoden um zu schätzen, wieviele Tupel sich in einem bestimmten Wertebereich befinden. Drei Grundsätzliche Arten von chätzmethoden: Parametrische Verteilungen Histogramme tichproben eispiel: chätzung der Verteilung der Noten der D II Klausur anhand des Ergebnisse von 007: 3

8 5.5 Kostenmodellbasierte Anfrageoptimierung elektivität: Parametrische Verteilungen estimme zu der vorhandenen Werteverteilung die Parameter einer Funktion so, dass die Verteilung möglichst gut angenähert wird. Probleme: - Wahl des Verteilungstyps t (Normalverteilung, Exponentialverteilung t il und Wahl der Parameter, besonders bei mehrdimensionalen Anfragen (also z.. bei elektionen, die sich auf mehrere Attribute beziehen Kostenmodellbasierte Anfrageoptimierung elektivität: Histogramme Unterteile den Wertebereich des Attributs in Intervalle und zähle die Tupel, die in ein bestimmtes Intervall fallen. - Equi-Width-Histograms: Intervalle gleicher reite - Equi-Depth-Histograms: Unterteilung so, dass in jedem Intervall gleich viele Tupel sind - Flexible Annäherung an die Verteilung 34

9 5.5 Kostenmodellbasierte Anfrageoptimierung elektivität: tichproben ehr einfaches Verfahren Ziehe eine zufällige Menge von n Tupeln aus einer elation, und betrachte deren Verteilung als repräsentativ für die gesamte elation. Problem der Größe des tichprobenumfangs n: - n zu klein: Wenig repräsentative tichprobe - n zu gross: Ziehen der tichprobe erfordert zu viele teure Zugriffe auf den Hintergrundspeicher Kostenmodellbasierte Anfrageoptimierung eispiel: elektivität von Fensteranfragen zenario: - Datenobjekte (Tupel sind Punkte in einem d-dimensionalen Featureraum (z.. geographische Objekte auf einer D Karte - Fensteranfragen: Gegeben ein Anfragefenster W (d-dimensionales Hyper-echteck Gesucht: alle Objekte innerhalb des Anfragefensters W W 36

10 5.5 Kostenmodellbasierte Anfrageoptimierung eispiel: elektivität von Fensteranfragen (cont ekannte Ansätze: - ampling Problem: Genauigkeit abhängig von der amplegröße - D Histogramme Problem: Annahme der Unabhängigkeit zwischen den Attributen - Mutli-D Histogramme Problem: Anzahl der Gridzellen steigt exponentiell mit d - Parametrische Methoden Problem: nur für D und 3D Daten geeignet Kostenmodellbasierte Anfrageoptimierung eispiel: elektivität von Fensteranfragen (cont tattdessen: - Modellierung der Datenverteilung durch eine Menge von Gauss-Verteilungen - EM-Algorithmus: Input: Datenbank, Anzahl der Gaussverteilungen k Output: k Gaussverteilungen, die die Objekte der Datenbank optimal repräsentieren elektivitätsabschätzung: G - Integral des chnitts von W mit 3 allen k Gauss-Verteilungen G G W 38

11 5 Anfragebearbeitung Übersicht 5. Einleitung 5. Indexstrukturen 5.3 Grundlagen der Anfrageoptimierung 5.4 Logische Anfrageoptimierung 5.5 Kostenmodellbasierte Anfrageoptimierung Einfacher Nested-Loop-Join Algorithmus for each Tupel r do for each Tupel s do if r. A = s. then result : = result ( r s Matrixnotation ( ( 3 ( ( ( Der einfache Nested-Loop-Join entspricht der ildung des kartesischen Produktes in kanonischer Ordnung mit anschließender elektion. Die elation wird mal eingelesen: Performanz ist deshalb inakzeptabel wird als innere elation und als äußere elation bezeichnet 40

12 Nested-lock-Loop-Join Algorithmus Matrixnotation for each lock do ( ( 3 ( ld lade lock for each lock lade lock do for each Tupel r for each Tupel s do do if r. A = s. then result : = result ( r s ( ( 4 Nested-lock-Loop-Join (cont. eispiel: Angestellter Gehaltsgruppe Gehaltsgruppe Gehalt Müller ( chneider ( ( chuster chmidt (3 ( chütz (3 Anzahl lockzugriffe: + = 8 lockzugriffe ohne Cache ( = Anzahl löcke der elation D.h. die kleinere elation sollte die äußere sein 4

13 Cache trategien für Nested-lock-Loop-Join. eiten der inneren elation im Cache halten Cache wird überhaupt nicht ausgenutzt, wenn Cache kleiner als elation ist eispiel: eiten Cache für, eite Cache für ( : Zugriff Platte ( ( ( (3 ( ( ( (3 ( ( (3 ( 3 ( Cache trategien für NL-Join (cont.. eiten der inneren elation im Cache, aber innere elation jedes zweite mal rückwärts Pro Durchlauf der äußeren chleife werden ( C - lockzugriffe eingespart (ab. Durchlauf C = Anzahl löcke, die in den Cache passen, ein Cache- lock wird jeweils für -elation elation benötigt lockzugriffe: + ( - C + + C - eispiel: eiten Cache für, eite Cache für ( ( ( (3 ( (3 ( ( ( ( (3 ( 3 (

14 Cache trategien für NL-Join (cont. 3. C - löcke der äußeren elation werden in den Cache eingelesen, zu jedem lock der inneren elation werden diese löcke gejoint lockzugriffe: + C i eispiel: ili eiten Cache für, eite Cache für ( ( ( ( (3 (4 (5 (3 (4 ( ( (3 (4 (5 ( ( (3 (4 (5 ( ( ( ( Cache trategien für NL-Join (cont. Algorithmus für trategie 3: for i: = 0 to lade lock for each lock step C do lade lock ( i K do ( i+ C for each Tupel r (i K for each Tupel s if r. A = s. then result : = result ( r s do ( i+ C do Leistung: * Vergleiche von Tupel (ist nur bei schlechter ht elektivität gerechtfertigt Effizienteste Ausführung von θ Joins mit θ = 46

15 lockgrößen-optimierung NL-Join Problem: Zu kleine lockgröße: Innere elation wird in sehr kleinen chritten eingelesen ei jedem I/O-Auftrag Latenzzeit des Plattenlaufwerks Zu große lockgröße (z..: Cache wird in -3 lö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? 47 lockgrößen-optimierung NL-Join (cont. I/O-Kosten für den gesamten Join: t NL Join (tseek tlat b ( C ttr ( t C C lat + b t tr f bzw. f : Größe der elationen in ytes c: Größe des Cache in ytes t tr : Transferzeit pro yte t lat : durchschnittliche Latenzzeit des Disk-Laufwerkes b: lockgröße (Parameter, der optimiert wird Vernachlässigung des -cans (da nur mal und in großen löcken t NL Join fs b c f / b / b ( t + b t lat tr 48

16 lockgrößen-optimierung NL-Join (cont. Anzahl lockzugriffe Äußere elation uchen zum aktuellen lock von + uchen zum tart von Innere elation + C t NL Join (t C seek + t lat + b ( C t tr + ( t C lat + b t tr t NL Join in einer Leseoperation werden C - löcke der äußeren elation gelesen ignorieren, da nur x und in großen löcken f bzw. f : Größe der elationen in ytes c: Größe des Cache in ytes t tr : Transferzeit pro yte Jeweils ein lock wird gelesen, aber nächster lock startet meist auf gleicher pur fs b c f / b / b ( t + b t lat tr 49 lockgrößen-optimierung NL-Join (cont. Weglassen der undungsfunktion (unproblematisch für f, f >> b, d.h. relativer Fehler ist vernachlässigbar ergibt stückweise differenzierbaren Term f f tnl Join ( tlat + b ttr b c b ( / Optimierung der Hüllfunktion t hull b f f (( c / b ( t + b t lat tr Joinkosten bei f = f = 0Myte c = 500 Kyte t lat = 5 ms t tr = 0,5 s /Myte b opt = 85 Kyte 50

17 lockgrößen-optimierung NL-Join (cont. Optimierung durch Differenzieren Gleichsetzen der. Ableitung mit 0 Lösungen, von denen nur eine positiv ist tlat + ttr tlat c tlat 0 = thull bopt = b ttr Lösung ist Minimum (s.. Ableitung An den tellen, 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 prungstelle e links oder rechts vom Minimum von t hull sein: c c b = c /, b = c / b opt b opt 5 lockgrößen-optimierung NL-Join (cont. CPU-Kosten Im wesentlichen müssen * Vergleiche durchgeführt werden ei 0. µs pro Vergleich und Tupel pro elation ergibt sich eine earbeitungszeit von 000 s. D.h. wesentlich mehr als die 75 s I/O-Zeit Der NL-Join ist also CPU-bound Maßnahmen zur enkung des CPU-Aufwands später 5

18 ort-merge-join Zweistufiger Algorithmus.chritt: sortiere bzgl. Attribut A sortiere bzgl. Attribut.chritt: j =; 9 s = erstes Tupel von ; 0 for i = to do r = i - tes Tupel von ; while s s. < ra r.a 3 4 j = j + ; s = j - tes Tupel von ; if r. A = s. then result : = result (( r r. A s; Achtung: Dieser Algorithmus funktioniert nur, falls und auf dem Joinattribut keine Duplikate enthalten. Wie muss der Algorithmus erweitert t werden um Duplikate zu erfassen? Matrixnotation ort-merge-join (cont. Leistung Jede elation wird genau einmal durchlaufen: O( + Vergleiche ortieren der elation kostet O( log + log ortieren ist nicht notwendig, wenn bereits ein Index existiert Verfahren versagt, g, 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 54

19 Einfacher Hash-Join eduktion des CPU-Aufwandes bei der Join-erechnung Der Join-Partner eines -Tupels wird gezielt mit Hilfe eines Hash- Verfahrens gesucht, anstatt das -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 -Tupels, T l 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. Leistung hängt stark ab von der Güte der Hashfunktion: O( + im Idealfall verschlechtert sich, wenn Werte ungleichmäßig belegt sind Modifikation ist notwendig, wenn Hauptspeicher zu klein (kleiner als 55 Einfacher Hash-Join (cont. Algorithmus for each Tupel r do berechne adr berechne adr = hash(r ; speichere r in HT[adr] ab; for each Tupel s do //prüfe in der Hashtabelle HT = hash(s ; for each Tupel r HT[ adr] do if r. A = s. then result : = result (( r r. A s Matrixnotation hash(x = MOD 3 56

20 Hashed-Loop-Join Kombination aus dem Nested-Loop-Join und dem einfachen Hash-Join elation wird in große löcke eingeteilt, deren Hashtabellen in den Puffer passen Für jeden dieser löcke wird die elation gescannt und ein einfacher Hash-Join durchgeführt Algorithmus repeat lese soviel Tupel von in Hauptspeic her bis der Platz aufgebrauc ht ist; erzeuge für diese Tupel eine Hashtabell e for each Tupel s do berechne adr = hash(s ; for each Tupel r HT [ adr ] do if r. A = s. then result : = result (( r r. A s until alle Tupel der lti elation HT ; sind id eingelesen ; 57 Hashed-Loop-Join (cont. Matrixnotation -Tupel, die in den Puffer passen auf fden einzelnen löcken: Hash-Join hj Ablauf chritt A:. Eintragen der Tupel von in die Hashtabelle, bis sie voll ist. Prüfen, ob Einträge für Hashwert der Tupel von in der Hashtabelle vorhanden sind und ggf. ildung des Joins Hashtabelle Hintergrundspeicher Hauptspeicher chritt : Wiederhole chritt A für die restlichen Tupel von 58

21 Hash-Partitioned-Join (GACE Der Hashed-Loop-Join zerlegt die elationen willkürlich in löcke, jeder lock der -elation l i muss mit ijd jedem lock kder -elation l i kombiniert i werden Idee: Zerlege die elationen und mit Hilfe einer Hashfunktion in Partitionen, so dass nur Partitionen mit demselben Hash-Key kombiniert werden müssen Zweistufiges Verfahren. Partitioniere die elationen und in,, N und,, N. erechne den Join der einzelnen Partitionen i und i mit einem beliebigen Join Verfahren (z.. einfacher Hash-Join oder Hashed-Loop- Join wenn Partition zu groß Matrixnotation -Tupel, die in den Puffer passen Auf den einzelnen löcken: einfacher Hash-Join oder Hashed-Loop-Join 59 Hash-Partitioned-Join (GACE (cont. Ablauf Partitionierungsphase chritt A: Hintergrundspeicher chritt : Wiederhole chritt A für Join-Phase i i Hintergrundspeicher Puffer Puffer Puffer 3 3 Puffer n n Hauptspeicher Hintergrundspeicher. Eintragen der Tupel von i in die Hashtabelle, bis sie voll ist. Prüfen, ob Einträge für Hashwert der Tupel von i in der Hashtabelle vorhanden sind und ggf. ildung des Joins Hashtabelle Hauptspeicher 60

22 Hybrid Hash-Join Algorithmus for each Tupel r do berechne adr if (adr = then else = hash(r ; füge r in eine Hashtabelle HT ein (bzgl. neuer Hashfkt.; speichere ih r in einem Pff Puffer / * wenn der Puffer voll ist, for each Tupel s do berechne adr if (adr = then else = hash(s ; adr wird er stets auf Platte geschrieben */ suche in HT nach entsprechenden Tupel r mit r.a = s.; speichere s in einem Puffer for i = to N do berechne den Join der Partitionen adr i und i mit dem Hashed - Loop - Join 6 Hybrid Hash-Join (cont. Ablauf der Partitionierungsphase: Hintergrundspeicher Hashtabelle Puffer 3 Puffer 3 3 n Puffer n n Hauptspeicher Hintergrundspeicher 3 4 n Hintergrundspeicher 3 4 n Hintergrundspeicher 6

23 Hybrid Hash-Join (cont. Leistung eduzierung der I/O-Kosten (im Vergleich zu GACE, da eine Partition im Hauptspeicher gehalten wird vorteilhaft, wenn viel Hauptspeicher zur Verfügung steht, aber die elation nicht komplett im Hauptspeicher gehalten werden kann Probleme aller Hash-Join-Verfahren ungleiche Datenverteilung (extrem hohe elegung eines Wertes durch Datensätze Wie wird die Hashfunktion (und damit die Partitionen der einzelnen Verfahren gewählt? 63

6. Anfragebearbeitung

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

Mehr

Kapitel 4: Relationale Anfragebearbeitung

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

Mehr

Joins / Implementierung von Joins

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

Mehr

Anfragebearbeitung. Vorlesung: PD Dr. Peer Kröger

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

Mehr

Kapitel 6 Anfragebearbeitung

Kapitel 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

Mehr

Kapitel 10: Relationale Anfragebearbeitung

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

Mehr

Kapitel 10: Relationale Anfragebearbeitung

Kapitel 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

Mehr

Indexstrukturen in SQL

Indexstrukturen 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

Mehr

Kapitel 6 Anfragebearbeitung

Kapitel 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

Mehr

Kapitel 5 Anfragebearbeitung

Kapitel 5 Anfragebearbeitung LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATAASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2013 Kapitel 5 Anfragebearbeitung Vorlesung: PD Dr. Peer Kröger

Mehr

Anfragebearbeitung. Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1

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

Mehr

Hash-Join Algorithmen

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

Mehr

Physische Anfrageoptimierung

Physische 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

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

Mehr

Anfrageoptimierung Physische Optimierung

Anfrageoptimierung 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

Mehr

Skript zur Vorlesung. Da atenbanksy ysteme I. Wintersemester 2010/2011. Vorlesung: PD Dr Matthias Schubert. Relationale Anfragebearbeitung

Skript zur Vorlesung. Da atenbanksy ysteme I. Wintersemester 2010/2011. Vorlesung: PD Dr Matthias Schubert. Relationale Anfragebearbeitung Ludwi Maimilians Universität München Institut für Informatik Lehr- und Forschunseinheit für Datenbanksysteme Skript zur Vorlesun Datenbanksysteme I Wintersemester 010/011 Kapitel 10: Relationale Anfraebearbeitun

Mehr

Anfragebearbeitung 2. Vorlesung Datenbanksysteme vom

Anfragebearbeitung 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

Mehr

Anfrageoptimierung Logische Optimierung

Anfrageoptimierung 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

Mehr

Wintersemester 2016/ Matrikelnummer: Hinweise. Unterschrift

Wintersemester 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

Mehr

Übung Datenbanksysteme II Anfrageausführung. Thorsten Papenbrock

Ü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

Mehr

Datenbanken 2. Anfragebearbeitung. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg. Version 1.

Datenbanken 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

Mehr

Inhalt. Datenbanken Vertiefung. Literatur und Quellen. Inhalt. Anfragebearbeitung. Nikolaus Augsten. Wintersemester 2013/14

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

Mehr

Übung Datenbanksysteme II Anfrageausführung

Ü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

Mehr

Inhalt. Datenbanken 2. Literatur und Quellen. Inhalt. Anfragebearbeitung. Nikolaus Augsten. Wintersemester 2017/18

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

3.4 Die relationale Algebra

3.4 Die relationale Algebra Algebra: 3.4 Die relationale Algebra gegeben eine Menge N ( Anker der Algebra ) Menge von Operationen { σ 1,, σ n } der Form σ j :N k N elationale Algebra Anker ist die Menge aller elationen {(, I) I ist

Mehr

[W, T4, D, 15] [start_transaction, T3] [W, T3, C, 30] [W, T4, A, 20] [commit, T4] [W, T2, D, 25] System Crash

[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,

Mehr

Literatur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 1982, Kapitel 2.2

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

Mehr

Datenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann

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

Mehr

Star Join & Kostenbasierte Optimierung. Architektur von Datenbanksystemen II

Star 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

Mehr

Anfrageverarbeitung. Einführung

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

Mehr

IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN

IMPLEMENTIERUNG 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

Mehr

13. Hashing. AVL-Bäume: Frage: Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n)

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

Mehr

Fokus bisher lag bisher auf sinnvoller Abbildung eines Ausschnitts der realen Welt in einer relationalen Datenbank

Fokus 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

Mehr

Kapitel 5 Anfragebearbeitung

Kapitel 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

Mehr

Datenbanken Vertiefung Wintersemester 2013/ Matrikelnummer: Hinweise. Unterschrift

Datenbanken 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

Mehr

Anfragebearbeitung. Anfrage. Übersetzer. Ausführungsplan. Laufzeitsystem. Ergebnis

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

Mehr

Anfrageoptimierung Kostenmodelle

Anfrageoptimierung 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

Mehr

Datenbanken Vertiefung Wintersemester 2014/ Matrikelnummer: Hinweise. Unterschrift

Datenbanken 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

Mehr

w 1 (A) T 1 w 3 (B) w 1 (D) b 3 flush(p D ) flush(p B ) flush(p B )

w 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

Mehr

Übung Datenbanksysteme II Physische Speicherstrukturen. Thorsten Papenbrock

Ü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

Mehr

Query Languages (QL) Relationale Abfragesprachen/Relational

Query 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

Mehr

Datenbanken: Indexe. Motivation und Konzepte

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

Mehr

4. Relationenalgebra. Einleitung. Selektion und Projektion Mengenoperatoren. Verbundoperationen (Join) Division Beispielanfragen

4. Relationenalgebra. Einleitung. Selektion und Projektion Mengenoperatoren. Verbundoperationen (Join) Division Beispielanfragen Einleitung 4. Relationenalgebra Selektion und Projektion Mengenoperatoren Vereinigung, Durchschnitt, Differenz kartesisches Produkt Verbundoperationen (Join) Theta-Join natürlicher Verbund Semi-Join äußerer

Mehr

Datenbanken Vertiefung

Datenbanken Vertiefung Datenbanken Vertiefung Anfrageoptimierung Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg Wintersemester 2013/14 Augsten (Univ. Salzburg) DBV / Anfrageoptimierung

Mehr

Anfrageoptimierung Kostenabschätzung

Anfrageoptimierung 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

Mehr

Aufgabe 9.1: Lösung: Block-Nested-Loop-Verbund Index-Nested-Loop-Verbund Sort-Merge-Verbund Hash-Verbund

Aufgabe 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

Inhalt. Datenbanken 2. Literatur und Quellen. Inhalt. Anfrageoptimierung. Nikolaus Augsten. Wintersemester 2014/15

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

Mehr

Datenstrukturen und Algorithmen. 7. Suchen in linearen Feldern

Datenstrukturen und Algorithmen. 7. Suchen in linearen Feldern Datenstrukturen und Algorithmen 7. Suchen in linearen Feldern VO 708.031 Suchen in linearen Feldern robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische

Mehr

Rückblick: Datenorganisation & Indexstrukturen

Rü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

Übung Datenbanksysteme II Physische Speicherstrukturen. Maximilian Jenders. Folien basierend auf Thorsten Papenbrock

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

Mehr

(4 Punkte) Aufgabe 1: Relationenalgebra - Relationenkalkül

(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

Mehr

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.

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

Mehr

Anfragebearbeitung. Kapitel 7. Anfragebearbeitung 285 / 520

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

IR Seminar SoSe 2012 Martin Leinberger

IR 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

Mehr

Anfrageverarbeitung und Kostenmodelle

Anfrageverarbeitung 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,

Mehr

Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 19. Dez Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 9

Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 19. Dez Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 9 Universität Augsburg, Institut für Informatik W 2008/2009 Prof. Dr. W. Kießling 19. Dez. 2008 Dr. A. Huhn, M. Endres,. Preisinger Lösungsblatt 9 Aufgabe 1: Geschwister Gegeben war: a) Erstellen ie obigen

Mehr

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle 122 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 123 Das Suchproblem Gegeben Menge von Datensätzen.

Mehr

IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN

IMPLEMENTIERUNG 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

Das Relationale Modell

Das 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

Mehr

Kommunikation und Datenhaltung

Kommunikation und Datenhaltung Kommunikation und Datenhaltung Anfrageoptimierung Überblick über den Datenhaltungsteil Einleitung und Grundlagen Architektur von Datenbanksystemen Datenbankanfragen Relationenmodell und Relationenalgebra

Mehr

7.3 Baum-Indexstrukturen

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

technische universität dortmund Fakultät für Informatik LS 8 Speichern von Daten Prof. Dr. Katharina Morik

technische 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

Mehr

Aufgabe 1 Indexstrukturen

Aufgabe 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

Mehr

Kostenmodelle und Tuning. Anfragebearbeitung 3. Kostenmodelle. Kostenbasierte Optimierung. VL Datenbanksysteme

Kostenmodelle 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

Mehr

Integriertes Seminar Datenbanken und Informationssysteme. Was sind Peer-to-Peer Systeme? Wie kann man diese effizient nutzen?

Integriertes Seminar Datenbanken und Informationssysteme. Was sind Peer-to-Peer Systeme? Wie kann man diese effizient nutzen? Integriertes Seminar Datenbanken und Informationssysteme P2P-Computing Lehrgebiet Datenverwaltungssysteme Prof. Dr. Dr. h.c. Härder Prof. Dr. Deßloch Björn Jung b_jun@informatik.uni-kl.de Technische Universität

Mehr

Wichtige Begriffe und Sätze aus der Wahrscheinlichkeitsrechnung

Wichtige Begriffe und Sätze aus der Wahrscheinlichkeitsrechnung Wichtige Begriffe und Sätze aus der Wahrscheinlichkeitsrechnung Version: 22. September 2015 Evelina Erlacher 1 Mengen Es sei Ω eine Menge (die Universalmenge ) und A, B seien Teilmengen von Ω. Dann schreiben

Mehr

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge von Datensätzen. Beispiele

Mehr

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle 119 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 120 Das Suchproblem Gegeben

Mehr

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge

Mehr

6. Formaler Datenbankentwurf 6.1. Definitionen

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

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung Übersicht Datenstrukturen und Algorithmen Vorlesung 13: 1 Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 2 Effizienz

Mehr

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung Übersicht Datenstrukturen und Algorithmen Vorlesung 13: 1 Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group https://moves.rwth-aachen.de/teaching/ss-18/dsal/ 2 Effizienz

Mehr

Anfrageoptimierung. Datenbankpuffer

Anfrageoptimierung. Datenbankpuffer Anfrageoptimierung Java : Assembler (Faktor 2-10), aber SQL : SQL optimiert (Faktor 1-100 und mehr) - Warum? - Datenbankpuffer - Speicherstrukturen - Logische Anfrageoptimierung - Physische Anfrageoptimierung

Mehr

9 Auswertung von Anfrageoperatoren 9.1 Selektion

9 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

Mehr

Aggregatfunktionen in der Relationenalgebra?

Aggregatfunktionen in der Relationenalgebra? Aggregatfunktionen in der Relationenalgebra? Dieter Sosna Aggregatfunktionen in der Relationenalgebra p.1/23 Gliederung Motivation Begriffe Definitionen Anwendungen Zusammenfassung Aggregatfunktionen in

Mehr

Anfragebearbeitung und Optimierung

Anfragebearbeitung 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

Mehr

Hash-Verfahren. Prof. Dr. T. Kudraß 1

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

Mehr

3. Suchen. Das Suchproblem. Suche in Array. Lineare Suche. 1 n. i = n Gegeben Menge von Datensätzen.

3. Suchen. Das Suchproblem. Suche in Array. Lineare Suche. 1 n. i = n Gegeben Menge von Datensätzen. Das Suchproblem Gegeben Menge von Datensätzen. 3. Suchen Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle Jeder Datensatz hat einen Schlüssel k. Schlüssel sind vergleichbar: eindeutige Antwort auf

Mehr

Zusatzskript Datenmanagement: physische Strukturen B+- und B*-Baum B+-Baum

Zusatzskript 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

Mehr

Datenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann

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

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (13 Offenes Hashing) Prof. Dr. Susanne Albers Hashing: Allgemeiner Rahmen Schlüsselmenge S Universum U aller möglichen Schlüssel Hashfunktion h 0,,m-1

Mehr

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

Mehr

Cognitive Interaction Technology Center of Excellence

Cognitive Interaction Technology Center of Excellence Kanonische Abdeckung Motivation: eine Instanz einer Datenbank muss nun alle funktionalen Abhängigkeiten in F + erfüllen. Das muss natürlich immer überprüft werden (z.b. bei jedem update). Es reicht natürlich

Mehr

Relationale Algebra. Thomas Heimrich. Rel. Algebra. Grundlagen. Beispielrelationen. rel. Algebra. Definition der rel. Algebra.

Relationale Algebra. Thomas Heimrich. Rel. Algebra. Grundlagen. Beispielrelationen. rel. Algebra. Definition der rel. Algebra. 1 / 17 Rel. Relationale Thomas Heimrich rel. Formale Sprachen Rel. relationale Die relationale ist prozedural orientiert. Sie beinhaltet implizit einen Abarbeitungsplan für die Anfrage. Die rel. ist wichtig

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 8 (13.5.2016) Hashtabellen I Algorithmen und Komplexität Dictionary mit sortiertem Array Laufzeiten: create: O(1) insert: O(n) find: O(log

Mehr

Relationale Algebra Datenbanken I (Systemorientierte Informatik IV) Sommersemester Mengenoperationen

Relationale Algebra Datenbanken I (Systemorientierte Informatik IV) Sommersemester Mengenoperationen Concept Content.. Information Topic Relationale Algebra Datenbanken I (Systemorientierte Informatik IV) Sommersemester 2007 Gunar Fiedler (fiedler@is.informatik.uni-kiel.de) Institut für Informatik Arbeitsgruppe

Mehr

Grundlagen von Datenbanken. 4. Übung: Algebraische Optimierung

Grundlagen von Datenbanken. 4. Übung: Algebraische Optimierung Grundlagen von Datenbanken 4. Übung: Algebraische Optimierung Algebraische Optimierung Ziel Effiziente Ausführung eines algebraischen Ausdrucks Minimierung der Größe von Zwischenergebnissen (das Endergebnis

Mehr

Grundlagen: Datenbanken

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

Mehr

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join Parsen der Anfrage (SQL) Transformation in eine Standardform (Relationenalgebra) Logische Optimierung Transformation in alternative Zugriffspläne, Physische Optimierung Ausführung des gewählten Zugriffsplans

Mehr