Architektur von Datenbanksystemen Vorlesung Datenbanksysteme Michael Tschuggnall, PhD Dr. Eva Zangerle

Ähnliche Dokumente
Vorlesungsinhalt. Architektur von Datenbanksystemen. G. Specht: Datenbanksysteme 8-1. Kapitel VIII

Abschluss Einblick und Ausblick

Transaktionsverwaltung

Sommersemester Vorlesung: Dr. Matthias Schubert

Transaktionsverwaltung

Transaktionen: Wiederholung und Vertiefung

Kapitel 1 Grundlagen. Skript zur Vorlesung: Datenbanksysteme II Sommersemester Vorlesung: PD Dr. Peer Kröger

Kapitel 1: Einführung

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

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

Abstraktionsschichten. Das Relationale Datenmodell

Webbasierte Informationssysteme

Modul Datenbanksysteme. (auch Teil des Moduls Informationssysteme) TU Bergakademie Freiberg

Praktische SQL-Befehle

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

Als Datenbanksystem wird ein Datenbankverwaltungssystem zusammen mit einer oder mehrerer Datenbanken bezeichnet.

Die Grundbegriffe Die Daten Die Informationen

Datenbanken Datenbanken 1 Belegnummer Belegnummer

Datenbank- Implementierungstechniken

PostgreSQL im praktischen Einsatz. Stefan Schumacher

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221

Methodik zur Optimierung in Datenbanken. Anja Rommel, 14-INM

Vorlesung ) Einführung

Wirtschaftsinformatik 7a: Datenbanken. Dozent: R. Witte

Kapitel 1: Einführung 1.1 Datenbanken?

Modul Datenbanksysteme. Prof. Dr. Heinrich Jasper TU Bergakademie Freiberg Institut für Informatik Künstliche Intelligenz und Datenbanken

6. Updates in SQL 6-1. Inhalt. 1. Update-Kommandos in SQL. 2. Transaktionen. 3. Gleichzeitige Zugriffe

BERUFSPRAKTIKUM UND -VORBEREITUNG

PRG2 Folien Zicari Teil 1 Einführung in Datenbanken SS 2007

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten

Grundlagen von Datenbanksystemen

Extreme Performance mit Oracle Times Ten

Relationales Datenbanksystem Oracle

Datenbanken 1 Datenbanken SPO 2014 SPO 2007 Belegnummer Belegnummer

Datenbanken Konsistenz und Mehrnutzerbetrieb III

View. Arbeiten mit den Sichten:

Einführung. Informationssystem als Abbild der realen Welt

7. Transaktionsverwaltung

Aufbau Datenbanksysteme

Semesterklausur Wiederholung

Eigenschaften von TAs: ACID-Prinzip

SAP R/3 Prozessübersicht

DOAG HC ApEx Workshop. OPITZ CONSULTING GmbH 2009 Seite 1

Datenbanken Implementierungstechniken SS2015

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur

Datenbanken. Prof. Dr. Bernhard Schiefer.

Vorlesung Datenbankmanagementsysteme. Vorlesung Datenbankmanagementsysteme Überblick M. Lange, S. Weise Folie #0-1

Einsatz und Realisierung von Datenbanken. Prof. Alfons Kemper Lehrstuhl für Informatik III: Datenbanksysteme

Software- /Systemarchitektur

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

Einführung in Datenbanksysteme +++ Datenbanken für Bioinformatiker

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

Einführung in Datenbanken

Semesterklausur Datenbanksysteme 1 SS 2015

Anfrageoptimierung Ausführungspläne, Hints, Statistikinformationen, IDEs

Wiederholung VU Datenmodellierung

Inhaltsverzeichnis. Inhaltsverzeichnis

Transaktionsverwaltung

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

Datenmodellierung VU Einführung SS 2015

Grundlagen der Datenbanksysteme I

Matthias Schubert. Datenbanken. Theorie, Entwurf und Programmierung relationaler Datenbanken. 2., überarbeitete Auflage. Teubner

Inhaltsverzeichnis. Inhalt. 1 Einführung in die Datenbanktechnologie

