Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #2 Physische Datenorganisation.

Ähnliche Präsentationen


Präsentation zum Thema: "WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #2 Physische Datenorganisation."—  Präsentation transkript:

1 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #2 Physische Datenorganisation

2 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization2 Fahrplan Einführung und Motivation Trennung der logischen und der physischen Ebene einer Datenbank Speichermedien (Platten, RAID usw.), Speicherhierarchien (Cache, Hauptspeicher, Hintergrundsspeicher usw.) Abbildung von Relationen auf den Hintergrundsspeicher Indexstrukturen (Algorithmen und Datenstrukturen!) ISAM B-Bäume Hashing Clustering (Ballung) Unterstützung eines Anwendungsverhaltens Physische Datenorganisation in SQL Fazit und Ausblick Vorlesung #3

3 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization3 Einführung und Motivation Die Benutzung und somit die Akzeptanz einer Datenbank wird maßgeblich durch die Antwortzeiten des Systems bestimmt. Selbst eine sehr gut modellierte Datenbank(anwendung) wird von Benutzern nicht akzeptiert, wenn sie langsam ist. Eine effiziente physische Organisation der Daten und der Zugriffe ist die Voraussetzung für akzeptable Datenbanken. Physische Organisation der Daten muss unabhängig von logischen Schema-Veränderungen bleiben, um System- Änderungen und vor allem System-Wachstum effizient unterstützen können. Man hat die Wahl zwischen mehreren physischen Entwürfen und kann das Optimale wählen. Die heute marktbeherrschenden (objekt)relationalen Datenbanken haben sich auch dank effizienter physischen Implementierung und der strikten Trennung zwischen der logischen und der physischen Ebene durchgesetzt.

4 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization4 Wiederholung: DBMS 3 -Abstraktionsebenen... Externes Schema - Sicht 1 Externes Schema - Sicht 2 Externes Schema - Sicht n Konzeptionelles Schema Physische Speicherung – internes Schema Logische Ebene Physische Ebene

5 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization5 3 Abstraktionsebenen Ebene 1: Sichten – Datenbank VIEWs Ebene 2: Relationen – Datenbank Tabellen mit ihren logischen Attributen Ebene 3: Datenstrukturen bzw. Speicherstrukturen – Datenbank Tabellen mit ihren physischen Attributen

6 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization6 Beispiel: logische und physische Datenunabhängigkeit Internet-BesucherStudenten ProfVerlesung Dozenten lesen Kurse CREATE VIEW ProfVorlesung AS SELECT Name, Titel AS SELECT Name, Titel FROM Dozenten FROM Dozenten NATURAL JOIN lesen NATURAL JOIN lesen NATURAL JOIN Kurse; NATURAL JOIN Kurse; CREATE VIEW ProfVorlesung AS SELECT Name, Titel FROM Professoren, Vorlesungen WHERE PersNr = gelesenVon; Professoren Vorlesungen IOT lesen PT lesen CT lesen,Kurse

7 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization7 Erläuterung zum Beispiel Man hat mehrere Möglichkeiten, eine Relation (logische Tabelle mit ihren Attributen) als eine physische oder DBMS- Tabelle zu implementieren. Die Abkürzungen bedeuten (keine Standard-Abkürzungen) IOT – Index Organized Table HT – Heap Table CT – Clustered Tables PT – Partitioned Tables SQL Code Beispiele am Ende der Vorlesung!

8 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization8 Speichermedien und Speicherhierarchien Es gibt eine Zugriffslücke 10 5 zwischen dem Haupt- und dem Hintergrundsspeicher, die vor allem an mechanische Vorgänge innerhalb eines Plattenstapels zurückzuführen ist RAID Systeme sind fehlertoleranter und performanter als einzelne Platten... weiter Folien Kemper 7.2 – 7.22

9 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization9 Puffer-Verwaltung Hauptspeicher ist nicht nur viel schneller sondern auch viel kleiner als Hintergrundsspeicher nicht genug Platz für alle Seiten Ständiges Ein-/ und Auslagern der Seiten mit dem Ziel möglichst viele aktuelle oder in der nächsten Zukunft gebrauchte Seiten im Hauptspeicher bereit zu halten... Kemper 7.24 – 7.25

