WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #10 Physische Datenorganisation.

Slides:



Advertisements
Ähnliche Präsentationen
Datenbanken Einführung.
Advertisements

Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Access 2000 Datenbanken.
Datenintegrität Referentielle Integrität create table
Einführung Dateisystem <-> Datenbanksystem
SS 2013 – IBB4B Datenmanagement Fr 17:00 – 18:30 R Vorlesung #5 Relationale Entwurfstheorie.
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
SS 2011 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #5 Relationale Entwurfstheorie.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #6 SQL (Teil 3)
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
Vorlesung #1 Einführung
SS 2010 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #2 Datenbankentwurf.
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #7 SQL (Teil 2)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #3 Relationale Anfragesprachen.
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
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.
Vorlesung #4 SQL (Teil 1).
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #2 Das relationale Modell.
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #8 Anfragebearbeitung.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #3 ER Modellierung.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #8 SQL (Teil 3)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen.
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #2 Das relationale Modell (Teil 1)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #2 Das relationale Modell (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
WS 2013/14 Datenbanksysteme Fr 17:00 – 18:30 R Vorlesung #3 Das relationale Modell (Teil 2)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #9 Anfragebearbeitung.
Vorlesung #1 Einführung
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung (Teil 1)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #5 SQL (Teil 2)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #7 SQL (Teil 4)
Vorlesung #1 Einführung
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #2 Das relationale Modell (Teil 1)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Vorlesung Datenbanksysteme vom Physische Datenorganisation
Datenbanksysteme für hörer anderer Fachrichtungen
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
Vorlesung #10 Physische Datenorganisation
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung.
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 28 Version 1.0a Elementare Datenstrukturen –Tables Ansammlung von rows Jede row enthält eine oder mehrere column(s)
Vorlesung #2 Physische Datenorganisation
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #3 Anfragebearbeitung (Teil 1)
Vorlesung #5 SQL (Teil 2).
Vorlesung #2 Das relationale Modell (Teil 1)
Einführung Dateisystem <-> Datenbanksystem
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #10 RDBMS Erweiterungen.
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #1 Einführung.
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Datenbanken abfragen mit SQL
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Vorlesung #10 Physische Datenorganisation
Vorlesung #7 SQL (Teil 4).
Vorlesung #8 Physische Datenorganisation
Indexierung Oracle: indexes Indexierung.
Vorlesung #2 Datenbankentwurf
 Präsentation transkript:

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #10 Physische Datenorganisation

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #10 - Physische Datenorganization2 Fahrplan -- nicht länger als 60 Minuten -- 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 Unterstützung eines Anwendungsverhaltens Physische Datenorganisation in SQL Fazit und Ausblick Vorlesung #11

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #10 - 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.

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #10 - 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

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #10 - Physische Datenorganization5 3 Abstraktionsebenen Ebene 1 (externe): Sichten – Datenbank VIEWs Ebene 2 (konzeptionelle) : Relationen– Datenbank Tabellen mit ihren logischen Attributen Ebene 3 (interne): Datenstrukturen bzw. Speicherstrukturen – Datenbank Tabellen mit ihren physischen Attributen

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #10 - Physische Datenorganization6 DBMS – 3 Abstraktionsebenen... Externes Schema - Sicht 1 Externes Schema - Sicht 2 Externes Schema - Sicht n Konzeptionelles Schema Physische Speicherung – internes Schema Physische Ebene Logische Ebene

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #10 - Physische Datenorganization7 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 Physische Ebene Logische Ebene

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #10 - Physische Datenorganization8 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!

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #10 - Physische Datenorganization9 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

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #10 - Physische Datenorganization10 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

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #10 - Physische Datenorganization11 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

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #10 - Physische Datenorganization12 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

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #10 - Physische Datenorganization13 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!

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #10 - Physische Datenorganization14 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

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #10 - Physische Datenorganization15 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

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #10 - Physische Datenorganization16 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 ]... ]

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #10 - Physische Datenorganization17 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 Ideen für die Unterstützung des Anwenderverhaltens (so gut wie keine) SQL Standards

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #10 - Physische Datenorganization18 Ausblick Vorlesung #12 Transaktionsmodell ACID Paradigma Mehrbenutzersynchronisation

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #10 Ende