K7 DB-Zugriffsverfahren Flashcards
GDB K7 DB-Zugriffsverfahren
Übersicht Zugriffsverfahren
GDB K7 DB-Zugriffsverfahren
Listen: Sequentielle Listen auf Externspeichern
- Prinzip: Zusammenhang der Satzmenge wird durch physische Nachbarschaft hergestellt
- Reihenfolge der Sätze: ungeordnet (Einfügereihenfolge) oder sortiert nach einem oder mehreren Attributen (sog. Schlüssel)
- wichtige Eigenschaft: Cluster-Bildung, d. h., physisch benachbarte Speicherung von logisch zusammengehörigen Sätzen
- Sequentielle Listen garantieren Cluster-Bildung in Seiten für die Schlüssel-/Speicherungsreihenfolge
- pro Satztyp kann Cluster-Bildung nur bezüglich eines Kriteriums erfolgen, falls keine Redundanz eingeführt werden soll
GDB K7 DB-Zugriffsverfahren
Listen: Gekettete Listen auf Externspeichern
- Prinzip: Verkettung erfolgt zwischen Datensätzen
- Speicherung der Sätze i. Allg. in verschiedenen Seiten
- Seiten können beliebig zugeordnet werden
- Mehrfachverkettung nach verschiedenen Kriterien (Schlüsseln) möglich
GDB K7 DB-Zugriffsverfahren
Hashing auf Externspeichern
Hash-Adresse bezeichnet Bucket (Behälter, Seite)
- Das Kollisionsproblem wird dadurch entschärft, dass mehr als ein Satz auf seiner Hausadresse gespeichert werden kann.
- Aufnahme von bis zu b Sätzen (b = Bucket-Kapazität)
- Primärbereich kann bis zu b*m Sätze aufnehmen !
Überlaufbehandlung
- Überlauf tritt erst beim (b+1)-ten Synonym auf
- viele (bekannte) Verfahren sind möglich, aber lange Sondierungsfolgen im Primärbereich sollten vermieden werden häufig Wahl eines separaten Überlaufbereichs mit dynamischer Zuordnung der Buckets
- Optionen: Verkettung der Überlauf-Buckets pro Primär-Bucket oder Zuordnung von Überlauf-Buckets zu mehreren Primär-Buckets
Speicherungsreihenfolge im Bucket
- ohne Ordnung (Einfügefolge)
- nach der Sortierfolge des Schlüssels: aufwendiger, jedoch Vorteile beim Suchen (sortierte Liste!)
Bucket-Größe
- Bucket-Adressierung eignet sich besonders gut für die Anwendung auf Externspeichern
- Wahl der Bucket-Größe: meist Seite (Transfereinheit)
- Zugriff auf die Hausadresse bedeutet dann eine physische E/A; jeder weitere Zugriff auf ein Überlauf-Bucket löst jeweils einen weiteren physischen E/A-Vorgang aus.
GDB K7 DB-Zugriffsverfahren
Allgemeine Bäume
GDB K7 DB-Zugriffsverfahren
Implementierung von allgemeinen Bäumen
GDB K7 DB-Zugriffsverfahren
m-Wege-Suchbäume
GDB K7 DB-Zugriffsverfahren
Knotenformat eines m-Wege-Suchbaums
GDB K7 DB-Zugriffsverfahren
Aufbaubeispiel m-Wege-Suchbäume
GDB K7 DB-Zugriffsverfahren
Beobachtung zu m-Wege-Suchbäume
Die Schlüssel in den inneren Knoten besitzen zwei Funktionen. Sie identifizieren Daten(sätze) und sie dienen als Wegweiser in der Baumstruktur.
Der m-Wege-Suchbaum ist im allgemeinen nicht ausgeglichen. Es ist für Aktualisierungsoperationen kein Balancierungsmechanismus vorgesehen. (schlechte Platzausnutzung, Entartung)
GDB K7 DB-Zugriffsverfahren
Wichtige Eigenschaften von m-Wege-Suchbäumen
- Die Di können Daten oder Zeiger auf die Daten repräsentieren. Zur Vereinfachung werden die Di (in den Illustrationen) weggelassen.
- S(Pi) sei die Seite, auf die Pi zeigt, und K(Pi) sei die Menge aller Schlüssel, die im Unterbaum mit Wurzel S(Pi) gespeichert werden können.
GDB K7 DB-Zugriffsverfahren
Kostenanalyse für m-Wege-Suchbäume: Die Anzahl der Knoten N in einem vollständigen Baum der Höhe h ist…
GDB K7 DB-Zugriffsverfahren
Kostenanalyse für m-Wege-Suchbäume: bei voller Belegung ergibt sich als Anzahl der Einträge…
n = N*(m-1)
GDB K7 DB-Zugriffsverfahren
Kostenanalyse für m-Wege-Suchbäume: im ungünstigsten Fall ist der Baum völlig entartet…
n = N = h
GDB K7 DB-Zugriffsverfahren
Kostenanalyse für m-Wege-Suchbäume: Schranken für die Höhe eines m-Wege-Suchbaums
GDB K7 DB-Zugriffsverfahren
Kostenanalyse für m-Wege-Suchbäume: Wartungsaufwand
O(n)
GDB K7 DB-Zugriffsverfahren
Aufsuchen eines Schlüssels in einem m-Wege-Suchbaum
GDB K7 DB-Zugriffsverfahren
Durchlaufen eines m-Wege-Suchbaums in symmetrischer Ordnung
GDB K7 DB-Zugriffsverfahren
Mehrwegbäume
Ziel: Aufbau sehr breiter Bäume von geringer Höhe
- in Bezug auf Knotenstruktur vollständig ausgeglichen
- effiziente Durchführung der Grundoperationen
- Zugriffsverhalten ist weitgehend unabhängig von Anzahl der Sätze
- Einsatz als universelle Zugriffs- oder Indexstruktur
Grundoperationen:
- Einfügen/Löschen eines Satzes
- direkter Schlüsselzugriff auf einen Satz
- sortiert sequentieller Zugriff auf mehrere Sätze
Breites Spektrum von Anwendungen
- Dateiorganisation (“logische Zugriffsmethode”, VSAM)
- Datenbanksysteme (Varianten des B*-Baumes in allen DBVS!)
- Text- und Dokumentenorganisation
- . . .
GDB K7 DB-Zugriffsverfahren
B-Bäume: Definition
Seien k, h ganze Zahlen, h ≥ 0, k > 0. Ein B-Baum B der Klasse τ (k,h) ist entweder ein leerer Baum oder ein geordneter Suchbaum mit folgenden Eigenschaften:
- Jeder Pfad von der Wurzel zu einem Blatt hat die gleiche Länge h-1.
- Jeder Knoten außer der Wurzel und den Blättern hat mindestens k+1 Söhne. Die Wurzel ist ein Blatt oder hat mindestens 2 Söhne.
- Jeder Knoten hat höchstens 2k+1 Söhne.
- Jedes Blatt mit der Ausnahme der Wurzel als Blatt hat mindestens k und höchstens 2k Einträge.
Reformulierung der Def.:
- (4) und (3) ‚Eine Seite darf höchstens voll sein.‘
- (4) und (2) Jede Seite (außer der Wurzel) muss mindestens halb voll sein. Die Wurzel enthält mindestens einen Schlüssel.
- (1) Der Baum ist, was die Knotenstruktur angeht, vollständig ausgeglichen.
GDB K7 DB-Zugriffsverfahren
B-Bäume: Einträge
GDB K7 DB-Zugriffsverfahren
Beispiel: B-Baum der Klasse τ(2,3)
GDB K7 DB-Zugriffsverfahren
B-Bäume: Höhe, balacierte Struktur
GDB K7 DB-Zugriffsverfahren
B-Bäume: Einfügen
Einfügealgorithmus (ggf. rekursiv)
- suche Einfügeposition;
- wenn Platz vorhanden ist, speichere Element, sonst schaffe Platz durch Split-Vorgang und füge ein.