Datenbank- Implementierungstechniken

Ähnliche Dokumente
Datenbank-Implementierungstechniken

Vorlesung Datenbanken. TU Dresden, SS Kai-Uwe Sattler.

Grundlagen von Datenbanken. Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking

Grundlagen von Datenbanken

Die Anweisung create table

Übung Datenbanksysteme I Transaktionen, Selektivität und XML. Thorsten Papenbrock

Ohne Datenbanken: Datenredundanz II. Software-Schichten. Ohne Datenbanken: Datenredundanz. 1. Grundlegende Konzepte. Individual-Software

Oracle 10g Einführung

Beispielszenarien. 12. Transaktionen. ACID-Eigenschaften. Transaktion

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten

Literatur und Quellen. Datenbanken. Inhalt. Inhalt. Transaktionen. Nikolaus Augsten. Wintersemester 2013/14

Grundlagen von Datenbanken SS Einführung in das Thema

Kapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Oracle 9i Einführung Performance Tuning

Aufbau Datenbanksysteme

2.5 Relationale Algebra

Datenbanken Grundlagen und Design

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join

Datenbanken I. Karczewski Datenbanken I 1. Produkt (0,*) (0,*)

Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD

Software-Engineering und Datenbanken

Teil I Architektur von DBMS

5.3 Datenänderung/-zugriff mit SQL (DML)

Transaktionsverwaltung

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

Sommersemester Vorlesung: Dr. Matthias Schubert

Webbasierte Informationssysteme

Tag 4 Inhaltsverzeichnis

Wiederholung VU Datenmodellierung

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Kapitel 3 Synchronisation

Abschluss Einblick und Ausblick

A Datendenition in SQL ( Punkte)

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur

Datenbanken (Übung 12)

Datenbanken. Zusammenfassung. Datenbanksysteme

Datenbanken Konsistenz und Mehrnutzerbetrieb III

Indexstrukturen in SQL

Datenbanksysteme. Motivation

Andreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt

Datenbanksysteme I. Lehrveranstaltungen zu Datenbanken (SS 07) DBS 2 (2+1) DBS2 IDBS2. Datenschutz und Datensicherheit. Data-Warehouse- Praktikum

Datenbanken 1. Sommersemester Übung 8

View. Arbeiten mit den Sichten:

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Datenbankadministration

Datenbankentwicklung

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL

1 Referentielle Aktionen

9. Einführung in Datenbanken

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Datenbanken: Datenintegrität.

9. Transaktionsverwaltung 9.3. Fehlerbehandlung Seite 1

Datenmodellierung VU Einführung SS 2016

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

Universität Augsburg, Institut für Informatik Wintersemester 2008/2009 Prof. Dr. W. Kießling 03. Februar Semesterklausur

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Transaktionen Recovery Isolationslevel. Datenbanksysteme. Transaktionen. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen

Kommunikation und Datenhaltung

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt

Kapitel 10: Relationale Anfragebearbeitung

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Kapitel 1: Wiederholungsfragen Grundlagen DBS

Kapitel 3: Relationale Algebra

P.A. Bernstein, V. Hadzilacos, N. Goodman

Datenbanken: Ablaufpläne und Serialisierbarkeit

Die Grundbegriffe Die Daten Die Informationen

Anfrageoptimierung Logische Optimierung

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Testklausur 1 Übungsaufgaben aus alten Datenbanken 1 Klausuren zum Data Science-Synchronisationsmodul Datenbanken WS 2016/17

Inhalt. Unland, Rainer Datenbanken im Einsatz digitalisiert durch: IDS Basel Bern

Relationale Datenbanken

1. Einführung: 1.3 Aufbau und Architektur von DBMS

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

Informatik II Datenorganisation Datenbanken

Einteilung von Datenbanken

7. Datenbankdefinitionssprachen

Kommunikation und Datenhaltung

Entwicklung der Datenbanksysteme

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

Tag 4 Inhaltsverzeichnis

Datenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig)

Transkript:

