Datenbanksysteme I WS 2012/13 - Übung 0 - Bernhard Pietsch Friedrich-Schiller-Universität Jena Lehrstuhl für Datenbanken und Informationssysteme
|
|
- Günther Richter
- vor 7 Jahren
- Abrufe
Transkript
1 Datenbanksysteme I WS 2012/13 - Übung 0 - Bernhard Pietsch Friedrich-Schiller-Universität Jena Lehrstuhl für Datenbanken und Informationssysteme
2 Organisatorisches (I) Prüfungsmodalitäten Organisatorisches und Hinweise Ergänzende Materialien zur Vorlesung und Übung Klausur: 18. Februar Uhr HS 1, Carl-Zeiss-Str. 3 Klausurteilnahme nur für angemeldete Studenten: B.Sc.: elektronisch über Friedolin Diplom und M.Sc.: schriftlich über Formular 2 DBS1-Übung
3 Organisatorisches (II) 2 Übungsgruppen Mo, 14:15 15:45 Uhr, SR 130 CZ Do, 08:15 9:45 Uhr, SR 226 CZ Einschreibung per Friedolin 7 Übungstermine Vertiefung und praktische Erprobung des Vorlesungsstoffes Vorbereitung auf die Klausur 1. Übungstermin: Zugriffspfade Motivation Mehrwegbäume (B-Bäume, B*-Bäume) Streuspeicherverfahren (Hashing, Extendible Hashing) Übungstermin: Besprechung der Aufgabenblätter 3 DBS1-Übung
4 Seite / Page grundlegende Einheit der Datenspeicherung in DBMS Dateneinheit fester Größe, welche bei den meisten DBMS von Datenbankadministrator festgelegt werden kann Typische Seitengrößen sind 4,8,16 oder 32 KB enthält einen Header und eine Menge von Datensätzen Header 11 Küspert Pietsch Göbel Koch Büchse Friedel Eichner 3244 Header 12 Rossak 3243 Datensätze werden seitenweise auf Externspeicher abgelegt Um schnellen Zugriff zu erzielen, werden einige Seiten im Arbeitsspeicher gepuffert 4 DBS1-Übung
5 Zielstellung der Ablage Ablage von Daten soll einfachen, schnellen und inhaltsbezogenen Zugriff ermöglichen Bsp: "Gib mir alle Angestellten, die im Raum 3240 arbeiten und deren Nachname mit B beginnt. Randbedingungen Große Datenmengen nicht komplett im Hauptspeicher ablegbar I.d.R. mehr Suchanfragen als Änderungen auf Informationen Header 11 Küspert Pietsch Göbel Koch Büchse Friedel Eichner 3244 Header 12 Rossak DBS1-Übung
6 Zugriffspfade Motivation: Sequentielle Suche über GB/TB an Daten nicht akzeptabel Zielstellung: Minimierung der Anzahl von Externspeicherzugriffen (Latenz um Faktor 10 6 langsamer als beim Arbeitsspeicher) Zugriff auf Daten mit konstantem oder logarithmischem Aufwand durch zusätzliche Speicherpfade Zielkonflikt: Zugriffsbeschleunigung vs. Aktualisierungsaufwand Header 11 Küspert Pietsch Göbel Koch Büchse Friedel Eichner 3244 Header 12 Rossak DBS1-Übung
7 Speicherstrukturen Entnommen aus Datenbanksysteme: Konzepte und Techniken der Implementierung von Theo Härder, Erhard Rahm 7 DBS1-Übung
8 Mehrwegbäume Ausgangspunkt: vollständig balancierter binärer Suchbaum Abbildung der Knoten inkl. ausgehender Kanten auf eine Seite Pro Knoten aber nur ein Schlüsselwert Seiten sind nur zu einem Bruchteil ausgelastet geringer Verzweigungsgrad und große Baumhöhe viele Seitenzugriffen und somit viele Externspeicherzugriffe Zielstellung der Mehrwegbäume Zusammenfassung mehrerer Sätze/Schlüssel zu einem Knoten Höherer Verzweigungsgrad führt zu niedriger Baumhöhe Kompromiss für wahlfreien Schlüsselzugriff und sortierte Verarbeitung Aufwand von Änderungsoperationen akzeptabel Beispiele: B- und B+, B*-Baum 8 DBS1-Übung
9 B-Baum Vorschlag von R. Bayer und E. McCreight (1970) Daten und Suchinformationen in Baumstruktur angeordnet Baumknoten werden auf Seiten abgebildet, die vom DBMS verwaltet werden Seiten- bzw. Knotenaufbau: Beispielknoten: DBS1-Übung
10 B-Baum Definition eines B-Baums mit Ordnung n: Jeder Weg von der Wurzel zum Blatt hat die gleiche Länge h Jeder Knoten (außer Wurzel und Blätter) hat mindestens n+1 Söhne. Die Wurzel ist ein Blatt oder hat mindestens 2 Söhne. Jedes Blatt besitzt mindestens n Einträge. Jeder Knoten hat höchstens 2n+1 Söhne Beispiel mit n=2: Beschränkung der Höhe für N Datensätze (N>0): log 2n +1 ( N +1 ) h log n +1 ( N DBS1-Übung )
11 Suchen im B-Baum 11 DBS1-Übung
12 Einfügen im B-Baum (I) 12 DBS1-Übung
13 Einfügen im B-Baum (II) 13 DBS1-Übung
14 Löschen im B-Baum (I) 14 DBS1-Übung
15 Löschen im B-Baum (II) 15 DBS1-Übung
16 Löschen im B-Baum (III) 16 DBS1-Übung
17 Löschen im B-Baum (IV) 17 DBS1-Übung
18 Löschen im B-Baum (V) 18 DBS1-Übung
19 Bewertung B-Baum ist robust gegen Entartung durch Reorganisation Ordnung n beeinflusst Effizienz großes n niedrige Baumhöhe bessere Performance Jede zusätzliche Seitenanforderung kostet viel Zeit ( Pufferverwaltung) Wurzelknoten möglichst im Hauptspeicher halten ABER: n ist durch Seitengröße beschränkt (z.b. 4, 8, 16 KB) Doppelrolle der Schlüsselwerte s i s i bildet ab auf Datensatz d i und ist Weiche zur Suchsteuerung Datenteil für Suchsteuerung nicht erforderlich Idee: Datenteile nur auf Blattebene speichern B+-Baum 19 DBS1-Übung
20 B+-Baum 20 DBS1-Übung
21 B+-Baum Häufigste Art der Index-Implementierung in DBMS Indexbaum: keine Datensätze, sondern Schlüssel und Zeiger auf Kinder Datensätze befinden sich ausschl. in der Blattebene des B+-Baums Gesamtbaum somit flacher als B-Baum Platz für mehr Schlüssel bei fester Seitengröße Lösch-Vorgang einfacher als im B-Baum Daten werden nur in Blättern entfernt Schlüssel in inneren Knoten bleiben als Wegweiser erhalten Weniger Seiten müssen geändert werden 21 DBS1-Übung
22 Verkettung der Blätter im B+-Baum Blattfolge entspricht sequentieller Datei, üblicherweise mit (doppelter) Verkettung zwischen den Seiten Gleiche logarithmische Zugriffszeit für alle Daten sequentieller sortierter Zugriff und wahlfreier Schlüsselzugriff sind effizient Bereichsanfragen, Extremwertanfragen 22 DBS1-Übung
23 B+-Bäume in der Praxis Typische Werte: Ordnung: 100 Höhe: 3-4 Füllfaktor: 70% Durchschnittliche Anzahl von Söhnen: ~133 Daraus resultierende Kapazitäten: Höhe 3: = 2,352,637 Sätze Höhe 4: = 312,900,700 Sätze Pufferung der obersten Stufen: Ebene 0: 1 Seite = 8 KB Ebene 1: 133 Seiten = 1 MB Ebene 2: 17,689 Seiten = 133 MB 23 DBS1-Übung
24 Historie und Terminologie Überblick der Baumarten: D. Comer: The Ubiquitous B-Tree. ACM Computing Surveys, 11:2, Juni 1979, pp Originalpublikation B-Baum: R. Bayer, E. M. McCreight: Organization and Maintenance of Large Ordered Indexes. Acta Informatica, 1: Originalpublikation B*-Baum: D. E. Knuth: The Art of Computer Programming, Vol. 3, Addison-Wesley, Heutige Literatur: B*-Baum = B+-Baum 24 DBS1-Übung
25 Speicherstrukturen Entnommen aus Datenbanksysteme: Konzepte und Techniken der Implementierung von Theo Härder, Erhard Rahm 25 DBS1-Übung
26 Statisches Hashing: Beschreibung Hashtabelle als Indexstruktur ("Von der Ordnung ins Chaos") Verwendung von Streuspeicherverfahren bzw. Hashfunktionen Berechnung der Speicheradresse eines Datensatzes über den Schlüssel (Schlüsseltransformation) Hashfunktion h(x) liefert die Seite (Bucket) bzw. Speicheradresse mit dem Dateneintrag zu Schlüssel x Beispiel einer Hashfunktion: "Divisionsrestverfahren" Geeignete Division des Schlüssels Rest der Division ergibt die relative Adresse in der Hashtabelle 26 DBS1-Übung
27 Statisches Hashing: Hashfunktion Hashfunktion h: S {1, 2,..., n} S = Schlüsselraum, n = Größe des statischen Hash-Bereichs (Anzahl der Buckets) Idealfall: h ist injektiv (keine Kollisionen) Nur in Ausnahmefällen möglich Jeder Satz kann mit einem Seitenzugriff referenziert werden Ziel: möglichst gute Gleichverteilung einer konkreten Schlüsselmenge 27 DBS1-Übung
28 Statisches Hashing: Operationen (vereinfacht) Gegeben: Hashfunktion h, Wertebereich der Hashfunktion W, mit h: S W Datensatz D i mit Schlüssel K i Einfügen Generierung der zukünftigen Speicheradresse: h(k i ) = W i Datensatz D i mit Schlüssel K i wird auf Adresse W i gespeichert Direkte Suche Ermittlung der zugehörigen Speicheradresse: h(k i ) = W i Bereitstellung von Datensatz D i mit Schlüssel K i von Adresse W i 28 DBS1-Übung
29 Statisches Hashing: Operationen (vereinfacht) II Gegeben: Hashfunktion h, Wertebereich der Hashfunktion W, mit h: S W Datensatz D i mit Schlüssel K i Löschen Ermittlung der zugehörigen Speicheradresse: h(k i ) = W i Datensatz D i mit Schlüssel K i wird auf Adresse W i gelöscht Sequentielle Suche Sequentieller Durchlauf des Wertebereichs W = W 1... W n Keine geordnete Schlüsselfolge keine sequentielle Suche möglich! 29 DBS1-Übung
30 Statisches Hashing: Kollision Definition: Zwei Schlüssel K i und K n kollidieren bezüglich einer Hashfunktion h, wenn gilt: h(k i ) = h(k n ) K i und K n nennt man dann auch Synonyme, sie gehören zu einer Kollisionsklasse Kollisionsbehandlung umfasst folgende Aufgaben Einfügen: Finden einer freien Speicheradresse beim Einfügen Suchen: Auffinden eines Schlüssels, der nicht auf der Adresse gespeichert wurde, die die Hashfunktion bestimmt Alle Operationen werden durch Kollisionsbehandlung komplexer Viele Hashfunktionen (z.b. Modulo) bilden eine größere Schlüsselmenge in einen kleineren Wertebereich ab Kollision ist dann zwangsläufig 30 DBS1-Übung
31 Statisches Hashing: Kollisionsbehandlung Offenes Hashen Kollisionen werden im Primärbereich untergebracht Suche einer anderen noch nicht belegten Adresse in der Hashtabelle Lineares/quadratisches Sondieren, Doppeltes Hashen Gleiche Strategie beim Wiederauffinden Lösch-Problematik: Einträge dürfen nicht einfach gelöscht werden, sonst herrschen veränderte Voraussetzungen (Lösung: Delete-Flag) h(k x ) = h(k m ) K x K m K i K x K o 31 DBS1-Übung
32 Statisches Hashing: Kollisionsbehandlung II Geschlossenes Hashen Kollisionen werden im separaten Überlaufbereich gespeichert Überlaufbereich für alle Kollisionen Überlaufbereich pro Adresse Gefahr der Entartung Überlauflisten werden zu lang Performance sinkt (Suche in einer Liste!) h(k x ) = h(k m ) K x K m K x K i K o 32 DBS1-Übung
33 Statisches Hashing: Fazit Vorteile: Bei Kollisionsfreiheit: Suchen/Einfügen/Löschen in O(1) Nachteile: Meist Kollisionsbehandlung nötig: Suchen/Einfügen/Löschen in O(n) Kein sequentieller Zugriff auf Daten möglich Hashfunktion entscheidend für die Qualität des Hashverfahrens beeinflusst Performance, Berechnungs-Komplexität, Datenverteilung und Kollisions-Wahrscheinlichkeit Es gibt keine optimale Hashfunktion für beliebige Schlüsselmengen! Ineffizienz bei unvorhersehbaren / stark wachsenden Datenmengen Primärbereich anfangs überdimensioniert (a priori Allokation des benötigten Speichers), Freihalten von Leerstellen Wachsende Überlaufketten verschlechtern Laufzeitverhalten Nachträgliche Vergrößerung der Hashtabelle (Re-Hash) teuer / nicht möglich (24h-Dauerbetrieb!) Übergang zum Erweiterbaren Hashing (Fagin et al, 1979) 33 DBS1-Übung
34 Erweiterbares Hashing: Ziele Dynamisches Wachsen und Schrumpfen des Wertebereichs der Hashfunktion Buckets werden erst bei Bedarf bereitgestellt Dichte Speicherplatzbelegung möglich Vermeidung von Überlaufmechanismen und totaler Reorganisation Konstantes Laufzeitverhalten Zugriffszeit unabhängig vom Umfang des Datenbestands Auffinden eines Satzes soll nicht mehr als zwei Seitenzugriffe erfordern 34 DBS1-Übung
35 Erweiterbares Hashing: Beschreibung Hashtabelle gegliedert in zwei Bereiche Directory (Inhaltsverzeichnis) Eigentliche Hashbuckets Zugriff zu den Werten in den Hashbuckets nur über Directory möglich Zusätzliche Indirektion (evtl. Externspeicherzugriff!) Notwendiges Hilfsmittel für die gewünschten Erweiterungseigenschaften Bucket mit fester Länge (z.b. Seitengröße 4KB) und Kapazität b Abhängig von den zu hashenden Daten (Wertlänge) Abhängig von Datenintegration (Einbettung vs. Auslagerung) Hashfunktion h generiert Pseudoschlüssel zu einem Satz x 35 DBS1-Übung
36 Erweiterbares Hashing: Realistische Werte Bucketkapazität: b=100, b=1000 Abhängig von der Seitengröße (2, 4, 8, 16 KB, etc.) Abhängig von Wahl der Einbettung (eingebetteter vs. ausgelagerter Ansatz) h(x) mit h: S [0, ] Gewährleistet hinreichend viele Bitpositionen 36 DBS1-Übung
37 Erweiterbares Hashing: Beispiel (1) Ein leeres Bucket mit Bucket-Kapazität b = 4 Hashfunktion h(x) = x mod 32 Lokale Tiefe eines Bucket d : Anzahl von Bits, die benötigt wird, um zu entscheiden, ob ein Eintrag in dieses Bucket gehört Globale Tiefe des Directory d: Maximale Anzahl Bits, die benötigt wird, um zu entscheiden, in welches Bucket ein Eintrag gehört (d = max(d )) d = 0 d = 0 B 1 37 DBS1-Übung
38 Erweiterbares Hashing: Beispiel (2) Schrittweiser Aufbau einer Hashtabelle durch sukzessives Einfügen einiger Werte in der vorgegebenen Reihenfolge: x h(x) [h(x)] Einfügen von Werten 134, 8, 113 und 89 B Alle Werte in Bucket B [00110] 8 [01000] 17 [10001] 25 [11001] 38 DBS1-Übung
39 Erweiterbares Hashing: Beispiel (3) / Split Im Beispiel: Einfügen von Wert 20 Bucket-Überlauf in B 1 Splitting von B 1 Allokation eines neuen Buckets B 2 mit d (B 2 ) = d (B 1 ) Erhöhung der lokalen Tiefen von B 1 und B 2 um 1 Hinweis: mögliche weitere lokale Tiefen werden nicht verändert Hashfunktion h generiert Pseudoschlüssel der Einträge Füllen der Buckets: jedes Bucket enthält nur Sätze, deren Pseudoschlüssel in den ersten d' Bits übereinstimmen Falls d max(d ): Erhöhung der globalen Tiefe um 1 Directory enthält 2 d Einträge verdoppelt sich mit jedem zusätzlichen Bit B 1 B [00110] 8 [01000] 17 [10001] 20 [10100] 25 [11001] 39 DBS1-Übung
40 Erweiterbares Hashing: Beispiel (4) Einfügen des Werts 118 Suche des zugehörigen Buckets ergibt B 2 aufgrund 1. Bitposition Freie Kapazität in B 2 ( B 2 < b) B 1 B [00110] 8 [01000] 17 [10001] 20 [10100] 22 [10110] 25 [11001] Einfügen des Werts 30 Bucket-Überlauf in B 2 Splitting und Erhöhung der lokalen Tiefe (d'=2) in Buckets B 2 und B 3 Erhöhung globaler Tiefe (d=2) Directory-Verdopplung Differenzierung bei Neuverteilung gemäß ersten zwei Bits im Hashwert Bucket B 1 bleibt unverändert mit lokaler Tiefe d'= B 1 B 2 B [00110] 8 [01000] 17 [10001] 20 [10100] 22 [10110] 25 [11001] 30 [11110] 40 DBS1-Übung
41 Erweiterbares Hashing: Beispiel (5) Einfügen der Werte 107, 37 und 77 Wert 107 wird in Bucket B 1 abgelegt durch Zuordnung über "01..." Wert 37 wird in Bucket B 1 abgelegt durch Zuordnung über "00..." Bucket-Überlauf in B 1 bei Wert 77, Splitting in B 1 und B 4 Erhöhung der lokalen Tiefe für Bucket B 1 und B 4 (d'=2) Keine Directory-Verdopplung, da weiterhin die globale Tiefe mit d=2 (d=max(d')) bleibt B 1 B 4 B 2 B [00101] 6 [00110] 8 [01000] 11 [01011] 13 [01101] 17 [10001] 20 [10100] 22 [10110] 25 [11001] 30 [11110] 41 DBS1-Übung
42 Erweiterbares Hashing: Operationen Gegeben: Hashfunktion h, Buckets B 1,, B n mit Kapazität b Datensatz D mit Schlüssel K Suche von D: Anwendung der Hashfunktion h(k) ergibt Pseudoschlüssel für Directory Ermittlung des zugeordneten Buckets B i über das Directory Durchsuchen von Bucket B i nach K (z.b. mit binärer Suche) Einfügen von D: Suche von D gefunden? Ja: Fehlermeldung, fertig! Nein: Ist noch Platz im Bucket B i, also B i <b? Ja: Einfügen von D in Bucket B i Nein: Splitting von Bucket B i zwei neue Buckets» Lokale Neuverteilung der Einträge aus B i und Verweiskorrektur» Eventuell Verdopplung des Directory wegen Selektivität 42 DBS1-Übung
43 Erweiterbares Hashing: Fazit Hashfunktion sollte gut gewählt sein Möglichst "zufälliges" Ergebnis h(x) sollte an jeder Bitposition den Wert 0/1 mit gleicher Wahrscheinlichkeit (0.5) generieren Hashverfahren reagieren empfindlich auf unausgewogene Hashfunktionen 43 DBS1-Übung
44 Erweiterbares Hashing: Sonderfall 1 (Entartung) Eine Einfügung kann mehrere Directory-Verdopplungen zur Folge haben Alle betrachteten b+1 Hashwerte h(x) haben an Position i den gleichen Wert 0 oder 1 Bei guter Hashfunktion und großer Bucketkapazität b sehr selten Beispiel: b=2, h(x): S [0, 31] Einfügereihenfolge: 2 (00010), 3 (00011), 6 (00110) 44 DBS1-Übung
45 Extendible Hashing vs. B+-Baum Speicherplatzbelegung: Extendible Hashing: 70% [ln2] für gesamten (!) Hash- Bucket-Bereich (nur Einfügen, ideale Hashfunktion) Zusatzaufwand (Speicher) für Directory moderat (anwachsend) B+-Baum: 70% [ln2] Füllgrad der Baumknoten Wahlfreier Zugriff Extendible Hashing: O(1) durch Anwenden der Hashfunktion B+-Baum: O(log n N) durch Abstieg im Indexbaum Sequentieller Zugriff: Extendible Hashing: Keine direkte Unterstützung B+-Baum: Abstieg im Baum und Nutzung der verketteten Blattebene 45 DBS1-Übung
Organisationsformen der Speicherstrukturen
Organisationsformen der Speicherstrukturen Bäume und Hashing 1 Motivation Ablage von Daten soll einfachen, schnellen und inhaltsbezogenen Zugriff ermöglichen (z.b. Zeige alle Schüler des Lehrers X am heutigen
MehrDatenbank- und Informationssysteme - Ergänzungsfach B.A. - Übung
- Ergänzungsfach B.A. - Übung - Speicherstrukturen und Datenzugriff - Wintersemester 2011/2012 Institut für Informatik Lehrstuhl für Datenbanken und Informationssysteme Dipl.-Inf. Matthias Liebisch 01.11.2011
MehrÜberlaufbehandlung ohne Verkettung
3.2 Statische Hash-Verfahren direkte Berechnung der Speicheradresse (Seitenadresse) eines Satzes über Schlüssel (Schlüsseltransformation) Hash-Funktion h: S {, 2,..., n} S = Schlüsselraum, n = Größe des
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 10. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Suchverfahren für große Datenmengen bisher betrachtete Datenstrukturen
MehrB / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme
B / B* - Bäume Guido Hildebrandt Seminar Datenbanksysteme 25.11.2010 Gliederung Einleitung Binärbaum B - Baum B* - Baum Varianten Zusammenfassung Quellen Gliederung Einleitung Binärbaum B - Baum B* - Baum
MehrADS: Algorithmen und Datenstrukturen
ADS: Algorithmen und Datenstrukturen Teil X Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 13.
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.
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
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:
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 2. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Wdhlg.: Behandlung von Kollisionen Zwei Ansätze,
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
MehrKorollar 191 In einem (a, b)-baum mit n gespeicherten Schlüsseln können die Wörterbuchoperationen in Zeit O(log a n) durchgeführt werden.
Korollar 191 In einem (a, b)-baum mit n gespeicherten Schlüsseln können die Wörterbuchoperationen in Zeit O(log a n) durchgeführt werden. Bemerkung: Die Wahl von a und b hängt wesentlich von der Anwendung
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
MehrDB-Zugriffsverfahren: Übersicht B-Bäume B*-Bäume Übersicht
DB-Zugriffsverfahren: Übersicht B*-Bäume N. Ritter, HMS Übersicht Zugriffsverfahren über Schlüssel Sequentielle Speicherungsstrukturen Baumsstrukturen Gestreute Speicherungsstrukturen Sequentielle Listen
MehrSuchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen
Suchbäume Suchbäume Prinzip Suchbaum Der Wert eines Knotens wird als Schlüssel verstanden Knoten kann auch weitere Daten enthalten, die aber hier nicht weiter betrachtet werden Werte der Schlüssel müssen
Mehr7. Hash-basierte Zugriffspfade
7. Hash-basierte Zugriffspfade Ziele - Nutzung der Schlüsseltransformation als Entwurfsprinzip für Zugriffspfade auf die Sätze einer Tabelle bei denen ein Suchkriterium unterstützt wird - Einschränkung
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
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. Blatt Nr. 2 Übung zur Vorlesung Grundlagen: Datenbanken im WS3/4 Henrik Mühe (muehe@in.tum.de) http://www-db.in.tum.de/teaching/ws34/dbsys/exercises/
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
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. Blatt Nr. 10 Übung zur Vorlesung Grundlagen: Datenbanken im WS15/16 Harald Lang, Linnea Passing (gdb@in.tum.de)
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
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
MehrDatenbanken. Interne Datenorganisation:
Interne Datenorganisation: Bisher: Konzeptionelle Betrachtungen einer Datenbank aus Sicht der Anwendung: Modellierung, Normalisieren, Sprache zum Einfügen, Ändern, Löschen, Lesen Jetzt: Betrachtung der
MehrMehrdimensionale Zugriffspfade und Dateiorganisation
Mehrdimensionale Zugriffspfade und Dateiorganisation Gliederung Begriffe, Anforderungen und Probleme, Anwendungsgebiete Konkrete Techniken Bäume Grid-File Mehrdimensionales Hashing Begriffe Eindimensionale
MehrHashing. Überblick Aufgabe Realisierung
Überblick Aufgabe Realisierung Aufgabe Realisierung Anforderungen Wahl einer Hashfunktion mit Verkettung der Überläufer Offene Universelles 2/33 Überblick Aufgabe Realisierung Aufgabe Dynamische Verwaltung
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
MehrHashverfahren I. Algorithmen und Datenstrukturen 251 DATABASE SYSTEMS GROUP
Hashverfahren I Bisher: Suchen mit Hilfe von Schlüsselvergleichen Jetzt: Stattdessen Adressberechnung Auswertung einer Funktion (Hash- oder Adressfunktion) Vorteil: Suche erfolgt weitgehend unabhängig
MehrBeweis: Die obere Schranke ist klar, da ein Binärbaum der Höhe h höchstens
Beweis: Die obere Schranke ist klar, da ein Binärbaum der Höhe h höchstens h 1 2 j = 2 h 1 j=0 interne Knoten enthalten kann. EADS 86/600 Beweis: Induktionsanfang: 1 ein AVL-Baum der Höhe h = 1 enthält
MehrHash-basierte Dateien
Hash-basierte Dateien Hashing Hash-Verfahren ermöglichen es, die Adresse eines Datensatzes basierend auf dem Wert eines Feldes zu finden Idee: Verwendung einer Hashfunktion, die den Wert eines Suchschlüssels
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
Mehr14. Hashing. Motivation. Naive Ideen. Bessere Idee? k(s) = s i b i
Motivation 14. Hashing Hash Tabellen, Geburtstagsparadoxon, Hashfunktionen, Perfektes und universelles Hashing, Kollisionsauflösung durch Verketten, offenes Hashing, Sondieren [Ottan/Widayer, Kap. 4.1-4.3.2,
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
MehrHashtabellen. Hashverfahren, was ist das eigentlich?
Hashverfahren, was ist das eigentlich? Das Hashverfahren ist ein Algorithmus zum Suchen von Datenobjekten in großen Datenmengen. Es basiert auf der Idee, dass eine mathematische Funktion die Position eines
MehrPraktische Informatik I Algorithmen und Datenstrukturen Wintersemester 2006/07
6 Hashverfahren zum Namen Hash : engl für zerhacken gestreute Speicherung 61 Grundbegriffe Wir unterstellen ein direkt adressierbares Speichermedium mit einer Menge von Adressen, dem Adressraum Die Datensätze
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 9 Übung zur Vorlesung Grundlagen: Datenbanken im WS4/5 Harald Lang (harald.lang@in.tum.de) http://www-db.in.tum.de/teaching/ws45/grundlagen/
MehrAlgorithmen und Datenstrukturen 2. Dynamische Datenstrukturen
Algorithmen und Datenstrukturen 2 Dynamische Datenstrukturen Algorithmen für dynamische Datenstrukturen Zugriff auf Variable und Felder durch einen Ausdruck: Namen durch feste Adressen referenziert Anzahl
MehrGliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen
5. Compiler Gliederung 1. Struktur eines Compilers 2. Syntaxanalyse durch rekursiven Abstieg 3. Ausnahmebehandlung 4. Arrays und Strings 6. Sortieren und Suchen 1. Grundlegende Datenstrukturen 2. Bäume
MehrMehrwegbäume Motivation
Mehrwegbäume Motivation Wir haben gute Strukturen (AVL-Bäume) kennen gelernt, die die Anzahl der Operationen begrenzen Was ist, wenn der Baum zu groß für den Hauptspeicher ist? Externe Datenspeicherung
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
MehrADS: Algorithmen und Datenstrukturen
ADS: Algorithmen und Datenstrukturen Teil XI Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 20.
Mehr4. Hashverfahren. geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D. Menge A von Speicheradressen; oft: A = {0,..., m 1}
105 4. Hashverfahren geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D Menge A von Speicheradressen; oft: A = {0,..., m 1} jedes Speicherverfahren realisiert h : D A mögliche Implementierungen
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:
MehrKapitel 9: Physische Datenorganisation
Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2006/2007 Kapitel 9: Physische Datenorganisation Vorlesung:
MehrEADS 3.3 Gewichtsbalancierte Bäume 95/598 ľernst W. Mayr
3.3 Gewichtsbalancierte Bäume Siehe zu diesem Thema Seite 189ff in Kurt Mehlhorn: Data structures and algorithms 1: Sorting and searching, EATCS Monographs on Theoretical Computer Science, Springer Verlag:
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil Hash-Verfahren Version vom: 18. November 2016 1 / 28 Vorlesung 9 18. November 2016
MehrKollision Hashfunktion Verkettung Offenes Hashing Perfektes Hashing Universelles Hashing Dynamisches Hashing. 4. Hashverfahren
4. Hashverfahren geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D Menge A von Speicheradressen; oft: A = {0,..., m 1} jedes Speicherverfahren realisiert h : D A mögliche Implementierungen von
MehrAlgorithmen und Datenstrukturen Hashverfahren
Algorithmen und Datenstrukturen Hashverfahren Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Prinzip Details Anwendungen Motivation Hashverfahren
MehrDatenstrukturen. Dortmund, Oktober 1998
Datenstrukturen Dortmund, Oktober 1998 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX: (0231)755-4902 1 Inhalt Seite
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
MehrHumboldt-Universität zu Berlin Berlin, den Institut für Informatik
Humboldt-Universität zu Berlin Berlin, den 15.06.2015 Institut für Informatik Prof. Dr. Ulf Leser Übungen zur Vorlesung M. Bux, B. Grußien, J. Sürmeli, S. Wandelt Algorithmen und Datenstrukturen Übungsblatt
MehrHashing Hashfunktionen Kollisionen Ausblick. Hashverfahren. Dank an: Beate Bollig, TU Dortmund! 1/42. Hashverfahren
Dank an: Beate Bollig, TU Dortmund! 1/42 Hashing Überblick Aufgabe Realisierung Aufgabe Realisierung Anforderungen Wahl einer Hashfunktion mit Verkettung der Überläufer Offene Universelles Hashing 2/42
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (12 Hashverfahren: Verkettung der Überläufer) Prof. Dr. Susanne Albers Möglichkeiten der Kollisionsbehandlung Kollisionsbehandlung: Die Behandlung
MehrBaumbasierte Strukturen
Baumbasierte Strukturen Baumbasierte Struktur / Organisation als Binärbaum Haufendateien oder sortierte Dateien nützlich für statische Dateien Dateien organisiert als Binärbaum Effizientes Einfügen und
MehrP ( Mindestens zwei Personen haben am gleichen Tag Geb. ) (1) = 1 P ( Alle Personen haben an verschiedenen Tagen Geb. ) (2)
1 Hashing Einleitung Eine sehr naive Herangehensweise zur Implementierung eines Wörterbuchs ist die Benutzung eines hinreichend grossen unsortierten Arrays, in dem jeweils an eine freie Position eingefügt
MehrB*-BÄUME. Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records.
B*-Bäume 1 B*-BÄUME Beobachtung: Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records. Es gibt keinen Grund, warum man nicht einen Index über einem Index haben sollte, und
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
MehrIndexstrukturen in Datenbanken
für Zeichendaten und Texte sowie mehrdimensionale Dateiorganisation und Zugriffspfade 3. Juli 2014 Inhaltsverzeichnis 1 Einleitung 2 Präfix B+-Baum 3 Tries 4 k-dimensionale Bäume 5 Grid-File 6 mehrdimensionales
MehrIndexe in Dateien. Thomas Behr. 19.November c 2015 FernUniversität in Hagen
Indexe in Dateien Fakultät für Mathematik und Informatik Datenbanksysteme für neue Anwendungen FernUniversität in Hagen 19.November 2015 c 2015 FernUniversität in Hagen Indexe ermöglichen schnellen Zugriff
MehrDynamische Datenstrukturen
Dynamische Datenstrukturen B-Bäume größere Datenmengen verwalten Extern speichern Art der Speicherung berücksichtigen sonst kein optimaler Datenzugriff möglich Art der Speicherung großer Datenmengen Magnetplatten
MehrHashing. Überblick Aufgabe Realisierung
Überblick Aufgabe Realisierung Aufgabe Realisierung Anforderungen Wahl einer Hashfunktion it Verkettung der Überläufer Offene Universelles 2/33 Überblick Aufgabe Realisierung Aufgabe Dynaische Verwaltung
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2009 1. Vorlesung Uwe Quasthoff Universität Leipzig Institut für Informatik quasthoff@informatik.uni-leipzig.de Zur Vorlesung allgemein Vorlesungsumfang:
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
Mehr6/23/06. Universelles Hashing. Nutzen des Universellen Hashing. Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen
Universelles Hashing Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen wir können nicht annehmen, daß die Keys gleichverteilt im Universum liegen (z.b. Identifier im Programm) könnte also
MehrDateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1
Dateiorganisation und Zugriffsstrukturen Prof. Dr. T. Kudraß 1 Mögliche Dateiorganisationen Viele Alternativen existieren, jede geeignet für bestimmte Situation (oder auch nicht) Heap-Dateien: Geeignet
MehrInformatik II: Algorithmen und Datenstrukturen SS 2015
Informatik II: Algorithmen und Datenstrukturen SS 2015 Vorlesung 8b, Mittwoch, 17. Juni 2015 (Balancierte Suchbäume) Prof. Dr. Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen Institut für Informatik
Mehr7. Hash-basierte Zugriffspfade
7. Hash-basierte Zugriffsfade Gestreute Seicherungsstrukturen (Hash-Verfahren) Ziele - Nutzung der Schlüsseltransformation als Entwurfsrinzi für Zugriffsfade auf die Sätze einer Tabelle bei denen ein Suchkriterium
MehrKlausur Algorithmen und Datenstrukturen SS August Arbeitszeit 90 min
TU Ilmenau, Fakultät für Informatik und Automatisierung FG Komplexitätstheorie und Effiziente Algorithmen Univ.-Prof. Dr. M. Dietzfelbinger, Dipl.-Ing. C. Mattern Klausur Algorithmen und Datenstrukturen
Mehrt-äre Bäume können - wie Binärbäume - degenerieren, d.h. durch ungünstige Einfügereihenfolge kann ein unausgewogener Baum mit großer Höhe entstehen.
.3 B-Bäume t-äre Bäume können - wie Binärbäume - degenerieren, d.h. durch ungünstige Einfügereihenfolge kann ein unausgewogener Baum mit großer Höhe entstehen. Wird der t-äre Baum zur Verwaltung von Daten
MehrAlgorithmen I. Tutorium 1-4. Sitzung. Dennis Felsing
Algorithmen I Tutorium 1-4. Sitzung Dennis Felsing dennis.felsing@student.kit.edu www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-05-09 Überblick 1 Verkettete Listen 2 Unbeschränkte Felder 3 Amortisierte Laufzeitanalyse
MehrWünschenswerte Eigenschaft von Suchbäumen mit n Knoten: Suchen, Einfügen, Löschen auch im schlechtesten Fall O(log n)
.6 Ausgeglichene Mehrweg-Suchbäume Wünschenswerte Eigenschaft von Suchbäumen mit n Knoten: Suchen, Einfügen, Löschen auch im schlechtesten Fall O(log n) Methoden: lokale Transformationen (AVL-Baum) Stochastische
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
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/3, Folie 1 2010 Prof. Steffen Lange - HDa/FbI
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr
MehrTeil 1: Suchen. M.O.Franz, Oktober 2007 Algorithmen und Datenstrukturen - Suchen 1-1
Teil 1: Suchen Problemstellung Elementare Suchverfahren Hashverfahren Idee Hashfunktion Hashverfahren mit Verkettung Offene Hashverfahren Dynamische Hashverfahren Binäre Suchbäume Ausgeglichene Bäume B-Bäume
MehrKapitel 4. Streuen. (h K injektiv) k 1 k 2 K = h(k 1 ) h(k 2 )
Kapitel 4 Streuen Wir behandeln nun Ipleentationen ungeordneter Wörterbücher, in denen die Schlüssel ohne Beachtung ihrer Sortierreihenfolge gespeichert werden dürfen, verlangen aber, dass es sich bei
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
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Algorithmen und Datenstrukturen Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt aus der Vorlesung
MehrAufgaben, Hilfestellungen und Musterlösungen zum Modul 5 Druckversion
Abschnitt 1 Aufgaben, Hilfestellungen und Musterlösungen zum Modul 5 Druckversion Aufgabe 1: Binäre Suchbäume: Iteratives Suchen/Einfügen/Löschen Das Material dieser Übung enthält in der Klasse Tree0 die
Mehr7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure
7. Dynamische Datenstrukturen Bäume Informatik II für Verkehrsingenieure Übersicht dynamische Datenstrukturen Wozu? Oft weiß man nicht von Beginn an, wieviele Elemente in einer Datenstruktur untergebracht
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)
MehrÜberblick. 2. Eindimensionale Zugriffsstrukturen. Bäume. Anforderungen
2. Eindimensionale Zugriffsstrukturen Überblick Anforderungen eindimensionale Zugriffsstrukturen: B + - Bäume und Varianten erweitertes Splitting Schlüsselkomprimierung Hash-Verfahren statische Verfahren
MehrKapitel 9: Physische Datenorganisation
Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2008/2009 Kapitel 9: Physische Datenorganisation Vorlesung:
MehrWas ist ein assoziativer Speicher?
Überblick 17. Datenstrukturen 17.1 Einleitung 17.2 Listen 17.3 Assoziative Speicher 17.4 Bäume 17.5 Mengen 17.6 Das Collections-Framework in Java 17.7 Zusammenfassung 17 Datenstrukturen 3 Assoziative Speicher
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
MehrSuchstrukturen. Übersicht. 8 Suchstrukturen. Allgemeines. H. Täubig (TUM) GAD SS
Übersicht 8 Suchstrukturen Allgemeines Binäre Suchbäume AVL-Bäume H. Täubig (TUM) GAD SS 14 309 Allgemeines Übersicht 8 Suchstrukturen Allgemeines Binäre Suchbäume AVL-Bäume H. Täubig (TUM) GAD SS 14 310
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
MehrInformationssysteme SS 2013 Lösungsvorschläge zu Übungsblatt 2. Übungsblatt 2. Für die Übungen in der Woche vom 29. April bis 03.
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Fachbereich Informatik Technische Universität Kaiserslautern Übungsblatt 2 Für die Übungen in der Woche vom 29. April bis 03. Mai 2013 Aufgabe
MehrAlgorithmen und Datenstrukturen. Bäume. M. Herpers, Y. Jung, P. Klingebiel
Algorithmen und Datenstrukturen Bäume M. Herpers, Y. Jung, P. Klingebiel 1 Lernziele Baumstrukturen und Ihre Verwendung kennen Grundbegriffe zu Bäumen anwenden können Baumstruktur in C anlegen können Suchbäume
MehrLogische Datenstrukturen
Lineare Listen Stapel, Warteschlangen Binärbäume Seite 1 Lineare Liste Begriffe first Funktion: sequentielle Verkettung von Datensätzen Ordnungsprinzip: Schlüssel Begriffe: first - Anker, Wurzel; Adresse
Mehr