10 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization10 Abbildung von Relationen auf den Sekundarspeicher Die Tupel einer Relation (Zeilen, Rows) werden so abgespeichert, dass sie nicht über die Grenzen einer Seite hinausgehen. Jeder Tupel enthält eine Tupel-ID, jede Seite eine interne Datensatztabelle Beim Wachstum der Tupel muss reorganisiert d.h auf andere Seiten umgezogen werden... Kemper 7.26 – 7.29

11 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization11 Indexstrukturen ISAM – Index Sequential Access Method Vom Prinzip her wie ein Daumenindex eines Wörterbuchs mit Indexseiten und Datenseiten Schlechtes Verhalten bei UPDATE Operationen Hinzufügen einer weiteren Indirektion (eines weiteren Zeigers) B-Bäume

12 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization12 B-Bäume Binärbäume wurden als Suchstruktur für den Hauptspeicher konzipiert Für den Hintergrundspeicher nimmt man balancierte Mehrwegbäume, deren Knotengrößen auf die Seitenkapazitäten angepasst sind Balancierung bedeutet, dass jedes Blatt von der Wurzel gleich entfernt ist, d.h. die Suche log k (n) dauert k ist der Verzweigungsgrad n – Anzahl der Datensätze... Kemper 7.30 – 7.113

13 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization13 B + -Bäume Die Höhe des B-Baums ist direkt abhängig von der Satzgröße Je höher der Verzweigungsgrad des Baumes ist, umso flacher ist der Baum, umso effizienter ist der Zugriff B + - Baum = die Daten werden nur in den Blättern abgespeichert, der Rest des Baumes ist hohl und stellt lediglich eine sehr effiziente Road Map zum Auffinden der gewünschten Datensätze Die Reorganisation ist durch die Verwendung der Referenzschlüssel im Baum viel effizienter, da sich die Datensätze nur in Blättern verändern... Kemper

14 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization14 Präfix B + -Bäume Verbesserungsmöglichkeit: statt gesamten Schlüsseln nur Teile von Schlüsseln, d.h. Präfixe zu speichern Gut bei Nachnamen, z.B. nur erste Buchstabe statt dem gesamten Namen Schlecht bei Werten mit gleichen Präfixen wie Systemprogramm, Systemprogrammierung, Systemprogrammierer usw.... Kemper 115

15 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization15 Hashing Das Ziel: ein Datum mit einem bis zwei Datenzugriffen zu finden (Bäume log k (n) ) Hashing ist die Technik die in Compilerbau, Betriebsystemen etc. oft angewendet wird Zugriff zwischen O(1) und O(n), in der Praxis aber meistens sehr gute Ergebnisse Beschreibung: mit Hilfe einer Hashfunktion wird eine Schlüsselmenge S wird auf eine Hashtabelle B (Buckets) abgebildet h: S B wobei |S| >> |B|

16 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization16 Hashing (2) Wegen |S| >> |B| ist h nicht injektiv, d.h. es ist in der Hashtabelle nicht genug Platz für alle Schlüssel aus S Als Hashfunktion wählt man meistens das Divisonsrestverfahren (Modulo-Funktion) h(x) := x mod p p soll wegen der besseren Streuung eine Primzahl sein Es kann auftreten h(s 1 ) = h(s 2 ) = b 1 Man braucht dann eine Kollisionsroutine Statisches Hashing – Chaining der Sätze gleichem h(s) Erweiterbares Hashing – dynamisches Wachsen der Hash- Tabelle... Kemper

17 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization17 Mehrdimensionale Indexstrukturen für häufige Anfragen mit Selektionsprädikaten über mehrere gleiche Attribute, z.B. wenn sehr oft Alter und Gehalt gemeinsam abgefragt werden kann sehr schön mit algorithmischer Geometrie und Bildverarbeitung verknüpft werden... Kemper