Vorlesung Datenbank- Implementierungstechniken Universität Magdeburg, WS 02/03 Kai-Uwe Sattler kus@iti.cs.uni-magdeburg.de VL Datenbank-Implementierungstechniken 0 1 Überblick 1. Aufgaben und Prinzipien von Datenbanksystemen 2. Architektur von Datenbanksystemen 3. Verwaltung des Hintergrundspeichers 4. Dateiorganisation und Zugriffsstrukturen 5. Zugriffsstrukturen für spezielle Anwendungen 6. Basisalgorithmen für Datenbankoperationen 7. Optimierung von Anfragen 8. Transaktionsmodelle und -verwaltung 9. Wiederherstellung und Datensicherheit 10. Neuere Entwicklungen und Ausblick VL Datenbank-Implementierungstechniken 0 1 Nötiges Vorwissen Datenbanken I: Grundprinzipien Datenbanksysteme Tabellen, Attribute, Schlüssel Relationale Algebra und SQL Wird am Anfang der Vorlesung kurz wiederholt! VL Datenbank-Implementierungstechniken 0 2

Literatur Saake, G.; Heuer, A.: Datenbanken Implementierungskonzepte. mitp-verlag, Mai 1999 Härder, T.; Rahm, E.: Datenbanksysteme Konzepte und Techniken der Implementierung. Springer-Verlag, 1999 Garcia-Molina, H.; Ullman, J.; Widom, J.: Database System Implementation. Addison-Wesley, 1999. Silberschatz, A.; Korth, H. F.; Sudarshan, S.: Database System Concepts. Wiley & Sons, 2001. VL Datenbank-Implementierungstechniken 0 3 1. Aufgaben und Prinzipien von DBS Wiederholung Datenbankgrundbegriffe Überblick über behandelte Komponenten VL Datenbank-Implementierungstechniken 1 1 Datenbankgrundbegriffe: Komponenten Externe Ebene Konzeptuelle Ebene Interne Ebene Anfragen Updates Optimierer Auswertung Plattenzugriff P1... DB-Operationen Einbettung Data Dictionary Pn Masken Sichtdefinition Dateiorganisation Datendefinition VL Datenbank-Implementierungstechniken 1 2

Klassifikation von Komponenten Benutzerkomponenten Programmierkomponenten Transformationskomponenten Data Dictionary Definitionskomponenten VL Datenbank-Implementierungstechniken 1 3 Neun Funktionen nach Codd 1. Integration 2. Operationen 3. Katalog 4. Benutzersichten 5. Konsistenzüberwachung 6. Datenschutz 7. Transaktionen 8. Synchronisation 9. Datensicherung VL Datenbank-Implementierungstechniken 1 4 Datenmodelle und Datendefinition Wichtigste Modelle in kommerziellen Systemen das hierarchische Datenmodell: Daten in Baumform als hierarchisch strukturierte Datensätze, das Netzwerkmodell: Unterstützung von Netzwerken von verzeigerten Datensätzen, das relationale Datenbankmodell: Daten in Tabellenform, das objektorientierte Datenmodell: modelliert Daten objektorientiert durch in Klassen organisierte, verzeigerte Objekte, das semistrukturierte Datenmodell: Verwaltung schemaloser, selbstbeschreibender Daten in Graphstrukturen (XML). VL Datenbank-Implementierungstechniken 1 5

Relationale Datenbanken Ausleih InventarNr Name 4711 Meyer 1201 Schulz 0007 Müller 4712 Meyer Buch InventarNr Titel ISBN AUTOR 0007 Dr. No 3-125 James Bond 1201 Objektbanken 3-111 Heuer 4711 Datenbanken 3-765 Vossen 4712 Datenbanken 3-891 Ullman 4717 Pascal 3-999 Wirth VL Datenbank-Implementierungstechniken 1 6 SQL-DDL create table Buch ( ISBN char(10), Titel varchar(200), Verlagsname varchar(30), primary key (ISBN), foreign key (Verlagsname) references Verlage (Verlagsname) ) VL Datenbank-Implementierungstechniken 1 7 Anfragen Grundlagen Relationenalgebra sowie Tupel- oder Bereichskalkül. VL Datenbank-Implementierungstechniken 1 8

