Datenbankadministration



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

Datenbanken Konsistenz und Mehrnutzerbetrieb III

Eigenschaften von TAs: ACID-Prinzip

Transaktionen und Synchronisation konkurrierender Zugriffe

Datenintegrität und Transaktionskonzept

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

Synchronisation in Datenbanksystemen in a nutshell

Datenbanken: Transaktionskonzept und Concurrency Control

Isolationsstufen für Transaktionen. Dr. Karsten Tolle

Transaktionen in Praxis. Dr. Karsten Tolle Vorl

9 Transaktionskonzept

Software-Engineering und Datenbanken

Tag 4 Inhaltsverzeichnis

Transaktionen in der Praxis. Dr. Karsten Tolle

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung "Informa=onssysteme" Sommersemester 2015

Serialisierbarkeit von Historien: Minimalanforderung bzgl. "akzeptabler" Synchronisation

... T n T 1 T 2 T 3. Transaktions-Manager. Daten-Manager. Recovery-Manager Puffer-Manager. Datenbank

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012

Transaktionen. Concurrency Management in MS SQL Server

Datenbankadministration

Tag 4 Inhaltsverzeichnis

IBM DB2 für Unix/Linux/Windows SQL Grundlagen

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

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

Beispielszenarien. 12. Transaktionen. ACID-Eigenschaften. Transaktion

Vor- und Nachteile speicheroptimierter Tabellen

Kapitel 12 Integrität der Datenbank

7. Transaktionsverwaltung

2. Datenbank-Programmierung

Datenbankadministration

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

Koordination des Mehrbenutzerbetriebs 9. Koordination des Mehrbenutzerbetriebs

View. Arbeiten mit den Sichten:

Transaktionsverwaltung

Datenbankadministration WS 2012/13: Performance-Monitoring und -Tuning

Referenzielle Integrität SQL

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS Transaktionen & ACID. Dr. Christian Senger Transaktionen & ACID 1

Grundlagen verteilter Systeme

Prozedurale Datenbank- Anwendungsprogrammierung

1. Transaktionskonzept

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

SQL: statische Integrität

Datenbankadministration

Oracle 9i Einführung Performance Tuning

10. Updates in SQL 10-1 Teil 10: Updates in SQL. Literatur:

Datenmanagement in Android-Apps. 16. Mai 2013

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

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

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

Gliederung Datenbanksysteme

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

M117: Informatik- und Netzinfrastruktur für ein kleines Unternehmen realisieren. Modul 117. Unit 4 (V1.0) Benutzer und Berechtigungen

Konsistenzproblematik bei der Cloud-Datenspeicherung

Verteilte Systeme - 5. Übung

2 Datenbanksysteme, Datenbankanwendungen und Middleware... 45

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

Kapitel 2 Transaktionsverwaltung

PostgreSQL und memcached

Recovery- und Buffermanager

7. Datenkontrolle. Klassifikation von Integritästbedingungen Integritätsbedingungen in SQL. Zugriffskontrolle/Autorisierung in SQL 7-1

Dr. H. Schuldt. Das Ziel dieser Ubung ist die Untersuchung, wie die in der Vorlesung vorgestellten

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

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

Transaktionsmanagement - Einführung. Prof. Dr. T. Kudraß 1

Installations- und Bedienungsanleitung für Macro Excel_Table Version 10

Datenbanken (Bachelor) (SPO2007) WS 2011/12

Vorwort zur 5. Auflage Über den Autor... 16

MS SQL Server: Index Management. Stephan Arenswald 10. Juli 2008

Allgemeines zu Datenbanken

Gussnummern-Lesesystem

Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug Name: Note:

Teil I Einführung & Grundlagen. 1.1 Was ist eine Transaktion?

Themen. M. Duffner: Datenbanksysteme

Laborübung - Verwalten von virtuellem Speicher in Windows 7

Oracle: Abstrakte Datentypen:

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und combit GmbH Untere Laube Konstanz

7. Übung - Datenbanken

Views in SQL. 2 Anlegen und Verwenden von Views 2

Sichten II. Definition einer Sicht. Sichten. Drei-Ebenen-Schema-Architektur. Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank

Zugriff auf Firebird-Datenbanken mit PHP. Daniel de West DB-Campus-Treffen 15. Januar 2004

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

