5.2.2 Physische Optimierung

Größe: px
Ab Seite anzeigen:

Download "5.2.2 Physische Optimierung"

Transkript

1 Physische Optimierung Physische Optimierung 2002 Prof. Dr. ainer Manthey Informationssysteme 1 Physische Optimierung: Übersicht "logischer" A-Ausdruck logische Optimierung verbesserter logischer A-Ausdruck physische Optimierung Auswertungsplan (aus physischen A-Operatoren) wesentliche Aufgaben der physischen Optimierung: Auswahl geeigneter Algorithmen zur physischen ealisierung der A-Operatoren: physische Operatoren, physische Algebra Ausnutzung bereits existierender Zugriffspfade auf peicherstrukturen: Indexe, B-Bäume, Hash-Tabellen (mehr dazu in Kapitel 6) ortierung von Zwischenergebnissen Anlegen von temporären Indexen und Hash-Tabellen Planung der Zwischenspeicherung Abschätzung von Kosten unterschiedlicher Implementierungsvarianten auf der Basis von vordefinierten Kostenmodellen 2002 Prof. Dr. ainer Manthey Informationssysteme 2

2 Physische Optimierung: Motivation Ergebnis der logischen Optimierung: π s.emester QEP nach der physischen Optimierung: IndexDup Hash h.matrnr = s. MatrNr h.vorlnr = v.vorlnr s Project IndexJoin MergeJoin s s.emester h.matrnr = s. MatrNr h.vorlnr = v.vorlnr h ort v.vorlnr ort h.vorlnr p.persnr = v.gelesenvon IndexJoin p.persnr = v.gelesenvon h v σ p.name = 'okrates' p v elect p.name = 'okrates' p 2002 Prof. Dr. ainer Manthey Informationssysteme 3 Operatoren der physischen Algebra Zu jedem Operator der A ("logische Algebra") gehören ein oder mehrere Prozeduren, die diese Operation realisieren: Operatoren der physischen Algebra Projektion ohne Duplikateliminierung: Vereinigung ohne Duplikateliminierung: Duplikateliminierung: "naive" Grundversion: unter Verwendung von ortierung: unter Verwendung eines Index: elektion: ohne Indexverwendung: mit Indexverwendung: Project a Union NestedDup ortdup IndexDup elect c Indexelect c 2002 Prof. Dr. ainer Manthey Informationssysteme 4

3 Operatoren der physischen Algebra (2) Join (analog: Differenz, Durchschnitt): "naive" Grundversion: auf sortierten Eingaben: unter Indexverwendung : unter Verwendung einer Hash-Tabelle im Hauptspeicher: Zwischenspeicherung: mit temporärer Materialisierung der Ergebnisrelation im peicher: M. mit ortierung der Ergebnisrelation: NestedLoop c MergeJoin c IndexJoin c HashJoin c Bucket ort a M. mit Indexierung der Ergebnisrelation: ortierung der Zwischenergebnisrelation: Hash a Mergeort Tree a 2002 Prof. Dr. ainer Manthey Informationssysteme 5 Nested Loop-Join NestedLoop.A =. B res := ; foreach r do foreach s do if r.a = s.b then res := res {r s} einfachste, aber relativ ineffiziente ealisierung des Join: "Nested Loop"-Join (dt.: "verschachtelte chleifen") Konkatenation pro -Tupel ein kompletter -Durchlauf: Vergleiche (quadratisch) : : A. r s B 2002 Prof. Dr. ainer Manthey Informationssysteme 6