Relationenalgebra σ Name= Meyer (r(ausleih)) π Titel (r(buch)) π InventarNr,Titel (r(buch)) σ Name= Meyer (r(ausleih)) VL Datenbank-Implementierungstechniken 1 9 Änderungskomponente Änderungskomponente eines Datenbanksystems ermöglicht es, Tupel einzugeben, Tupel zu löschen und Tupel zu ändern. VL Datenbank-Implementierungstechniken 1 10 Sprachen und Sichten: SQL select Buch.InventarNr, Titel, Name from Buch, Ausleih where Name = Meyer and Buch.InventarNr = Ausleih.InventarNr update Angestellte set Gehalt = Gehalt + 1000 where Gehalt < 5000 insert into Buch values (4867, Wissensbanken, 3-876, Karajan ) insert into Kunde ( select LName, LAdr, 0 from Lieferant ) VL Datenbank-Implementierungstechniken 1 11

Spracheinbettung exec sql declare AktBuch cursor for select ISBN, Titel, Verlagsname from Buch for update of ISBN, Titel; exec sql commit work; exec sql rollback work; VL Datenbank-Implementierungstechniken 1 12 Sichten in SQL create view Meyers as select Buch.InventarNr, Titel, Name from Buch, Ausleih where Name = Meyer and Buch.InventarNr = Ausleih.InventarNr VL Datenbank-Implementierungstechniken 1 13 Überblick über behandelte Komponenten Optimierer Dateiorganisationen und Zugriffspfade Organisation des Sekundärspeichers Transaktionsverwaltung Recovery-Komponente VL Datenbank-Implementierungstechniken 1 14

Optimierer Äquivalenz von Algebra-Termen 1. σ A=Konst ( REL1 REL2 ) und A aus REL1 2. σ A=Konst (REL1) REL2 allgemeine Strategie: Selektionen möglichst früh, da sie Tupelanzahlen in Relationen verkleinern Beispiel: REL1 100 Tupel, REL2 50 Tupel intern: Tupel sequentiell abgelegt 1. 5000 ( ) + 5000 (σ) = 10000 Operationen 2. 100 (σ) + 10 50 ( ) = 600 Operationen falls 10 Tupel in REL1 die Bedingung A = Konst erfüllen VL Datenbank-Implementierungstechniken 1 15 Joins Merge-Join: Verbund durch Mischen von R 1 und R 2 insbesondere dann effizient, wenn eine oder beide Relation(en) sortiert nach den Verbund-Attributen vorliegen, d.h. für Verbund-Attribute X muss gelten: X := R 1 R 2 r 1 und r 2 werden nach X sortiert Mischen von r 1 und r 2, d.h., beide Relationen parallel sequentiell durchlaufen und passende Paare in das Ergebnis aufnehmen Nested-Loops-Join: doppelt Schleife über R 1 und R 2 liegt bei einer der beiden Relationen ein Zugriffspfad für X vor, dann innere Schleife durch Zugriff über diesen Zugriffspfad ersetzen VL Datenbank-Implementierungstechniken 1 16 Komplexität der Operationen Selektion hash-basierte Zugriffsstruktur: O(1) sequentieller Durchlauf: O(n) in der Regel (baumbasierte Zugriffspfade): O(log n) Verbund sortiert vorliegende Tabellen: O(n + m) (Merge Join) sonst: bis zu O(n m) (Nested Loops Join) Projektion vorliegender Zugriffspfad oder Projektion auf Schlüssel: O(n) Duplikateliminierung durch Sortieren: O(n log n) VL Datenbank-Implementierungstechniken 1 17

Optimierungsarten Logische Optimierung: nutzt nur algebraische Eigenschaften der Operationen keine Informationen über die Speicherungsstrukturen und Zugriffspfade Verwendung heuristischer Regeln anstelle exakter Optimierung Beispiele: Entfernung redundanter Operationen Verschieben von Operationen derart, daß Selektionen möglichst früh ausgeführt werden algebraische Optimierung VL Datenbank-Implementierungstechniken 1 18 Optimierungsarten II Interne Optimierung: Nutzung von Informationen über die vorhandenen Speicherungsstrukturen Auswahl der Implementierungsstrategie einzelner Operationen (Merge Join vs. Nested-Loops-Join) Beispiele: Verbundreihenfolge anhand der Größe und Unterstützung der Relationen durch Zugriffspfade Reihenfolge von Selektionen nach der Selektivität von Attributen und dem Vorhandensein von Zugriffspfaden VL Datenbank-Implementierungstechniken 1 19 Algebraische Optimierung Entfernen redundanter Operationen (r r = r) r(buchlangeweg) = r(buch) π ISBN,Datum (... σ Datum< 31.12.1990 (r(ausleihe))) Anfrage an Sicht: π Titel (r(buch) r(buchlangeweg)) Einsetzen der Sichtdefinition: π Titel (r(buch) r(bücher) π... (...)) VL Datenbank-Implementierungstechniken 1 20