Physischer Datenbankentwurf: Datenspeicherung

Kapitel 8: Physischer Datenbankentwurf

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

DST EINFÜHRUNG IN MRT (V2)

Transkript:

Datenbankadministration 11. Synchronisation AG DBIS University of Kaiserslautern, Germany Karsten Schmidt kschmidt@informatik.uni-kl.de (Vorlage TU-Dresden) Wintersemester 2008/2009

Transaktion Transaktion Folge von Datenbankoperationen bildet Vorgang in der modellierten Miniwelt ab alle Zugriffe erfolgen durch Transaktionen R: Realitätsausschnitt (Miniwelt) M: Model der Miniwelt (beschrieben durch DB-Schema) A: Abbildung aller wichtigen Objekte und Beziehungen [Härder, Rahm 1999] Probleme Nebenläufigkeit Fehlersituationen (Systemfehler, Medienfehler,... )

ACID-Paradigma Atomarität (atomicity) Alles-oder-Nichts-Prinzip Konsistenz (consistency) logische Konsistenz physische Konsistenz gilt vor und nach der Transaktion Isolation (isolation) virtueller Einbenutzerbetrieb Dauerhaftigkeit (durability) Persistenz erfolgreicher Transaktionen

Anomalien & Isolationsstufen

Mehrbenutzeranomalien Lost Update mehrere Transaktionen lesen & ändern dieselbe Ressource nur letzte Änderung bleibt sichtbar Dirty Read (uncommited read) Lesen von nicht festgeschriebenen Daten nicht festgeschriebene Daten werden zurückgesetzt Nonrepeatable Read mehrfaches Lesen derselben Ressource unterschiedliche Werte bei wiederholtem Lesen Phantom bei wiederholtem Lesen erfüllen mehr Tupel die Selektionsbedingung

Verhinderung von Mehrbenutzteranomalien Isolationsstufen (isolation levels) Sperren von Daten für andere Transaktionen Zielkonflikt: Nebenläufigkeit vs. Isolation Setzen von Isolationsstufen vor Datenbankverbindung CHANGE ISOLATION TO {UR CS RS RR} während Datenbankverbindung SET CURRENT ISOLATION {UR CS RS RR RESET} für einzelne Anfragen <sql-stmt> WITH {UR CS RS RR}

Isolationsstufen Uncommited Read (UR) Sperren von Tupeln, falls andere Transaktion versucht, die zugrunde liegende Tabelle strukturell zu verändern oder zu löschen Lesen von nicht festgeschriebenen Änderungen Schreiben nur auf bereits festgeschriebene Änderungen Anomalien Dirty Read, Nonrepeatable Read, Phantom für Transaktionen auf Tabellen, auf denen nicht geschrieben wird für die Lesen unbestätigter Änderungen unkritisch ist

Isolationsstufen Cursor Stability (CS) Sperren des vom Cursor aktuell referenzierten Tupels Freigabe bei Repositionierung des Cursors (mittels FETCH) Schließen des Cursors bzw. Transaktionsende zusätzliches Sperren aller veränderter Tupel Anomalien Nonrepeatable Read, Phantom Standard-Isolationsstufe Beispiel DECLARE C1 CURSOR FOR SELECT R_NAME, R_COMMENT FROM REGION; OPEN C1; FETCH C1 INTO name, comment; CLOSE C1;

Isolationsstufen Read Stability (RS) Sperren aller gelesenen oder geänderten Tupel für gesamte Transaktion Anomalien Phantom Repeatable Read (RR) Sperren aller referenzierten Tupel für gesamte Transaktion Anomalien: keine

Sperrverwaltung

Sperren Sperren Zuordnung von Ressourcen mit Transaktion Ziel: Zugriff anderer Transaktion beschränken Sperrenvergabe bei Zugriff auf Ressource inkompatibler Zugriffsversuch Warten bis sperrende Transaktion beendet Attribute OBJECT: gesperrte Ressource DURATION: Zeitraum der Sperrenaktivität (vgl. Isolationsstufe) MODE: Art des Zugriffs für Sperrinhaber und konkurrierende Transaktionen