4 Merge-Join MergeJoin.A =. B : A : 0 r s B wesentliche Effizienzsteigerung möglich, wenn beide Join-Operanden vorsortiert sind: Merge-Join (engl.: merge, dt.: mischen) * paralleles Vorrücken von Zeigern in beiden Operanden, bis Joinbedingung erfüllt ist bei Existenz mehrerer passender Tupel mit identischem Attributwert im 2. Operanden: Markieren ( ) des ersten Tupels * ggf. ücksetzen auf diese Marke average case: linear worst case: quadratisch 2002 Prof. Dr. ainer Manthey Informationssysteme Zugriffspfade: Indexe Datenbankmanagementsysteme verwenden in der egel zahlreiche intern verwaltete Hilfs-Datenstrukturen, um den Zugriff auf größere Tabellen zu beschleunigen. olche Datenstrukturen werden allgemein Zugriffspfade genannt. Die wichtigste Zugriffshilfe stellen Indexe dar, spezielle Formen von uchbäumen, die anhand bestimmter Indexierungskriterien (meist bestimmte Attribute) einen gezielten Zugriff auf Datensätze bieten, die die Indexwerte enthalten (statt sequentiell in der ganzen Tabelle danach suchen zu müssen). Der Begriff 'Index' ist motiviert durch die Indexseiten von Büchern. Plural für diesen "terminus technicus" ist 'Indexe' (nicht 'Indizes'), das zugehörige Verb ist 'indexieren' (nicht 'indizieren') - Empfehlung, keine "Duden-egel" k... l... m D 1 D 2... D s D t... D... s D v... D w 2002 Prof. Dr. ainer Manthey Informationssysteme

