Hash-Join Algorithmen
|
|
- Maike Peters
- vor 6 Jahren
- Abrufe
Transkript
1 Hash-Join lgorithmen dvanced Topics in Databases Ws08/09 atthias ichly
2 Einleitung 2 Grundlage ist das Paper: Join Processing in Database Systems With Large ain emories Quelle: C Transactions on Database Systems (TODS) Volume 11, No. 3 Pages: September 1986 utor: Leonard D. Shapiro Professor of Computer Science
3 Gliederung 3 Hash-Join lgorithmen allgemein Einfacher Hash-Join GCE Hash-Join Hybrid Hash-Join Vergleich der lgorithmen Partition Overflow
4 Hash-Join lgorithmen allgemein 4 klassisch: kleinere elation passt in Hauptspeicher Erzeuge Hash-Tabelle für Tupel aus in Hauptspeicher, gehasht auf die Join-ttribute lies andere elation S sequenziell, berechne für jedes Tupel den Hashwert und prüfe unter diesem Wert in der Hash-Tabelle, ob es passende Tupel gibt hier: kleinere elation passt nicht in Hauptspeicher partitioniere zunächst und S in disjunkte Teilmengen, joine dann sich entsprechende Teilmengen Partitionierung: teile Wertebereich der Hashfunktion h in Teilmengen H 1,,H n ; ein Tupel t landet in Partition P i, wenn h(t) H i lgorithmen erfordern, dass die Partitionierung Partitionen bestimmter Größe liefert
5 Notation/nnahmen 5 zu berechnen ist der Equijoin der elationen und S, beide sind weder geordnet noch indiziert - nzahl der Blöcke, die belegt (entsprechend für S) S - für Join zu Verfügung stehender Hauptspeicher - nzahl der zu Verfügung stehenden Blöcke im HS ( Large ain emory ) die Partitionierung funktioniert perfekt, keine Partition wird größer als erwartet bei I/O-Kosten: erstes Einlesen und usgabe des Join- Ergebnisses zählen nicht mit
6 Einfacher Hash-Join 6 lgorithmus: wähle eine Hashfunktion h und eine Teilmenge H ihres Wertebereichs, so dass alle -Tupel, die in H gehasht werden, gerade in passen lies, für jedes Tupel r: wenn h(r) H, füge es in Hashtabelle in ein; sonst schreibe es in eine extra Datei auf Disk lies S, für jedes Tupel s: wenn h(s) H, suche in Hashtabelle nach atches und gib diese aus; sonst schreibe s in eine extra Datei auf Disk wiederhole die Schritte für die übrig gebliebenen Tupel aus den beiden extra Dateien, solange bis keine -Tupel mehr übrig bleiben
7 Einfacher Hash-Join - nimation 7 Hauptspeicher einlesen S einlesen Hash-Tabelle atch? Join- Ergebnis h(t) H? Drop -est S-est S
8 8 Einfacher Hash-Join I/O-Kosten lgorithmus benötigt Durchläufe Schreiben und wieder Einlesen der -Tupel in/aus extra Datei: Schreiben und wieder Einlesen der S-Tupel in/aus extra Datei: nnahme: Gleichverteilung der Join-ttribute in und S gesamt: ( ) ( ) i i i i i ( ) ( ) S S S i S S i S i i i ( ) ( ) ( ) + + S S
9 Einfacher Hash-Join Fazit 9 gut, wenn fast ganz in Hauptspeicher passt große Teile von und S werden dann nur einmal gelesen schlecht, wenn nur wenig von in Hauptspeicher passt viele Durchläufe nötig
10 GCE Hash-Join 10 Phase 1 Phase 2 lgorithmus: wähle Hashfunktion h und Teilmengen ihres Wertebereichs, so dass alle -Partitionen etwa gleich groß werden, lege für jede Partition einen usgabepuffer in an lies, für jedes Tupel r: berechne h(r) und füge r in den entsprechenden usgabepuffer ein; wenn ein Puffer voll ist, schreibe ihn auf Disk; am Ende schreibe alle Puffer auf Disk lies S, verfahre wie bei für jede -Partition i : lies i in und erzeuge dabei Hashtabelle lies S i, für alle Tupel s: berechne h(s) und prüfe in Hashtabelle auf atches, gib diese ggf. aus
11 GCE Hash-Join nimation (Phase 1) 11 Hauptspeicher einlesen S einlesen h(t)? Bucket1 Bucket2 -Bucket1 -Bucket2 S S-Bucket1 S-Bucket2
12 GCE Hash-Join nimation (Phase 2) 12 Hauptspeicher Hash-Tabelle atch? Join- Ergebnis Drop -Bucket1 -Bucket2 S S-Bucket1 S-Bucket2
13 GCE Hash-Join I/O-Kosten 13 Schreiben der partitionierten elationen auf Disk + S Einlesen der partitionierten elationen von Disk + S I/O Einsparungen, wenn mehr als Blöcke HS zur Verfügung stehen Blöcke können zwischengespeichert werden min( + S, - ) 2 gesamt: 2 (( + S ) - min( + S, - ))
14 GCE Hash-Join Fazit 14 gut, wenn wenig (nicht viel mehr als ) Blöcke Hauptspeicher zur Verfügung stehen vermeidet im Ggs. zum einfachen Hash-Join, dass Blöcke wiederholt eingelesen werden müssen schlecht, wenn große Teile von in den Hauptspeicher passen immer 2 Durchläufe
15 Hybrid Hash-Join 15 Idee: kombiniere die Vorteile von den beiden vorangegangenen lgorithmen nutze so wenig wie möglich Blöcke von, um in Phase 1 Partitionen zu erzeugen, die in Phase 2 gerade in passen; verfahre mit diesen wie beim GCE Hash-Join nutze den est der Blöcke von, um für eine Partition eine Hashtabelle in aufzubauen, die schon in Phase 1 zum Joinen verwendet wird (einfacher Hash-Join) Konstante B mindestens benötigte nzahl an Partitionen, die in Phase 1 auf Disk erzeugt werden, so dass jede entstehende -Partition nicht mehr als Blöcke verbraucht
16 Hybrid Hash-Join 16 lgorithmus: wähle Hashfunktion h und Teilmengen H 0,,H B ihres Wertebereichs, so dass für eine Partition 0 mit -B Blöcken entsteht, und Partitionen 1,, B gleicher Größe ( Blöcke) entstehen verwende B Blöcke von als usgabepuffer und den est für eine Hashtabelle der Partition 0 Phase 1 lies, für jedes Tupel r: berechne h(r); wenn h(r) H 0, füge r in Hashtabelle ein, sonst in den entsprechenden Puffer; ist Puffer voll: schreibe auf Disk, am Ende alle Puffer auf Disk schreiben lies S, für jedes Tupel s: berechne h(s); wenn h(s) H 0, prüfe auf atches in der Hashtabelle von 0 und gib Tupel ggf. aus, sonst schreibe s in den entsprechenden Puffer, Phase 2 (GCE) wiederhole für i 1,,B lies i und erzeuge Hashtabelle davon in lies S i, für jedes Tupel s: berechne h(s) und prüfe in Hashtabelle von i auf atches, gib ggf. Tupel aus
17 Hybrid Hash-Join nimation (Phase 1) B 1 17 Hauptspeicher einlesen S einlesen h(t) H 0? atch? Join- Ergebnis Puffer 1 0 Hash-Tabelle Drop S -Bucket1 S-Bucket1
18 Hybrid Hash-Join nimation (Phase 2) 18 B 1 Hauptspeicher Hash-Tabelle atch? Join- Ergebnis Drop S -Bucket1 S-Bucket1
19 Hybrid Hash-Join 19 Herleitung der Formel für Konstante B: B mindestens benötigte nzahl an Partitionen, die in Phase 1 auf Disk erzeugt werden, so dass jede entstehende -Partition nicht mehr als Blöcke verbraucht B B B ( 1) nzahl der Blöcke von, die in Phase 2 bearbeitet werden müssen B Blöcke im Hauptspeicher B B B ( B) 1 + B ist das theoretische inimum, also : B 1
20 Hybrid Hash-Join I/O-Kosten 20 q: nteil von 0 an q 0 / ( -B) / Größe von S 0 q S nnahme: Gleichverteilung der Join-ttribute in und S d.h. der nteil von und S, der auf Disk geschrieben wird ( 1 B und S 1 S B ), ist (1-q) Schreiben und wieder Einlesen der Partitionen von und S auf Disk 2 ( + S ) (1-q)
21 Hybrid Hash-Join Fazit 21 verbindet die Vorteile von einfachen Hash-Join und GCE-Join wenn wenig Hauptspeicher ( ) zur Verfügung steht GCE-Join wenn viel Hauptspeicher zur Verfügung steht, können große Teile schon in Phase 1 verjoint werden ( einfacher Hash-Join)
22 I/O-Kosten-Vergleich der lgorithmen 22 Hybrid Hash-Join dominiert einfachen Hash-Join identisch, wenn mehr als /2 Blöcke in passen sonst: einfacher Hash-Join schreibt und liest einige Blöcke mehrfach Hybrid Hash-Join dominiert GCE Hash-Join GCE: 2 (( + S ) - min( + S, - )) Hybrid: 2 (( + S ) - q ( + S )) GCE Hash-Join dominiert Sort-erge-Join in typischen Fällen usnahme: und S sind ähnlich groß Hybrid Hash-Join dominiert Sort-erge-Join Einfluss von Partition Overflows auf Laufzeit von Hashbasierten lgorithmen nicht im Paper beschrieben; Kostenabschätzungen sind zu optimistisch
23 I/O-Kosten-Vergleich der lgorithmen 23 Beispiel 800, S 1600 Blockgröße: 512 kbytes, Lesen / Schreiben eines Blocks: 30 ms Sort-erge einfacher Hash-Join GCE Hybrid Hash-Join 300,00 benötigte Zeit für I/O in Sekunden 250,00 200,00 150,00 100,00 50,00 0, verfügbarer Hauptspeicher in Bytes
24 Partition Overflow 24 nnahme, dass man die Hashfunktion/Teilmengen so wählen kann, dass entstehende Partitionen genau die gewünschte Größe haben, ist unrealistisch benötigt genaues Wissen über die Werteverteilung der Joinattribute in den elationen bei speziellen Verteilungen auch gar nicht möglich in der ealität werden manche Partitionen zu leer bleiben und andere ihre Größenbeschränkung überschreiten, also nicht mehr in passen nur relevant für Partitionen der kleineren elation
25 Partition Overflow - Lösungsansätze 25 Partition Overflow auf Disk: zu große Partitionen überarbeiten teilen in 2 (oder mehr) kleinere Partitionen oder: teilen in eine große Partition, die gerade in passt und est zu einer anderen, zu leer gebliebenen Partition hinzufügen Partition Overflow in (einfacher Hash): einige Buckets der Hashtabelle in zu den anderen, nicht bearbeiteten Tupeln, auf Disk schreiben Partition Overflow in (Hybrid Hash): ( 0 wird zu groß) einige Buckets zu einer neuen Partition B+1 zuordnen und auf Disk schreiben
26 bschluss 26 ENDE FGEN???
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
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 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
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
MehrIMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN
Joins 1 IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN Literatur Priti Mishara, Maragaret H. Eich, Join Processing in Relational Databases, ACM Computing Surveys, Vol. 24, No. 1, March 1992 Goetz Graefe,
Mehr[W, T4, D, 15] [start_transaction, T3] [W, T3, C, 30] [W, T4, A, 20] [commit, T4] [W, T2, D, 25] System Crash
Übungen Aufgabe 1 Geben ist die folgende Logdatei: [start_transaction, T1] [W, T1, D, 20] [commit, T1] [checkpoint] [start_transaction, T2] [W, T2, B, 12] [start_transaction, T4] [W, T4, D, 15] [start_transaction,
MehrDatenbanken 2. Anfragebearbeitung. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg. Version 1.
Datenbanken 2 Anfragebearbeitung Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg Version 1. Juni 2017 Wintersemester 2017/18 Augsten (Univ. Salzburg) DB2 Anfragebearbeitung
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
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
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
MehrAbschlußbericht. Advanced Topics in Databases im Wintersemester 2008/2009. Verantwortlich: Prof. Felix Naumann Alexander Albrecht Jens Bleiholder
Abschlußbericht Seminar Advanced Topics in Databases im Wintersemester 2008/2009 März 2009 Verantwortlich: Prof. Felix Naumann Alexander Albrecht Jens Bleiholder Lehrstuhl Informationssysteme Hasso-Plattner-Institut
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)
MehrDatenbanksysteme 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
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
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
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
MehrHash-Verfahren. Einführung
Hash-Verfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k.
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.
MehrWS 2013/14. Diskrete Strukturen
WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314
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
MehrOperator-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
MehrPhysische Datenorganisat
Physische Datenorganisat Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing (R-Bäume ) Objektballung Indexe in SQL Kapitel 7 1 Überblick: Speicherhierarchie Register Cache Hauptspeicher Plattenspeicher
MehrPhysische Datenorganisat
Physische Datenorganisat Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing (R-Bäume ) Objektballung Indexe in SQL Überblick: Speicherhierarchie 1 8 Byte Compiler Register 8 128 Byte Cache Cache-Controller
MehrKapitel 5 Hash-basierte Indizes
Kapitel 5 Hash-basierte Indizes Überblick Statisches Hashing Extendible Hashing Linear Hashing 1 Architektur und Implementierung von Datenbanksystemen WS 009/10 Melanie Herschel Universität Tübingen Hash-basierte
Mehrw 1 (A) T 1 w 3 (B) w 1 (D) b 3 flush(p D ) flush(p B ) flush(p B )
Aufgabe 1 Logging (8+5 Punkte) Logging und Recovery Gegeben sei ein DBMS, das die parallel laufenden Transaktionen T 1, T 2 und T 3 verwaltet. Dabei ändert T 1 die Datenelemente A, B, C und D, T 2 die
MehrDiskrete Strukturen Endterm
Technische Universität München Winter 016/17 Prof H J ungartz / Dr M Luttenberger, J räckle, K Röhner H- Diskrete Strukturen Endterm eachten Sie: Soweit nicht anders angegeben, ist stets eine egründung
MehrDefinition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n i =.
2. Der Blum-Floyd-Pratt-Rivest-Tarjan Selektions-Algorithmus Definition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n
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
MehrBeweis: Annahme: T (n) c n, wobei c = c(m) konstant ist. Die Annahme ist ok, falls T (n)
Beweis: Annahme: T (n) c n, wobei c = c(m) konstant ist. Die Annahme ist ok, falls T (n) ( ( ) n 3 T + T m ) 4 n n 3 c + m 4 n c + n n + C m + cn; dies gilt, falls m 2 n m C m + n 2 (bis auf, ) c m + 3
MehrKapitel 12: Schnelles Bestimmen der Frequent Itemsets
Einleitung In welchen Situationen ist Apriori teuer, und warum? Kapitel 12: Schnelles Bestimmen der Frequent Itemsets Data Warehousing und Mining 1 Data Warehousing und Mining 2 Schnelles Identifizieren
MehrDatenbanksysteme SS 2013
Datenbanksysteme SS 2013 Kapitel 4: Physikalische Datenorganisation Vorlesung vom 16.04.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Speicherhierarchie GB 10 GHertz TB 100 10 ms
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
MehrProgrammiertechnik II
Hash-Tabellen Überblick Hashfunktionen: Abbildung von Schlüsseln auf Zahlen Hashwert: Wert der Hashfunktion Hashtabelle: Symboltabelle, die mit Hashwerten indiziert ist Kollision: Paar von Schlüsseln mit
MehrKapitel III Selektieren und Sortieren
Kapitel III Selektieren und Sortieren 1. Einleitung Gegeben: Menge S von n Elementen aus einem total geordneten Universum U, i N, 1 i n. Gesucht: i-kleinstes Element in S. Die Fälle i = 1 bzw. i = n entsprechen
MehrThemen. Hashverfahren. Stefan Szalowski Programmierung II Hashverfahren
Themen Hashverfahren Einleitung Bisher: Suchen in logarithmischer Zeit --> Binärsuche Frage: Geht es eventuell noch schneller/effektiver? Finden von Schlüsseln in weniger als logarithmischer Zeit Wichtig
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einführung in die Informatik für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)
MehrWS 2015/16 Diskrete Strukturen Kapitel 3: Kombinatorik (3)
WS 2015/16 Diskrete Strukturen Kapitel 3: Kombinatorik (3) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15
MehrTeil 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:
MehrProgrammiertechnik II
Programmiertechnik II Hash-Tabellen Überblick Hashfunktionen: Abbildung von Schlüsseln auf Zahlen Hashwert: Wert der Hashfunktion Hashtabelle: Symboltabelle, die mit Hashwerten indiziert ist Kollision:
MehrPhysischer DB-Entwurf
Physischer DB-Entwurf Prof. Dr. T. Kudraß 1 Überblick Ausgangslage: Konzeptuelles und externes Schema sind erstellt: ER Modell, Schemaverfeinerung und Definition von Sichten Nächster Schritt: Physischer
MehrSeminar Datenbanken Martin Gerstmann
Seminar Datenbanken Martin Gerstmann Gliederung 1. Ziele 2. Arten 2.1. erweiterbares Hashing 2.2. lineares Hashing 2.3. virtuelles Hashing 3. Bewertung 1. Ziele wachsende/schrumpfende Datenmengen verwalten
MehrOracle 9i Einführung Performance Tuning
Kurs Oracle 9i Einführung Performance Tuning Teil 13 Cluster Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 14 Seite 1 von 14 1. Anordnung von Zeilen in einer Tabelle 2. Einführung 3. Cluster 4. Typen
Mehr5.4 Logische Anfrageoptimierung
5 Anfragebearbeitung Übersicht 5. Einleitung 5. Indexstrukturen 5.3 Grundlagen der Anfrageoptimierung 5.4 Logische Anfrageoptimierung 5.5 Kostenmodellbasierte Anfrageoptimierung 56 9 5.4 Logische Anfrageoptimierung
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.
MehrAnfrageoptimierung. Datenbankpuffer
Anfrageoptimierung Java : Assembler (Faktor 2-10), aber SQL : SQL optimiert (Faktor 1-100 und mehr) - Warum? - Datenbankpuffer - Speicherstrukturen - Logische Anfrageoptimierung - Physische Anfrageoptimierung
MehrGrundlagen Algorithmen und Datenstrukturen Kapitel 13
Grundlagen Algorithmen und Datenstrukturen Kapitel 13 Christian Scheideler + Helmut Seidl SS 2009 18.07.09 Kapitel 6 1 Speicherverwaltung Drei Ansätze: Allokiere neue Objekte auf einem Keller. Gib nie
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Minimale Spannbäume Maike Buchin 18.7., 20.7.2017 Einführung Motivation: Verbinde Inseln mit Fähren oder Städte mit Schienen und verbrauche dabei möglichst wenig Länge. Problem:
MehrMengen. (Nicht-) Elemente einer Menge { 3, 4 } { 1, { 2 }, { 3, 4 }, { 5 } } 3 { 1, { 2 }, { 3, 4 }, { 5 } }
Mengen Definition (Intuitive Mengenlehre) Eine Menge ist die Zusammenfassung von Elementen unserer Anschauung zu einem wohldefinierten Ganzen. (Georg Cantor) Notation 1. Aufzählung aller Elemente: { 1,
MehrUntersuchen Sie, inwiefern sich die folgenden Funktionen für die Verwendung als Hashfunktion eignen. x 9
Prof. aa Dr. Ir. G. Woeginger T. Hartmann, D. Korzeniewski, B. Tauer Globalübungsaufgabe1 (Güte von Hashfunktionen): Untersuchen Sie, inwiefern sich die folgenden Funktionen für die Verwendung als Hashfunktion
MehrMengen. Eigenschaften. Spezielle Mengen (1) Prominente Mengen. ! Mengenzugehörigkeit
Mengen! Definition (Intuitive Mengenlehre) Eine Menge ist die Zusammenfassung von Elementen unserer Anschauung zu einem wohldefinierten Ganzen. (Georg Cantor)! Notation 1. Aufzählung aller Elemente: {
MehrKostenmodelle und Tuning. Anfragebearbeitung 3. Kostenmodelle. Kostenbasierte Optimierung. VL Datenbanksysteme
Kostenmodelle und Tuning Anfragebearbeitung 3 VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Grundidee
MehrKapitel 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:
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
MehrDatenbanksysteme II Architektur und Implementierung von Datenbanksystemen
Datenbanksysteme II Architektur und Implementierung von Datenbanksystemen Winter 2009/10 Melanie Herschel Willhelm-Schickard-Institut für Informatik 1 Kapitel 7 Evaluation Relationaler Operatoren Überblick
Mehrsort hash uncompress merge & mark hash collisions
Julian Arz, Timo Bingmann, Sebastian Schlag INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS hash sort... compress uncompress merge & mark hash collisions 1 KIT Julian Universität Arz, des Timo LandesBingmann,
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
Mehr4.4.1 Statisches perfektes Hashing. des Bildbereichs {0, 1,..., n 1} der Hashfunktionen und S U, S = m n, eine Menge von Schlüsseln.
4.4 Perfektes Hashing Das Ziel des perfekten Hashings ist es, für eine Schlüsselmenge eine Hashfunktion zu finden, so dass keine Kollisionen auftreten. Die Größe der Hashtabelle soll dabei natürlich möglichst
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
MehrBä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
MehrAnfrageverarbeitung. Prof. Dr. T. Kudraß 1
Anfrageverarbeitung Prof. Dr. T. Kudraß 1 Einführung Wir betrachten die Implementierung der Operatoren der Relationenalgebra: Basis-Operationen: Selektion ( s ) Auswahl einer Teilmenge von Tupeln aus der
MehrKapitel 7 Physische Datenorganisation. Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume
Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume Überblick: Speicherhierarchie Register (L/L2/L3) Cache Hauptspeicher Plattenspeicher
Mehr3. Übung Algorithmen I
INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Hashtabellen:
MehrAlgorithmen für Sortierung und relationale Operatoren
Algorithmen für Sortierung und relationale Operatoren In diesem Kapitel betrachten wir folgende Themen: 1. Relationale Operatoren und Sortieroperator 2. Grundlegende Operationen: Tabellen-Scan, Index-Scan,
MehrRü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
MehrPhysische Datenorganisation
Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID ( B-Bäume Hashing R-Bäume ) Kapitel 7 1 Überblick: Speicherhierarchie Register Cache Hauptspeicher Plattenspeicher Archivspeicher
Mehr2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}
1. Berechne für jeden Knoten i in BFS-Art eine Liste S i von von i aus erreichbaren Knoten, so dass (i) oder (ii) gilt: (i) S i < n 2 + 1 und Si enthält alle von i aus erreichbaren Knoten (ii) S i = n
MehrAlgorithm Engineering. Alexander Kröller, Abteilung Algorithmik, IBR
#7 Terminchaos Nächste Vorlesungen: 27. 5. Vertretung durch Prof. Fekete 3. 6. Exkursionswoche 10. 6. Vertretung durch N.N. 17. 6. back to normal... Experiment Durchlaufe zwei gleichgrosse Arrays: Sortierte
MehrPartitionierungsstrategien für Data Vault
ierungsstrategien für Data Vault Dani Schnider Trivadis AG Zürich/Glattbrugg, Schweiz Einleitung Während das Laden von Tabellen in Data Vault in der Regel nicht zeitkritisch ist, stellt uns das effiziente
MehrPraktikum Algorithmische Anwendungen WS 2006/07 Sortieren in linearer Laufzeit
Praktikum Algorithmische Anwendungen WS 2006/07 Sortieren in linearer Laufzeit Team A blau Martin Herfurth 11043831 Markus Wagner 11043447 5. Februar 2007 1 1 Untere Schranke für Vergleichsbasierte Algorithmen
MehrAbschnitt 3: Mathematische Grundlagen
Abschnitt 3: Mathematische Grundlagen 3. Mathematische Grundlagen 3.1 Mengen und Abbildungen 3.2 Induktion und Rekursion 3.3 Ausdrücke 3 Mathematische Grundlagen Einf. Progr. (WS 08/09) 102 Überblick 3.
MehrDieses Quiz soll Ihnen helfen, Kapitel besser zu verstehen.
Dieses Quiz soll Ihnen helfen, Kapitel 2.5-2. besser zu verstehen. Frage Wir betrachten ein Würfelspiel. Man wirft einen fairen, sechsseitigen Würfel. Wenn eine oder eine 2 oben liegt, muss man 2 SFr zahlen.
MehrKapitel 2. Mathematische Grundlagen. Skript zur Vorlesung Einführung in die Programmierung
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Kapitel 2 Mathematische Grundlagen Skript zur Vorlesung Einführung in die Programmierung im Wintersemester 2012/13 Ludwig-Maximilians-Universität
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (11 Hashverfahren: Allgemeiner Rahmen) Prof. Dr. Susanne Albers Das Wörterbuch-Problem (1) Das Wörterbuch-Problem (WBP) kann wie folgt beschrieben
Mehr5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)?
5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)? Ladefaktor: α, n aktuelle Anzahl gespeicherter Werte m Tabellengröße. Einfacher Ansatz: rehash() a z c h s r b s h a z Wenn
MehrÜbungen zur Vorlesung. Mobile und Verteilte Datenbanken. WS 2008/2009 Übung 2 Anfrageoptimierung in zentralisierten Datenbanksystemen LÖSUNG
Dr. rer. nat. Sven Groppe Übungen zur Voresung Mobie und Verteite Datenbanken WS 28/29 Übung 2 Anfrageoptimierung in zentraisierten Datenbanksystemen Aufgabe 1: Fogende Reationen seien gegeben: LÖSUNG
MehrDynamisches Huffman-Verfahren
Dynamisches Huffman-Verfahren - Adaptive Huffman Coding - von Michael Brückner 1. Einleitung 2. Der Huffman-Algorithmus 3. Übergang zu einem dynamischen Verfahren 4. Der FGK-Algorithmus 5. Überblick über
MehrDatenbanksysteme II Indexstrukturen Felix Naumann
Datenbanksysteme II Indexstrukturen (Kapitel 13) 30.10.2009 Felix Naumann Motivation: Platzierung der Tupel in Blöcke 2 Naiv: Beliebig verteilen Aber: SELECT * FROM R Jeden Block untersuchen (Header-Datei)
MehrKlausur zum Kurs Betriebssysteme (1802) am 19. September 2009
Fakultät für Mathematik und Informatik Lehrgebiet Kooperative Systeme Prof. Dr. Jörg M. Haake FernUniversität in Hagen 58084 Hagen Vorname Name Straße Hausnr. Informatikzentrum Universitätsstr. 1 58084
MehrRelationenoperationen - Implementierung 0
Relationenoperationen - Implementierung 0 Operationen der Relationenalgebra - unäre Operationen: π, σ - binäre Operationen: join,, +,,, SQL-Anfragen enthalten logische Ausdrücke, die auf die Operationen
MehrAutomaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012
utomaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink utomaten und Formale Sprachen 1 Der CYK-lgorithmus Beispiel
MehrVorlesung 1b. Wiederholte rein zufällige Wahl
Vorlesung 1b Wiederholte rein zufällige Wahl (aus endlich vielen möglichen Ausgängen) mit dem Beispiel Wahrscheinlichkeit von Kollisionen 1 1. Erinnerung an die erste Vorlesung und Fragestellung 2 n =
MehrSysteme 1. Kapitel 3 Dateisysteme WS 2009/10 1
Systeme 1 Kapitel 3 Dateisysteme WS 2009/10 1 Letzte Vorlesung Dateisysteme Hauptaufgaben Persistente Dateisysteme (FAT, NTFS, ext3, ext4) Dateien Kleinste logische Einheit eines Dateisystems Dateitypen
MehrEinstieg in die Informatik mit Java
1 / 31 Einstieg in die Informatik mit Java Effizienz Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 31 1 Überlegungen zur Effizienz 2 Landau-Symbole 3 Eier im Korb 4 Zyklische
MehrDatenbanksysteme II Multidimensionale Indizes Felix Naumann
Datenbanksysteme II Multidimensionale Indizes (Kapitel 14) 26.5.2008 Felix Naumann Motivation 2 Annahme bisher: Eine Dimension Ein einziger Suchschlüssel Suchschlüssel hlü l kann auch Kombination von Attributen
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
MehrZusammenfassung des 2. Abends
lgorithmen in der iologie r. Hans-Joachim öckenhauer r. ennis Komm Zusammenfassung des. bends Zürich, 0. pril 0 lignment-verfahren Für einen Überblick über die lignment-lgorithmen zur estimmung der Ähnlichkeit
MehrAlgorithms & Data Structures 2
Algorithms & Data Structures Digital Sorting WS B. Anzengruber-Tanase (Institute for Pervasive Computing, JKU Linz) (Institute for Pervasive Computing, JKU Linz) WIEDERHOLUNG :: UNTERE SCHRANKE FÜR SORTIEREN
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
MehrOne of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu
Bin Hu Algorithmen und Datenstrukturen 2 Arbeitsbereich fr Algorithmen und Datenstrukturen Institut fr Computergraphik und Algorithmen Technische Universität Wien One of the few resources increasing faster
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
MehrSatz 23 In einer Hashtabelle der Größe n mit m Objekten tritt mit Wahrscheinlichkeit
Satz 23 In einer Hashtabelle der Größe n mit m Objekten tritt mit Wahrscheinlichkeit 1 e m(m 1) 2n 1 e m2 2n mindestens eine Kollision auf, wenn für jeden Schlüssel jede Hashposition gleich wahrscheinlich
Mehr