5.4 Logische Anfrageoptimierung
|
|
- Nadja Kirchner
- vor 7 Jahren
- Abrufe
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.1 Einleitung 6.2 Indexstrukturen 6.3 Grundlagen der Anfrageoptimierung 6.4 Logische Anfrageoptimierung 6.5 Kostenmodellbasierte Anfrageoptimierung 55 Fokus: Effiziente Berecnung
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:
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
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,
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
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
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
MehrKapitel 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
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
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
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
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/
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
MehrSkript 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
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 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
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
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
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
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
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
Mehr3.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
Ü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,
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Mehr4. 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
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
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
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
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
MehrDatenstrukturen 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
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Ü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
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
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
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
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
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,
MehrUniversitä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
MehrDas 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.
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,
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
MehrKommunikation und Datenhaltung
Kommunikation und Datenhaltung Anfrageoptimierung Überblick über den Datenhaltungsteil Einleitung und Grundlagen Architektur von Datenbanksystemen Datenbankanfragen Relationenmodell und Relationenalgebra
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.
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
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
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
MehrIntegriertes 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
MehrWichtige 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
MehrDas 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
MehrDas 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
MehrDas 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
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
MehrHashing 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
MehrHashing 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
MehrAnfrageoptimierung. Datenbankpuffer
Anfrageoptimierung Java : Assembler (Faktor 2-10), aber SQL : SQL optimiert (Faktor 1-100 und mehr) - Warum? - Datenbankpuffer - Speicherstrukturen - Logische Anfrageoptimierung - Physische Anfrageoptimierung
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
MehrAggregatfunktionen in der Relationenalgebra?
Aggregatfunktionen in der Relationenalgebra? Dieter Sosna Aggregatfunktionen in der Relationenalgebra p.1/23 Gliederung Motivation Begriffe Definitionen Anwendungen Zusammenfassung Aggregatfunktionen in
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
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.
Mehr3. 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
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
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)
MehrVorlesung 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
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.
MehrCognitive 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
MehrRelationale 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
MehrInformatik 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
MehrRelationale 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
MehrGrundlagen 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
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
MehrEinleitung 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