Dr. Brigitte Mathiak Kapitel 9 Physische Datenorganisation (ganz kurz)

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

8. Termin Teil B: Wiederholung Begriffe Baum
Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Eine dynamische Menge, die diese Operationen unterstützt,
Vorlesung Programmieren II
GIN 2 – Vorlesung zu Hashing, 31. Mai 2005 Prof. Dr. W. Conen FH Gelsenkirchen SS 2005.
Dr. Brigitte Mathiak Kapitel 10 Physische Datenorganisation.
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenbanken Einführung.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 – B-Bäume)
Algorithmen und Datenstrukturen
FH-Hof Der B-Baum Richard Göbel. FH-Hof Wahl des Verzweigungsgrad Verzweigungsgrad kann größer als 2 sein v Nachfolger für einen Knoten v-1 Werte in einem.
Der B-Baum Richard Göbel.
7. Natürliche Binärbäume
Kapitel 6. Suchverfahren
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Physische Datenorganisation
1 Computergestützte Verifikation Symbolisches Model Checking 4.1 CTL Model Checking mit Binary Decision Diagrams (1. Systeme 2. Spezifikationen.
Lehrstuhl Informatik III: Datenbanksysteme Achim Landschoof 28. April 2009 Strukturierte P2P Systeme 1 Achim Landschoof Betreuerin: Dipl.-Inf. Jessica.
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Motivation Richard Göbel.
Effizienz: Indexstrukturen
Algorithmentheorie 04 –Hashing
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (12 Hashverfahren: Allgemeiner Rahmen) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Diskrete Mathematik I Vorlesung 9b AVL-Baum, Algorithmen.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung In welcher Masche liegt der Punkt p?
Datenbankentwurfsprozess
7.1 Externes Suchen Bisherige Algorithmen: geeignet, wenn alle Daten im Hauptspeicher. Große Datenmengen: oft auf externen Speichermedien, z.B. Festplatte.
Einführung in die Programmierung
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Verteilte Algorithmen und Datenstrukturen Kapitel 4: Caching Christian Scheideler Institut für Informatik Universität Paderborn.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #10 Physische Datenorganisation.
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
7.2.2 Bäume als Hilfsmittel zur Indexorganisation (1/14)
Vorlesung Datenbanksysteme vom Physische Datenorganisation
Vorlesung #10 Physische Datenorganisation
Algorithmen und Datenstrukturen Übungsmodul 11
Defragmentieren einer Festplatte Eine kurze Anleitung.
Kapitel 6: Suchbäume und weitere Sortierverfahren
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Binärbäume.
Prof. Dr. T. Kudraß1 Speicherverwaltung: Flash-Laufwerke.
Programmiersprachen II Fortsetzung Datenstrukturen Hashing Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 1 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Datenbanktechnik 1 Datenbanktechnik II Kapitel 3.0 bis 4.0.
DOAG SID Data Warehouse
Indexierung Oracle: indexes Indexierung.
2. Die rekursive Datenstruktur Baum 2.1 Von der Liste zum Baum
 Präsentation transkript:

Dr. Brigitte Mathiak Kapitel 9 Physische Datenorganisation (ganz kurz)

Datenbanken, WS 12/13Kapitel 9: Datenorganisation2 Lernziele Motivation für schnellere Zugriffe Anlegen eines Index

Datenbanken, WS 12/13Kapitel 9: Datenorganisation3 Bottleneck Festplatte Selbst sehr schnelle Festplatten haben typischerweise Zugriffszeiten im ms-Bereich Da die Prozessoren im Vergleich sehr viel schneller sind, lohnt es sich typischerweise selbst vergleichsweise komplexe Rechenoperationen durchzuführen um dadurch Festplattenzugriffe zu sparen. Weiterhin können Festplatten sehr gut Daten am Stück lesen. Daher ist es die Standardoperation gleich einen ganzen Block (genannt Seite) an Daten zu lesen, unabhängig, ob auch tatsächlich alle Daten benötigt werden. Caching und vorrausschauendes Vorladen von Daten ist dabei ein aktives Forschungsgebiet. Was wir hier in Vorlesung betrachten sind Datenstrukturen, die helfen die Daten besonders schnell wieder zu finden.

Datenbanken, WS 12/13Kapitel 9: Datenorganisation4 Beispiel für einen binären Suchbaum London, Paris, Madrid, Kopenhagen, Lissabon, Zürich, Frankfurt, Wien, Amsterdam, Florenz London Paris Madrid Kopenhagen LissabonZürichFrankfurt WienAmsterdam Florenz

Datenbanken, WS 12/13Kapitel 9: Datenorganisation5

Datenbanken, WS 12/13Kapitel 9: Datenorganisation6 B + -Baum Referenz- schlüssel Such- schlüssel

Datenbanken, WS 12/13Kapitel 9: Datenorganisation7

Hashing Datenbanken, WS 12/13Kapitel 9: Datenorganisation8

Datenbanken, WS 12/13Kapitel 9: Datenorganisation9 Hashing Bäume: log k (n) viele Seitenzugriffe.. Hashing: Fast eindeutige Zuordnung von Datum zu Bucket (Behälter) h: S B -S Schlüssel (in diesem Kontext hier: nicht notwendigerweise Schlüssel im Sinne eines logischen Schema) -B: Nummerierung von n Behältern -Zugriff innerhalb von 1-2 Schritten -Charakteristiken der gesuchten Hash-Funktion Fester vs flexibler Wertebereich Gute Verteilung über den Wertebereich, auch bei schlechter Verteilung der Datencharakteristiken über den Eingabebereich

Datenbanken, WS 12/13Kapitel 9: Datenorganisation10 Hashing Abbildung h: D [0..m-1], genannt Hash-Funktion, von Schlüsseln x1,..., xn aus Domain D (z.B. Strings) auf Positionen h(x1),..., h(xn) in Array a[0..m-1], genannt Hash-Tabelle (mit n < m) Speicherung von Schlüssel xi in a[h(xi)] Anforderungen an h: sehr effiziente Berechenbarkeit zufällige Streuung (Randomisierung) von x1,..., xn auf [0..m-1] Urbilder von j1, j2 [0..m-1] annähernd gleich groß für alle j1, j2 und alle möglichen x1,..., xn für geordnete Schlüssel x1 < x2 <... < xn sollte die Ordnung von h(x1), h(x2),..., h(xn) eine zufällige Permutation sein Beispiele für brauchbare Hash-Funktionen h(x) = (ax + b) mod m für Integers x mit Konstanten a, b h(x) = (mittlere k Ziffern von x2) mod m für k-stellige Integers x h(x) = (ord(c1)+...+ord(ck)) mod m für Strings c1c2...ck k mit ord: S [1..| |]

Datenbanken, WS 12/13Kapitel 9: Datenorganisation11 Statisches Hashing

Datenbanken für Mathematiker, WS 11/12Kapitel 10: Datenorganisation12

Datenbanken für Mathematiker, WS 11/12Kapitel 10: Datenorganisation13

Datenbanken für Mathematiker, WS 11/12Kapitel 10: Datenorganisation

Datenbanken für Mathematiker, WS 11/12Kapitel 10: Datenorganisation

Datenbanken, WS 12/13Kapitel 9: Datenorganisation16 SQL: Create Index Grobsyntax: CREATE [UNIQUE] INDEX Indexname ON Tabellenname (Attribut1, Attribut2..) DROP INDEX Indexname Primary Key hat immer einen Index (muss nicht explizit indexiert werden).. Oracle: default-Indextyp ist ein B+ Baum Beispiele: CREATE INDEX Studenten_idx1 ON Studenten(Semester) DROP INDEX Studenten_idx1

Standardoption sind B + -Bäume – Warum? B + -Bäume sind stärker an die Seitenstruktur der Daten angepasst, der Grad k ist typischerweise sehr hoch, meist hat jeder Knoten eine Seite, also z.B. 64 MB. Log k n mit hohem k ergibt also fast immer 1 oder 2. Da die B + -Bäume sehr dicht sind, können die Nicht-Blattknoten oft komplett im Cache gehalten werden und benötigen dann gar keine Festplattenzugriffe. Ein Hash, selbst ein erweiterter Hash benötigt viel Redundanz, es können also pro Seite weniger Daten referenziert werden. Da aber der benötigte Speicher direkt an der Performance hängt werden in der Praxis oft mehr Seitenzugriffe benötigt. Überlegen ist der Hash in Situationen, wo sowieso die kompletten Daten (mit Index) im Cache sind, etwa sehr viele Anfragen auf eine kleine Menge von Daten kommen oder wenn die Daten auf mehreren Rechnern verteilt sind. Datenbanken, WS 12/13Kapitel 9: Datenorganisation17