Algebraische Optimierung II Verschieben von Selektionen σ Autor= Vossen (r(buch) π ISBN,Datum (...)) Verbund auf kleineren Zwischenergebnissen: (σ Autor= Vossen (r(buch))) π ISBN,Datum (...) Selektion und Verbund kommutieren VL Datenbank-Implementierungstechniken 1 21 Algebraische Optimierung III Reihenfolge von Verbunden (r(verlag) r(ausleihe)) r(buch) Nachteil: erster Verbund entartet zum kartesischen Produkt, da keine gemeinsamen Attribute r(verlag) (r(ausleihe) r(buch)) assoziativ und kommutativ VL Datenbank-Implementierungstechniken 1 22 Dateiorganisation und Zugriffspfade Konzeptionelle Ebene Interne Ebene Platte Relationen Dateien (Files) Tupel Sätze (Records) Blöcke Attributwerte Felder VL Datenbank-Implementierungstechniken 1 23

Zugriffspfade Primär- versus Sekundär-Index sequentielle Dateien, B-Bäume, Hashen eindimensional versus mehrdimensional spezielle Anwendungen VL Datenbank-Implementierungstechniken 1 24 Transaktionen und Recovery Atomicity (Atomarität oder Ununterbrechbarkeit) Transaktion wird ganz oder gar nicht ausgeführt Consistency (Konsistenz oder Integritätserhaltung) der von einer Transaktion hinterlassene neue Zustand genügt den Integritätsbedingungen Isolation Ergebnis einer Transaktion muß einem isolierten Ablauf dieser Transaktion entsprechen, auch bei mehreren nebenläufigen Transaktionen Durability (Dauerhaftigkeit oder Persistenz) nach Ende einer Transaktion stehen Ergebnisse dauerhaft in der Datenbank VL Datenbank-Implementierungstechniken 1 25 Transaktionen II Das Ergebnis einer Transaktion soll so aussehen, als sei sie nach dem ACID-Prinzip abgelaufen. VL Datenbank-Implementierungstechniken 1 26

Datenelemente und Sperren Sperrmodelle: T 1 : lock A; read A; A := A + 1; write A; unlock A; Deadlocks: T 1 : lock A; T 2 : lock B;...;...; lock B; lock A;...;...; unlock A; unlock B; unlock B; unlock A; VL Datenbank-Implementierungstechniken 1 27 Serielle Schedules T 1 : read A; T 2 : read B; A := A 10; B := B 20; write A; write B; read B; read C; B := B + 10; C := C + 20; write B; write C; T 1 ; T 2 und T 2 ; T 1 sind seriell VL Datenbank-Implementierungstechniken 1 28 Begriff der Serialisierbarkeit Ein Schedule heißt serialisierbar, wenn sein Ergebnis äquivalent zu dem eines seriellen Schedules ist. Methoden: Serialisierbarkeitsgraphen Zwei-Phasen-Sperr-Protokoll Zeitmarkenverfahren VL Datenbank-Implementierungstechniken 1 29

Unterschiedliche Ablaufpläne Schedule S 1 Schedule S 2 Schedule S 3 T 1 T 2 T 1 T 2 T 1 T 2 read A read A read A A 10 read B A 10 write A A 10 read B read B B 20 write A B + 10 write A B 20 write B write B read B read B read B write B B 20 read C B + 10 write B B + 10 read C read C C + 20 write B C + 20 write B C + 20 write C write C write C VL Datenbank-Implementierungstechniken 1 30 Kaskadierende Transaktionsabbrüche abort T 1 T 1 T 2 lock A read A A := A 1 write A lock B unlock A lock A read A A := A 2 read B write A unlock A commit T 2 B := B/A VL Datenbank-Implementierungstechniken 1 31 Recovery stabiler vs. instabiler Speicher Log-Buch / Journal Backward Recovery: Änderungen rückgängig machen UNDO. Forward Recovery: Änderungen nachziehen REDO. Schattenspeicher VL Datenbank-Implementierungstechniken 1 32