5 Index-Join Liegt für eines der Join-Attribute ein Index vor, dann kann die uche nach Join- Partnern im rechten Operanden durch Zugriff über diesen Index erheblich beschleunigt werden: IndexJoin.A =. B : : A Index auf B B Temporäres Anlegen von Indexstrukturen wäre allerdings i.a. zu aufwändig, daher kann Index-Join nur für indexierte Basisrelationen eingesetzt werden. bei größeren Indexstrukturen: Index selbst liegt im Hintergrundspeicher, d.h. Indexzugriffe werden ebenfalls "teuer"; genaue Kosten-Nutzen-Analyse nötig! 2002 Prof. Dr. ainer Manthey Informationssysteme 9 Zugriffspfade: Hash-Tabellen bereits aus dem Grundstudium bekannt: "Hashing" und "Hashfunktionen" als Technik zum effizienten Zugriff auf uchschlüssel in großen Datenstrukturen offensichtlich: Hashing ist auch für Datenbanken interessant - Details wiederum im nächsten Kapitel, hier nur kurze Prinzipwiederholung Prinzip des Hashings: speziell konstruierte Funktion (Hashfunktion) bildet uchschlüssel auf "Behälter" (buckets) ab, in denen die Datensätze mit den gesuchten Werten liegen. im DB-Kontext: chlüsselwerte: Werte eines bestimmten Attributs der elation Behälter: einzelne oder mehrere (konsekutive) peicherseiten Zugriff: Berechnen der Behälteradresse für gegebenen Attributwert mittels Hashfunktion "Behälter" selbst organisiert in Tabellenform (Unter-elationen mit gemeinsamer "Behälteradresse": Hash-Tabellen 2002 Prof. Dr. ainer Manthey Informationssysteme 10

6 Hash-Join HashJoin c Hash-Tabellen lassen sich ebenfalls als Zugriffshilfen bei der Join-Bildung ausnutzen, beanspruchen aber wie Indexe oft erheblichen (Hintergrund-)peicherplatz. Temporäre Hash-Tabellen lohnen sich zur Join-Beschleunigung nur, wenn sie vollständig im Hauptspeicher gehalten werden können. Beim Hash-Join wird für beide Join-Partner und dieselbe Hashfunktion h für beide Joinattribute.A und.b verwendet, so dass "Join-Partner" in identischen Buckets zu finden sind. Um Hauptspeicher-Hash-Tabellen nutzen zu können, werden und so partitioniert, dass jeweils Teil-elationen entstehen, deren Hash-Tabellen im Hauptspeicher Platz haben: kleinere Operandenrelation: Einlesen in H und "Hashen" (Build Input) größerer Operand: Vorverarbeitung mit identischer Hashfunktion und Partitionieren, eventuell auch im Hintergrundspeicher (Probe Input) Joinphase: seitenweises Einlesen des Probe Input und Zuordnen von "Join- Partnern" mittels Hash-Tabellen des Build-Input 2002 Prof. Dr. ainer Manthey Informationssysteme 11 Hash-Funktionen beim Hash-Join: Beispiel Verwendung identischer Hashfunktionen für beide Join-Argumente A r 1 5 r 2 r 3 r 4 5 B 5 s 1 s 2 10 s 3 5 s 4 h(a) h(b ) r 1 5 r 2 r 3 5 s 1 s 2 r s 4 Bucket 1 Bucket 2 Bucket Prof. Dr. ainer Manthey Informationssysteme 12

7 Partitionierung von elationen für Hash-Join Prinzip der Partitionierung und Hash-Vorverarbeitung beim Hash-Join: (engl. "probe": testen) (engl. "build": bauen) (detailliertere Beispieldiskussion bei Kemper/Eíckler,.2.2) 2002 Prof. Dr. ainer Manthey Informationssysteme 13 Zwischenergebnisbehandlung und Pipelining Zwischenergebnisse werden oft so groß, dass sie selbst temporär im Hintergrundspeicher abgelegt werden müssen, bevor man sie weiterverwenden kann. Materialisierung Auch zur Wiederverwendung von Zwischenergebnissen, die wegen gemeinsamer Teilausdrücke sonst mehrfach zu berechnen wären, kann Materialisierung motivieren. einfache Materialisierung: Bucket-Operator; Varianten mit Vorverarbeitung: ort-, Hash- und Tree-Operatoren (Indexerzeugung) Alternative zur Materialisierung: direktes "Weiterreichen" einzelner Ergebnistupel an den jeweils nächsten Operator in Form mehrfach geschachtelter chleifen Bezeichnung im "DB-Jargon": Pipelining gut zu organisieren bei Verwendung des Iteratorprinzips (s. Kemper.2) Effizienz bei Pipelining-Organisation nimmt schnell ab, wenn Operanden wachsen: "tradeoff" zwischen Platz- und Zeitbedarf Details zur ortierung und Duplikateliminierung: siehe ebenfalls Kemper Prof. Dr. ainer Manthey Informationssysteme 14

8 Physische ealisierung logischer A-Operatoren: Join NestedLoop.A =. B MergeJoin.A =. B [ Bucket ] [ ort.a ] [ ort. B ].A =. B HashJoin.A =. B IndexJoin.A =. B [ Hash. B Tree. B ] [... ]: Operation kann fehlen, wenn erwünschte Eigenschaft bereits vorhanden ist 2002 Prof. Dr. ainer Manthey Informationssysteme 15 Physische ealisierung logischer A-Operatoren: Projektion NestedDup ortdup Project.A IndexDup π.a [ ort.a ] Project.A [ Hash.A Tree.A ] Project.A 2002 Prof. Dr. ainer Manthey Informationssysteme 16

9 Diskussion des Beispiel-Auswertungsplans IndexDup ort Project s.emester h.matrnr = s. MatrNr MergeJoin h.vorlnr = v.vorlnr v.vorlnr Hash IndexJoin s ort h.vorlnr temporäre Hashtabelle im Hauptspeicher Primärindex von s nur Teil des Primärschlüssels von h kein IndexJoin ekundärindex von v p.persnr = v.gelesenvon v IndexJoin h elect p.name = 'okrates' 2002 Prof. Dr. ainer Manthey Informationssysteme 1 p da kein Index auf 'Name' weiteres wichtiges Thema: Kostenmodelle (Kemper.3) Folien werden nachgetragen, bitte bereits im Buch anschauen! nächste Woche: Anmeldungsphase zur Abschlussprüfung (im Probebetrieb für neue DPO) Anmeldebogen wird ab Montag, über die Vorlesungsseite zum Herunterladen zur Verfügung gestellt. Voraussetzung: Vordiplom abgeschlossen oder mindestens zwei VD- Prüfungen absolviert. Abgabe: elektronisch (per Mail) oder "physisch" in den Übungen bis spätestens Freitag, Abmeldung möglich bis eine Woche vor Prüfungstermin (d.h. bis.2.03) Wegen des Probebetriebs wird keine Überprüfung der Anmeldedaten durch das PA durchgeführt und "anktionen" bei Nichterscheinen sind nicht zu befürchten Prof. Dr. ainer Manthey Informationssysteme 1

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

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

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

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

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

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

Physische Datenorganisation

Physische Datenorganisation Physische Datenorganisation Physische Datenorganisation 2002 Prof. Dr. Rainer Manthey Informationssysteme 1 Übersicht Datenbanken, Relationen und Tupel werden auf der untersten Ebene der bereits vorgestellten

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

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 8 Anfragebearbeitung. Logische Optimierung Physische Optimierung Kostenmodelle Tuning

Kapitel 8 Anfragebearbeitung. Logische Optimierung Physische Optimierung Kostenmodelle Tuning Kapitel 8 Anfragebearbeitung Logische Optimierung Physische Optimierung Kostenmodelle Tuning Ablauf der Anfrageoptimierung Deklarative Anfrage Scanner Parser Sichtenauflösung Algebraischer Ausdruck Auswertungs-

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

Kapitel 8 Anfragebearbeitung. Logische Optimierung Physische Optimierung Kostenmodelle Tuning

Kapitel 8 Anfragebearbeitung. Logische Optimierung Physische Optimierung Kostenmodelle Tuning Kapitel 8 Anfragebearbeitung Logische Optimierung Physische Optimierung Kostenmodelle Tuning Ablauf der Anfrageoptimierung Deklarative Anfrage Scanner Parser Sichtenauflösung Algebraischer Ausdruck Anfrage-

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

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

Kapitel 8 Anfragebearbeitung

Kapitel 8 Anfragebearbeitung Kapitel 8 Anfragebearbeitung Das Bild kann nicht angezeigt werden. Dieser Computer verfügt möglicherweise über zu wenig Arbeitsspeicher, um das Bild zu öffnen, oder das Bild ist beschädigt. Starten Sie

Mehr

Übungsblatt 8 Lösungsvorschläge

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

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

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

5. Basisalgorithmen für DB-Operationen

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

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

Datenbanksysteme I Anfragebearbeitung und -optimierung. 27.6.2011 Felix Naumann

Datenbanksysteme I Anfragebearbeitung und -optimierung. 27.6.2011 Felix Naumann Datenbanksysteme I Anfragebearbeitung und -optimierung 27.6.2011 Felix Naumann Anfragebearbeitung Grundproblem 2 Anfragen sind deklarativ. SQL, Relationale Algebra Anfragen müssen in ausführbare (prozedurale)

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

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

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

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

Übung 4. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017)