Vorwort 11. Eine neue Datenbank erstellen 79;

Kapitel 2 Transaktionsverwaltung. Skript 2009 Matthias Schubert

Garten -Daten Bank. Was ist das? Dr. Karsten Tolle PRG2 SS 2012

fbi h_da Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1

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

Relationale Datenbanken - Theorie und Praxis

Redo Logs. Informationen soweit der Logminer reicht Thomas Klughardt Senior Systems Consultant

SODA. Die Datenbank als Document Store. Rainer Willems. Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG

Datenbanken als Grundlage für Informationssysteme

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

Datenmodellierung VU Einführung SS 2016

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

Einsatz und Realisierung von Datenbanken. Prof. Alfons Kemper Lehrstuhl für Informatik III: Datenbanksysteme

Themen. Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science

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

Datenbankentwicklung

Relationale Datenbanken

Datenbanken. Ein DBS besteht aus zwei Teilen:

2. Datenbank-Programmierung

MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein

[W, T4, D, 15] [start_transaction, T3] [W, T3, C, 30] [W, T4, A, 20] [commit, T4] [W, T2, D, 25] System Crash

Datenbanken 2. Kapitel 5: Pufferverwaltung und Optimierung von Zugriffspfaden

Datenbanken II Literatur

Neo4J & Sones GraphDB. Graph-Datenbanken. Von Toni Fröschke. Problemseminar NoSQL-Datenbanken (WS 2011/12)

12. Datenschutz: Zugriffsrechte in SQL Datenschutz: Zugriffsrechte in SQL

Datenbanken. Prof. Dr. Steffen Staab. Institut für Informatik ISWeb Information Systems & Semantic Web

Klausur Datenbanken II

Datenintegrität. Daten. Dateneingabe. Datenverwendung. Datenkonsistenz? logisch. Datenschutz? juristisch. Transaktionen. Datensicherheit?

Transkript:

Architektur von Datenbanksystemen Vorlesung Datenbanksysteme Michael Tschuggnall, PhD Dr. Eva Zangerle Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS)

3 Schichten Grafik entnommen aus R. Elmasri, S. Navathe: Fundamentals of Database Systems, 7th edition, Pearson, 2015. 2

Generische technische Sicht eines DBMS Programm 1 Programm 2 Programm 3 Kommunikationssystem Anwendungen (Programme) Datenbank-Managementsystem Betriebssystem Datenbank Grafik basierend auf Gottfried Vossen: Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme, 5. Auflage, Oldenbourg, 2008. 3

5-Schichten-Architektur Ebene 1 der Benutzersprache Ebene 2 der Anfrageverarbeitung Ebene 3 der Zugriffsstrukturen und Code-Erzeugung Ebene 4 der Synchronisation paralleler Zugriffe Ebene 5 der Speicherverwaltung Grafik basierend auf Gottfried Vossen: Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme, 5. Auflage, Oldenbourg, 2008. 4

SQL, embedded SQL APPL DB-Applikationen SQL, embedded SQL,..., Benutzerprogramm function foo (a, b) {... EXEC SQL...... } 5

SQL, embedded SQL APPL DB-Applikationen SQL, embedded SQL,..., Benutzerprogramm function foo (a, b) {... EXEC SQL...... } Relationen DBV DB-Verwalter DDL mit Katalogverwaltung, DML mit Übersetzer, Optimierer, Recovery, Concurrency SQL, R1 (... ) R2 ( A, B,...) 6

SQL, embedded SQL APPL DB-Applikationen SQL, embedded SQL,..., Benutzerprogramm function foo (a, b) {... EXEC SQL...... } Relationen DBV DB-Verwalter DDL mit Katalogverwaltung, DML mit Übersetzer, Optimierer, Recovery, Concurrency SQL, R1 (... ) R2 ( A, B,...) π Relationale Algebra RAV Relationaler Algebra-Verwalter Operatorgraph, Ausführungsplan, Relationaler Algebra Interpreter σ R1 R2 7