18 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization18 Clustering Ballung von Datensätzen Oft selektierte Datensätze sollten idealerweise physikalisch auf einer Seite abgespeichert werden Die Tupeln einer Relation werden sortiert nach den Werten eines Attributs physikalisch abgelegt Problem: es wird oft über mehrere Attribute abgefragt Lösung: Zusammenspiel zwischen mehreren Indexstrukturen und Clustering Weitere Möglichkeit für Clustering: Materialisierung von Beziehung (Join Clusters) Bsp: Professoren werden verzahnt mit Vorlesungen abgespeichert (verzahnte Objektballung)... Kemper

19 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization19 Clustering und Index-Pflege Bei Verwendung mehrer Indexstrukturen auf einer Tabelle muss eine zusätzliche Indirektion pro Index eingeführt und zusätzlich gepflegt werden Die INSERTs und UPDATEs führen in der Regel zur aufwändigen Index-Reorganisationen (zusätzliche Zeiger bei Indirektion, B-Baum Änderungsoperationen wie Spalten und Zusammenfassen der Knoten) In der Praxis werden Indizies aus Effizienzgründen oft vor der Durchführung der Massen-UPDATEs und INSERTS gelöscht und danach neu erstellt. Es bestehen aber auch die Möglichkeiten der Online- Reorganisation und Aktualisierung

20 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization20 Unterstützung des Anwenderverhaltens Für unterschiedliche Arten von Abfragen und/oder Veränderungsoperationen eignen sich unterschiedliche Zugriffstechniken unterschiedlich gut Beispiel: Exact Match Query vs. Range Query --exact SELECT Name FROM Professoren WHERE PersNr = 4711; -- range SELECT Name FROM Professoren WHERE Gehalt BETWEEN AND 50000; Besser mit Hashing! Besser mit B + Baum!

21 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization21 Unterstützung des Anwenderverhaltens (2) Es gibt noch weitere Möglichkeiten, die Zugriffe bzw. Speicherung der Daten effizienter zu gestalten BITMAP und BITMAP JOIN Index nur für lesende Zugriffe wird bei Data Warehousing vorgestellt Partitionierung Tabelle wird in unterschiedliche Partionen aufgeteilt, die unterschiedlich voneinander physikalisch verwaltet werden können wird bei verteilten Datenbanken vorgestellt

22 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization22 Physische Dateiorganisation in SQL So gut wie keine Standardisierung CREATE INDEX SemesterInd ON Studenten(Semester); DROP IINDEX SemesterInd; Zu beachten sind die Eigenschaften des jeweiligen DBMS, so legt z.B. Oracle für jedes Primärschlüsselattribut automatische einen Index an

23 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization23 Physische Dateiorganisation in ORACLE (2 von ca. 60 Klauseln) CREATE TABLE { segment_attributes_clause [ data_segment_compression ] | ORGANIZATION { HEAP [ segment_attributes_clause ] [ data_segment_compression ] | INDEX [ segment_attributes_clause ] index_org_table_clause | EXTERNAL external_table_clause } | CLUSTER cluster ( column[, column ]... ) } physical attributes clause: [{ PCTFREE integer | PCTUSED integer | INITRANS integer | MAXTRANS integer | storage_clause } [ PCTFREE integer | PCTUSED integer | INITRANS integer | MAXTRANS integer | storage_clause ]... ]

24 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization24 Fazit Vorlesung #2 Bedeutung der strikten Trennung der logischen und physischen Ebene einer Datenbank und deren positive Auswirkung auf die Performance und Flexibilität der Datenbank Speichermedien (RAM, Platte, RAID, Bänder) Speicherhierarchien, Zugriffslücke, Notwendigkeit der Pufferverwaltung Zugriffstechniken: B + Bäume, Hashing, Clustering Unterstützung des Anwenderverhaltens (so gut wie keine) SQL Standards

25 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 © Bojan Milijaš, Vorlesung #2 - Physische Datenorganization25 Ausblick Vorlesung #3 Anfragebearbeitung Logische Optimierung Äquivalenzen und Rechenregeln in der relationalen Algebra Anwendung der Transformationsregeln für Optimierungszwecke Physische Optimierung Selektion, Join-Operatoren Gruppierung, Duplikateliminierung, Projektion, Vereinigung, Sortierung Kostenmodelle Tuning

26 WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #2 Ende


Herunterladen ppt "WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #2 Physische Datenorganisation."

Ähnliche Präsentationen


Google-Anzeigen