Übung 4. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Übung 4 Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Dennis Fischer dennis.fischer@tum.de http://home.in.tum.de/~fischerd/ Technische Universität München Fakultät für Informatik

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

Kapitel 8 Anfragebearbeitung. Logische Optimierung Physische Optimierung Kostenmodelle Tuning

Kapitel 8 Anfragebearbeitung. Logische Optimierung Physische Optimierung Kostenmodelle Tuning Kapitel 8 Anfragebearbeitung Logische Optimierung Physische Optimierung Kostenmodelle Tuning Ablauf der Anfrageoptimierung Deklarative Anfrage Scanner Parser Sichtenauflösung Algebraischer Ausdruck AnfrageOptimierer

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

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

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

Logische Optimierung. Im Allgemeinen wird keine optimale Lösung erzielt, sondern nur eine Verbesserung. Logische Optimierung

Logische Optimierung. Im Allgemeinen wird keine optimale Lösung erzielt, sondern nur eine Verbesserung. Logische Optimierung Logische Optimierung Höhere, nichtprozedurale Abfragesprachen (SQL, QBE,...) verlangen keine Kenntnisse des Benutzers über die Implementierung, müssen aber in prozedurale Form (z. B. Relationenalgebra)

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

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

Diskussion: Personal (1)

Diskussion: Personal (1) Diskussion: Personal (1) ER-Diagramm: Abteilung ist beschäftigt in [0, n] [0, 1] Person Umsetzung ins Relationenmodell? Diskussion: Personal (2) Zusätzliche Regel: In jeder Abteilung (Person) muss mindestens

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

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #4. SQL (Teil 2)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #4. SQL (Teil 2) Vorlesung #4 SQL (Teil 2) Fahrplan Eine weitere Aggregation: median Geschachtelte Anfragen in SQL Korrelierte vs. Unkorrelierte Anfragen Entschachtelung der Anfragen Operationen der Mengenlehre Spezielle