SQL, embedded SQL APPL DB-Applikationen SQL, embedded SQL,..., Benutzerprogramm function foo (a, b) {... EXEC SQL...... } Relationen DBV DB-Verwalter DDL mit Katalogverwaltung, DML mit Übersetzer, Optimierer, Recovery, Concurrency SQL, R1 (... ) R2 ( A, B,...) π Relationale Algebra RAV Relationaler Algebra-Verwalter Operatorgraph, Ausführungsplan, Relationaler Algebra Interpreter σ Tupel RTV Relationen/Tupelverwaltung Mengen von Tupeln / Einzeltupel B*-Baum R1 R2 Zugriffstrukturen (z.b. B*-Bäume), temporäre Zwischenergebnisse, Utilities (Sortieralg.,...), Cursor für embedded SQL 8

SQL, embedded SQL APPL DB-Applikationen SQL, embedded SQL,..., Benutzerprogramm function foo (a, b) {... EXEC SQL...... } Relationen DBV DB-Verwalter DDL mit Katalogverwaltung, DML mit Übersetzer, Optimierer, Recovery, Concurrency SQL, R1 (... ) R2 ( A, B,...) π Relationale Algebra RAV Relationaler Algebra-Verwalter Operatorgraph, Ausführungsplan, Relationaler Algebra Interpreter σ Tupel RTV Relationen/Tupelverwaltung Mengen von Tupeln / Einzeltupel Zugriffstrukturen (z.b. B*-Bäume), temporäre Zwischenergebnisse, Utilities (Sortieralg.,...), Cursor für embedded SQL B*-Baum R1 R2 Segmente (Blöcke, Seiten) SV Segmentverwaltung Seiten, Seitenmengen, DB-Cache, Freispeicherverwaltung Seite 232, 24% frei, 76% belegt, Seitenadresse auf Platte, KachelNr. im HSp, Update-flag. 9

SQL, embedded SQL APPL DB-Applikationen SQL, embedded SQL,..., Benutzerprogramm function foo (a, b) {... EXEC SQL...... } Relationen DBV DB-Verwalter DDL mit Katalogverwaltung, DML mit Übersetzer, Optimierer, Recovery, Concurrency SQL, R1 (... ) R2 ( A, B,...) π Relationale Algebra RAV Relationaler Algebra-Verwalter Operatorgraph, Ausführungsplan, Relationaler Algebra Interpreter σ Tupel RTV Relationen/Tupelverwaltung Mengen von Tupeln / Einzeltupel Zugriffstrukturen (z.b. B*-Bäume), temporäre Zwischenergebnisse, Utilities (Sortieralg.,...), Cursor für embedded SQL B*-Baum R1 R2 Segmente (Blöcke, Seiten) SV Segmentverwaltung Seiten, Seitenmengen, DB-Cache, Freispeicherverwaltung Seite 232, 24% frei, 76% belegt, Seitenadresse auf Platte, KachelNr. im HSp, Update-flag. Plattenblöcke Auftrag Antwort PSV Peripherie-Speicherverwaltung - Plattenspeicherverwaltung - CD-Speicherverwaltung - Tape-Speicherverwaltung (BS-Teil, z.b. Unix-Kern) Original 10

5-Schichten-Architektur: Schnittstellen Ebene 1 der Benutzersprache Ebene 2 der Anfrageverarbeitung Mengen-Schnittstelle Ebene 3 der Zugriffsstrukturen und Code-Erzeugung Ebene 4 der Synchronisation paralleler Zugriffe Tupel-Schnittstelle Record-Schnittstelle Seiten-Schnittstelle Ebene 5 der Speicherverwaltung Grafik basierend auf Gottfried Vossen: Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme, 5. Auflage, Oldenbourg, 2008. 11

5-Schichten-Architektur: Schnittstellen Schnittstelle Objekte Operationen 1 2 Views, Relationen select, insert, delete, modify 2 3 Cursor, Tupel fetch, stores, erase, update 3 4 (Index-) Records retrieve, add, dispose, change 4 5 Seiten, Segmente read, write Tabelle basierend auf Gottfried Vossen: Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme, 5. Auflage, Oldenbourg, 2008. 12