Sperrmodi Share (S) gültiger Objekttyp: Tabelle, Tupel Lesen Schreiben Sperrinhaber konkurrierende TA Intent Share (IS) gültiger Objekttyp: Tabellenbereich, Tabelle Lesen Schreiben Sperrinhaber konkurrierende TA Sperrinhaber: S-Sperre auf gelesene Tupel Beispiel SET CURRENT ISOLATION RS SELECT * FROM REGION WHERE R_REGIONKEY=1

Sperrmodi Exclusive (X) gültiger Objekttyp: Tabelle, Tupel, Pufferpool Lesen Schreiben Sperrinhaber konkurrierende TA ( ) konkurrierende TA: lesender Zugriff nur mit UR-Isolationsstufe Intent Exclusive (IX) gültiger Objekttyp: Tabellenbereich, Tabelle Lesen Schreiben Sperrinhaber konkurrierende TA Sperrinhaber: S-Sperre auf gelesene Tupel, X- und U-Sperre auf geschriebene Tupel Beispiel SET CURRENT ISOLATION CS UPDATE REGION SET R_NAME= NEW_NAME WHERE R_REGIONKEY=1

Sperrmodi Share with Intent Exclusive (SIX) gültiger Objekttyp: Tabelle Lesen Schreiben Sperrinhaber konkurrierende TA Sperrinhaber: X-Sperre auf geschriebene Tupel, keine Sperre auf gelesene Tupel Update (U) gültiger Objekttyp: Tabelle, Tupel Lesen Schreiben Sperrinhaber konkurrierende TA Sperrinhaber: X-Sperre auf geschriebene Tupel Beispiel SET CURRENT ISOLATION RS SELECT * FROM REGION FOR UPDATE

Sperrmodi Super Exclusive (Z) gültiger Objekttyp: Tabellenbereich, Tabelle Sperrinhaber: lesender und schreibender Zugriff, Tabelle ändern oder löschen, Index für Tabelle erstellen oder löschen, Tabellenreorganisation andere: kein Zugriff Beispiel ALTER TABLE REGION ADD COLUMN NEW_COLUMN INT Weitere Sperren Intent None (IN) Next Key Share (NS) Next Key Exclusive (NX) Next Key Weak Exclusive (NW) Weak Exclusive (W)

Sperrkompatibilitätsmatrix Compatibility of Page and Row Lock Modes Held Lock Requested Lock S U X S Yes Yes No U Yes No No X No No No Compatibility of Table and Table Space Lock Modes Held Lock Requested Lock IS IX S U SIX X IS Yes Yes Yes Yes Yes No IX Yes Yes No No No No S Yes No Yes Yes No No U Yes No Yes No No No SIX Yes No No No No No X No No No No No No

Sperrverwaltung Sperrumwandlung (lock conversion) maximal eine Sperre pro Transaktion und Ressource restriktivere Sperren ersetzen aktuelle Sperren Ausnahme: S + IX SIX Sperreneskalation (lock escalation) Problem: begrenzter Speicherbereich Anzahl der Sperren durch Datenbankkonfigurationsparameter LOCKLIST und MAXLOCKS beschränkt Überschreitung Sperren auf Tupelebene Sperren auf Tabellenebene Fehler, falls nicht ausreichend

Sperrverwaltung Verklemmung (deadlocks) Situation: 2 Transaktionen warten auf gegenseitige Sperrfreigabe Erkennung durch das Datenbanksystem (deadlock detector) Datenbankkonfigurationsparameter DLCHKTIME Zurücksetzen einer der beiden Transaktionen Sperrzeiten (lock timeout) Verhinderung von langen Wartezeiten Lösung Datenbankkonfigurationsparameter LOCKTIMEOUT Rücksetzen der anfordernden Transaktion

Sperrverwaltung Sperranforderung implizite Vergabe und Verwaltung Sperren auf Tupelebene durch DB2 bevorzugt Erzwingen von Sperren auf Tabellenebene ALTER TABLE <table-name> LOCKSIZE TABLE Explizite Sperranforderung LOCK TABLE <table-name> IN [SHARE EXCLUSIVE] MODE

Zusammenfassung Transaktionen ACID-Paradigma Mehrbenutzerbetrieb Lost Update Dirty Read Nonrepeatable Read Phantom Synchronisation Isolationslevel Sperren