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 J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
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 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #6 SQL (Teil 3)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #10 Physische Datenorganisation.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #7 SQL (Teil 2)
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
Vorlesung #4 SQL (Teil 1).
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 #8 SQL (Teil 3)
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 #7 SQL (Teil 4)
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #9 Anfragebearbeitung.
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 #4 Überführung des ER-Modells in das relationale Modell
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
Vorlesung #5 SQL (Teil 2).
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
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
IS: Datenbanken, © Till Hänisch 2000 Relationenalgebra Die mathematische Grundlage von relationalen Datenbanken.
IS: Datenbanken, © Till Hänisch 2000 Einführung Worüber reden wir hier eigentlich ?
Vorlesung #2 Einführung
DOAG SID Data Warehouse
Vorlesung #9 Anfragebearbeitung
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Vorlesung #7 Fehlerbehandlung
Darstellung der Relationenalgebra als Programmiersprache
Vorlesung #5 SQL (Teil 2).
Logisches Datenmodell
Vorlesung #9 Anfragebearbeitung
Vorlesung #6 SQL (Teil 3).
Vorlesung #7 SQL (Teil 4).
Abfragesprache SQL in ORACLE
Vorlesung #8 SQL (Teil 5).
Create Table, Rechte und Rollen
Funktionen, GROUP BY, HAVING Views anlegen und verwenden
Vorlesung #8 Physische Datenorganisation
Vorlesung #5 Überführung (Fortsetzung) / Normalformen
Indexierung Oracle: indexes Indexierung.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #2 Datenbankentwurf
Datenbanken Eine Einführung Kerstin Fröhlig, HHBK.
Von Wietlisbach, Lenzin und Winter
Datenbanksystem Von Anna und Robin.
Da·ten·bank /Dátenbank/ Substantiv, feminin [die]
Datenbank WI WAHB12 Carolin & Sarah.
Präsentation von Darleen und Michèle
Von Diana Braun und Daria Bures
Datenbanken Von Amed und Alicia.
Oracle Statistiken im HORIZON-Umfeld
Von Wietlisbach, Lenzin und Winter
 Präsentation transkript:

Vorlesung #10 Physische Datenorganisation

Vorlesung #10 - Physische Datenorganization „Fahrplan“ Tradionell vs. / und / oder / sowohl als auch In-Memory Trennung der logischen und der physischen Ebene einer DB Speichermedien (Platten, RAID usw.), Speicherhierarchien (Cache, Hauptspeicher, Hintergrundsspeicher usw.) Abbildung von Relationen auf den Hintergrundsspeicher / Hauptspeicher zeilenorientiert / spaltenorientiert Unterstützung eines Anwendungsverhaltens Physische Datenorganisation in SQL Fazit © Bojan Milijaš, 08.12.2016 Vorlesung #10 - Physische Datenorganization

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. © Bojan Milijaš, 08.12.2016 Vorlesung #10 - Physische Datenorganization

Tradiotenelle Datenbanken Speichern Daten zeilenweise (row based or record based) Gehen von einer Speicherhierarchie aus Arbeitspeicher Hintergrundspeicher Archivspeicher für Datenhaltung und Datenmanipulation konzipiert, nicht für analytische Anwendungen und sehr große Datenmengen (Big Data) marktbeherrschend © Bojan Milijaš, 08.12.2016 Vorlesung #10 - Physische Datenorganization

In-Memory Datenbanken Daten werden im Arbeitsspeicher und nicht auf Festplattenlaufwerken (HDDs oder SSDs) gespeichert. Ursprünglich nur für lesenede Zugriffe – IBM Cognos TM1 aus dem Jahr 1984! Sogenannte OLAP-Datenbanken. In-Memory Datenbanken haben den Datenbank-Markt „auf Kopf“ gestellt, am relationalen Kozept , SQL und Trennung zwischen den Schichten hat sich nichts verändert! Inzwischen beherrschen alle Datenbank-Hersteller In-Memory Technologien und bieten entsprechende Produkte an  hybride In-Memory Datenbanken, die sowohl zeilen- als auch spaltenbasiert Daten speichern. © Bojan Milijaš, 08.12.2016 Vorlesung #10 - Physische Datenorganization

Wiederholung: DBMS 3 -Abstraktionsebenen Externes Schema - Sicht 1 Externes Schema - Sicht 2 Externes Schema - Sicht n ... Logische Ebene Konzeptionelles Schema Physische Ebene Physische Speicherung – internes Schema © Bojan Milijaš, 08.12.2016 Vorlesung #10 - Physische Datenorganization

Vorlesung #10 - Physische Datenorganization 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 © Bojan Milijaš, 08.12.2016 Vorlesung #10 - Physische Datenorganization

DBMS – 3 Abstraktionsebenen Externes Schema - Sicht 1 Externes Schema - Sicht 2 Externes Schema - Sicht n ... Logische Ebene Konzeptionelles Schema Physische Ebene Physische Speicherung – internes Schema © Bojan Milijaš, 08.12.2016 Vorlesung #10 - Physische Datenorganization

Beispiel: logische und physische Datenunabhängigkeit Internet-Besucher Studenten CREATE VIEW ProfVorlesung AS SELECT Name, Titel FROM Professoren, Vorlesungen WHERE PersNr = gelesenVon; ProfVerlesung CREATE VIEW ProfVorlesung AS SELECT Name, Titel FROM Dozenten NATURAL JOIN lesen NATURAL JOIN Kurse; Logische Ebene Professoren Vorlesungen Dozenten lesen Kurse Physische Ebene IOT lesen CT lesen,Kurse PT lesen © Bojan Milijaš, 08.12.2016 Vorlesung #10 - Physische Datenorganization

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! © Bojan Milijaš, 08.12.2016 Vorlesung #10 - Physische Datenorganization

Speichermedien und Speicherhierarchien Es gibt eine Zugriffslücke 105 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 © Bojan Milijaš, 08.12.2016 Vorlesung #10 - Physische Datenorganization

Vorlesung #10 - Physische Datenorganization 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 © Bojan Milijaš, 08.12.2016 Vorlesung #10 - Physische Datenorganization

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 © Bojan Milijaš, 08.12.2016 Vorlesung #10 - Physische Datenorganization

Vorlesung #10 - Physische Datenorganization 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 © Bojan Milijaš, 08.12.2016 Vorlesung #10 - Physische Datenorganization

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 WHERE Gehalt BETWEEN 40000 AND 50000; Besser mit Hashing! Besser mit B+Baum! © Bojan Milijaš, 08.12.2016 Vorlesung #10 - Physische Datenorganization

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 © Bojan Milijaš, 08.12.2016 Vorlesung #10 - Physische Datenorganization

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 © Bojan Milijaš, 08.12.2016 Vorlesung #10 - Physische Datenorganization

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 ]... ] © Bojan Milijaš, 08.12.2016 Vorlesung #10 - Physische Datenorganization

Vorlesung #10 - Physische Datenorganization Fazit 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 © Bojan Milijaš, 08.12.2016 Vorlesung #10 - Physische Datenorganization

Vorlesung #10 Ende