Schnittstelle zwischen Datenbanksystem und Betriebssystem Beachten Sie: Diagramm beschreibt Abstraktionsebenen der Auftragsabwicklung (Kontrollstrukturen), nicht die Prozessstruktur RTV und untergeordnete Dienste: physische Datenorganisation Schnittstelle zwischen DBS und BS: sehr kritische Entscheidung für Leistung und Fehlerbehandlung extreme Lösungen: Alle BS-Funktionen werden für DBS-Zwecke umgangen -> spezielle DB-Maschinen RTV ist File-Schnittstelle des BS übliche Lösung: DBS-BS-Schnittstelle zwischen SV und PSV Prozessstrukturierung und -kommunikation abhängig vom BS: pipes, shared-memory, synchron, asynchron 13

Umsetzung

Hauptkomponenten Grafik übernommen J. Hellerstein, M. Stonebraker, J. Hamilton: Architecture of a Database System, Foundations and Trends in Databases 1, 2, 141-259, 2007. 15

Client-Kommunikationsmanager Software, die mit dem DBMS kommuniziert und beispielsweise SQL-Befehle absetzt Treiber, Datenbankanbindung Application Programmer s Interface (API) der Datenbank wird verwendet Embedded SQL: in Wirtssprache (z.b. C, Java) eingebettetes SQL (über Precompiler in Wirtssprache umgewandelt, umderen Datenbank-Schnittstelle zu verwenden) I/O-Verwaltung: Kommandos als Input, Resultatmengen (oder Fehlermeldungen) als Output 16

Abfrageverarbeitung Relational Query Processor Parsen der eingehenden SQL-Query, Überprüfung auf syntaktische Korrektheit Überprüfung, ob angeforderte Tabellen, Datenbanken, etc. vorhanden sind ( Catalog Manager) Überprüfung, ob DB danach auch noch in konsistentem Zustand (Consistency) durch Integrity Constraints wie z.b. Fremdschlüssel Überprüfung, ob Zugriff für den Benutzer erlaubt ist ( Admission Control) Rewrite der Abfrage (Normalisierung, Vereinfachung auf Schemaebene; keine Daten!) Optimierung der Abfrage (Optimierung der relationalen Algebra, heuristische Optimierung der Abfrageabarbeitung (z.b. Join-Optimierung, etc.)) durch Berechnung eines Query Execution Plan Ausführung des berechneten Query Execution Plan DDL wird getrennt behandelt, da Optimierung etc. nicht zutrifft 17

Transaktionsmanager Transactional Storage Manager verwaltet alle Schreib- und Leseoperationen Verwaltet Indexstrukturen, Tabellen (Access Methods) Sperren über Tabellen oder Zeilen müssen verwaltet werden (Lock-Manager), um ACID sicherstellen zu können und Transaktionen verwalten zu können (Atomicity, Isolation) Logs über ausgeführte Operationen und resultierende Daten müssen geschrieben werden (Durability), um Wiederherstellung/Recovery er Datenbank zu ermöglichen Buffermanager entscheidet, wann welche Daten zwischen Speicher und Festplatte transferiert werden 18

Prozessmanager Verteilung der Aufgaben an verschiedene Threads Beispiel: neu eintreffende Query muss einem Thread zugewiesen werden Überprüfung, ob Benutzer bzw. Prozess berechtigt ist, Operationen auszuführen Schnittstelle mit Betriebssystem ( Threads) 19

Utilities und gemeinsame Komponenten Verwaltung der Statistiken über Datenbestand und Kataloge für Query- Optimierung Index-Erzeugung und physikalische Reorganisation (Partitionieren, Datei- Verwaltung, etc. ) Möglichkeiten für Backup, Export der Daten Bulk-Loading von Daten zum Import großer Datenmengen Überwachung aller Datenbank-Prozesse und des Gesamtzustands des DBMS 20

Hauptkomponenten: diese Vorlesung Grafik übernommen J. Hellerstein, M. Stonebraker, J. Hamilton: Architecture of a Database System, Foundations and Trends in Databases 1, 2, 141-259, 2007. 21