Mehr

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien Kapitel 5 Dr. Jérôme Kunegis SQL: Grundlagen WeST Institut für Web Science & Technologien Lernziele Kenntnis der Grundkonzepte von SQL Fähigkeit zur praktischen Anwendung von einfachen SQL-Anweisungen

Mehr

Fortsetzung: Projektion Selektion. NULL Werte

Fortsetzung: Projektion Selektion. NULL Werte Fortsetzung: Anfragen mit SQL Bisher: Projektion Selektion Duplikatbehandlung NULL Werte Professoren PersNr Name Rang Raum 2125 Sokrates 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134

Mehr

Architektur eines DBMS Logische Optimierung

Architektur eines DBMS Logische Optimierung Vorlesung Datenbanksysteme vom 16.11.2015 Anfragebearbeitung 1 Architektur eines DBMS Logische Optimierung Physische Optimierung Kostenmodelle + Tuning Architektur eines DBMS SW-Komponenten der Anfragebearbeitung

Mehr

Einordnung. 6. Basisalgorithmen für DB-Operationen. Datenbankparameter. Datenbankparameter (II)

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

Mehr

Rückblick: Pufferverwaltung

Rückblick: Pufferverwaltung Rückblick: Pufferverwaltung Datenbankpuffer zum Schließen der Zugriffslücke zwischen Primär- und Sekundärspeicher Ersetzungsstrategien berücksichtigen Zeitpunkte und/oder Anzahl der Zugriffe auf bestimmte

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

Implementierung von Datenbanken und Informationssystemen

Implementierung von Datenbanken und Informationssystemen Anwendersoftware (AS) Implementierung von Datenbanken und Informationssystemen Kapitel 8: Tabellenoperationen Teile dieses Foliensatzes beruhen auf ähnlichen Vorlesungen, gehalten von Prof. Dr. T. Härder

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

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

Datenbankoptimierung

Datenbankoptimierung Datenbankoptimierung Lehrveranstaltung Datenbanktechnologien Prof. Dr. Ingo Claßen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Hardware c Ingo Claßen, Martin Kempa Architektur:

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

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

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

Es wird empfohlen folgendes Material anzusehen:

Es wird empfohlen folgendes Material anzusehen: Übung zur Vorlesung "Einführung in die Informatik für Hörer anderer Fachrichtungen (WZW)" IN8003, SS 2011 Prof. Dr. J. Schlichter Dr. Georg Groh, Dipl.Inform. Dipl.Geogr. Jan Herrmann, Florian Schulze

Mehr

Rückblick: Relationales Modell

Rückblick: Relationales Modell Rückblick: Relationales Modell Relationales Modell als vorherrschendes Datenmodell Relationen (Tabellen) besitzen Attribute (Spalten) mit Wertebereichen und beinhalten Tupel (Zeilen) Umsetzung eines konzeptuellen

Mehr

Rückblick: Relationale Normalisierung

Rückblick: Relationale Normalisierung Rückblick: Relationale Normalisierung Gute Relationenschema vermeiden Redundanz und führen nicht zu Anomalien beim Einfügen, Löschen oder Ändern Relationale Normalformen (1NF, 2NF, 3NF, BCNF, 4NF) charakterisieren

Mehr

Operator-Kostenmodelle für Fortschrittsschätzung und Opt. Datenbanksystemen

Operator-Kostenmodelle für Fortschrittsschätzung und Opt. Datenbanksystemen Operator-Kostenmodelle für und Optimierung in Datenbanksystemen 23. Oktober 2012 Übersicht 1 Grundlagen Ziele der Arbeit Grundlagen Kostenmodelle Neues Framework Entwickelte Hilfsmittel 2 3 Ziele der Arbeit

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

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, Ph.D. Blatt Nr. 04 Übung zur Vorlesung Grundlagen: Datenbanken im W16/17 Harald Lang, Linnea Passing (gdb@in.tum.de)

