Zugriffsbeschleunigung

Werbung
Zugriffsbeschleunigung
• Indexe
• Clustering (Datenballung)
Indexe
„Datenbanken für Hörer anderer Fachrichtungen“
Indexe
Oft: wenige Tupel als Anfrage-Ergebnis
Aber: alle Daten müssen durchsucht werden
ohne Zusatzinfo
Idee: Ausnützen der Direktzugriffsmöglichkeit
des Sekundärspeichers durch Index
Ziel: Schneller Zugriff auf bestimmte Attribute
für viele Anfragetypen
mit wenig zusätzlichem Speicherbedarf
und niedrigem Pflegeaufwand
Indexe
„Datenbanken für Hörer anderer Fachrichtungen“
Indextypen
• Primärindexe
legen physische Anordnung der Daten fest
meist: Primärindex auf Primärschlüssel
• Sekundärindexe
!1 Primärindex, mehrere Sekundärindexe
Achtung: Suchkriterium Index nennt man Schlüssel
≠ Schlüssel Relation
create index SemesterInd on Studenten(Semester);
drop index SemesterInd;
Indexe
„Datenbanken für Hörer anderer Fachrichtungen“
Arten von Indexen
• Sequentielle Speicherstrukturen (ISAM)
• Baumstrukturen (Schlüsselvergleich)
Beispiel: B-Baum
• Hashing (Schlüsseltransformation)
max. 2 Seitenzugriffe für ein Datum
Anfragearten:
• exact-match query
• partial-match query
• range query
Indexe
„Datenbanken für Hörer anderer Fachrichtungen“
B-Bäume
Suchschlüssel
Verweis
V1
Daten
S1
S2
V2
D1
D2
...
< S1
S1<x<S2
= Balancierte Mehrwege-Suchbäume
für den Hintergrundspeicher
Einfügen neues Objekt in B-Baum
Sukzessiver Aufbau eines B-Baums
7
10 13 19
Sukzessiver Aufbau eines B-Baums
3
7 10 13 19
1
10
?
3
7
13 19
Clustering
Clustering =
Ballung logisch verwandter Datensätze, d.h.
logisch zusammengehörige Daten werden
räumlich zusammenhängend gespeichert (1 Seite)
!Optimierung Zugriffs- und Ladezeiten
HS
(...,x,...)
(...,x,...)
(...,x,...)
HGS
(...,x,...)
(...,x,...)
(...,x,...)
Primärindex legt physische Anordnung fest
!Clustering kann genutzt werden
Indexe
„Datenbanken für Hörer anderer Fachrichtungen“
Herunterladen