Mehr

Anfrageverarbeitung. Prof. Dr. T. Kudraß 1

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

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

Erinnerung VL vom

Erinnerung 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

Mehr

Physische Datenorganisation. Kapitel 6 245 / 520

Physische Datenorganisation. Kapitel 6 245 / 520 Kapitel 6 Physische Datenorganisation 245 / 520 Speicherhierarchie Speicherhierarchie Verschiedene Schichten der Speicherung Je höher in der Hierarchie, desto schneller, teurer und kleiner Unterschiede

Mehr

Algorithmen für Sortierung und relationale Operatoren

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

Mehr

Teil VII. Hashverfahren

Teil VII. Hashverfahren Teil VII Hashverfahren Überblick 1 Hashverfahren: Prinzip 2 Hashfunktionen 3 Kollisionsstrategien 4 Aufwand 5 Hashen in Java Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 7 1 Hashverfahren:

Mehr

Grundlagen von Datenbanken

Grundlagen von Datenbanken Agenda: Grundlagen von Datenbanken SS 2010 3. Relationale Algebra Prof. Dr. Stefan Böttcher Universität Paderborn mit Material von Prof. Dr. Gregor Engels Grundlagen von Datenbanken - SS 2010 - Prof. Dr.

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

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

Datenbanksysteme II Multidimensionale Indizes (Kapitel 14) Felix Naumann

Datenbanksysteme II Multidimensionale Indizes (Kapitel 14) Felix Naumann Datenbanksysteme II Multidimensionale Indizes (Kapitel 14) 14.5.2007 Felix Naumann Motivation 2 Annahme bisher: Eine Dimension Ein einziger Suchschlüssel Suchschlüssel kann auch Kombination von Attributen

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

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

Anfragebearbeitung 3

Anfragebearbeitung 3 Anfragebearbeitung 3 VL Datenbanksysteme, WS 2014/5 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Kostenmodelle und

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

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems 4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um

Mehr

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems 4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um

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

Algorithmen I - Tutorium 28 Nr. 9

Algorithmen I - Tutorium 28 Nr. 9 Algorithmen I - Tutorium 28 Nr. 9 29.06.2017: Spaß mit Graphen und Graphtraversierung Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN MÜLLER-QUADE

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

Kapitel 8: Physischer Datenbankentwurf

Kapitel 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

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

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

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

QuickSort ist ein Sortieralgorithmus, der auf der Idee des Teile & Beherrsche beruht, und das gegebene Array an Ort und Stelle (in place) sortiert

QuickSort ist ein Sortieralgorithmus, der auf der Idee des Teile & Beherrsche beruht, und das gegebene Array an Ort und Stelle (in place) sortiert 4.3.6 QuickSort QuickSort ist ein Sortieralgorithmus, der auf der Idee des Teile & Beherrsche beruht, und das gegebene Array an Ort und Stelle (in place) sortiert QuickSort teilt das gegebene Array anhand

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

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

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

Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov. 2007 Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5 Aufgabe 1: SQL-Queries Datenbanksysteme I a) Geben Sie

Mehr

Bäume, Suchbäume und Hash-Tabellen

Bäume, Suchbäume und Hash-Tabellen Im folgenden Fokus auf Datenstrukturen, welche den assoziativen Zugriff (über einen bestimmten Wert als Suchkriterium) optimieren Bäume: Abbildung bzw. Vorberechnung von Entscheidungen während der Suche

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

GRUNDLAGEN VON INFORMATIONSSYSTEMEN INDEXSTRUKTUREN I: B-BÄUME UND IHRE VARIANTEN

GRUNDLAGEN VON INFORMATIONSSYSTEMEN INDEXSTRUKTUREN I: B-BÄUME UND IHRE VARIANTEN Informationssysteme - Indexstrukturen I: B-Bäume und ihre Varianten Seite 1 GRUNDLAGEN VON INFORMATIONSSYSTEMEN INDEXSTRUKTUREN I: B-BÄUME UND IHRE VARIANTEN Leiter des Proseminars: Dr.Thomas Bode Verfasser

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