Datenbanken: Ablaufpläne und Serialisierbarkeit

Größe: px
Ab Seite anzeigen:

Download "Datenbanken: Ablaufpläne und Serialisierbarkeit"

Transkript

1 Theoretische Konzepte zur Abarbeitung parallel arbeitender Transaktionen Definition: (Ablaufplan, Schedule) Ein Ablaufplan S ist die verschränkte Anordnung bzw. Ausführung der Einzeloperationen einer Menge gegebener Transaktionen mit folgenden Einschränkungen: - Alle Operationen jeder beteiligten Transaktion sind genau einmal enthalten; - Die relative Reihenfolge der Einzeloperationen jeder Transaktion wird beibehalten. Definition: (vollständiger Schedule) Ein Ablaufplan S heißt vollständig, falls jede beteiligte Transaktion T nach der letzten Operation entweder ein commit (c) oder ein rollback oder abort (a) enthält. 1 T1 := r1(x); w1(x); T2 := r2(x); r2(y); w2(y); Ein Ablaufplan S: S : r1(x); r2(x); w1(x); r2(y); w2(y); Ein vollständiger Ablaufplan S: S : r1(x); r2(x); w1(x); c1; r2(y); w2(y); c2; 2

2 Definition: (serieller Schedule) Seien T1,, Tn Transaktionen, dann ist ein serieller Schedule ein vollständiger Schedule, der aus der Hintereinanderausführung der Transaktionen besteht: S: Tς(1),, Tς(n); wobei ς eine Permutation von { 1,, n } bezeichnet. also T1 := r1(x); w1(x); T2 := r2(x); r2(y); w2(y); S: r2(x); r2(y); w2(y); c2; r1(x); w1(x); c1; S: T2;T1 Definition: (serialisierbarer Schedule) Ein Schedule S heißt serialisierbar S ist äquivalent zu einem seriellen Schedule S! Wann sind zwei Schedules äquivalent? 3 Hier: äquivalent im Sinne von konflikt-äquivalent! Dazu: Definition: (Konflikt) Zwei Operationen p, q in einem Schedule S stehen in Konflikt <=> i) sie gehören zu verschiedenen Transaktionen ii) sie greifen auf das gleiche Datenobjekt x zu iii)p, q { r, w } und mindestens eine Operation ist eine write-operation Definition: (Konfliktrelation bzw. Konfliktmenge) conf(s) := { (p, q) p, q stehen im Konflikt und p kommt in S vor q } - { (p, q) p T oder q T und T abgebrochen } heißt Konfliktmenge bzw. Konfliktrelation des Schedule S 4

3 Beispiel1: S = r1(x); w1(x); c1; r2(x); r2(y); w2(x); r3(y); w2(y); w3(y); c2; conf(s) = { (r1(x), w2(x)), (w1(x), r2(x)), (w1(x), w2(x)), (r2(y), w3(y)), (r3(y), w2(y)), (w2(y), w3(y)) } Beispiel2: S = r1(x); w1(x); c1; r2(x); r2(y); w2(x); r3(y); w2(y); w3(y); a3; c2; conf(s) = { (r1(x), w2(x)), (w1(x), r2(x)), (w1(x), w2(x)) } 5 Definition: (konfliktäquivalent) Zwei Schedules S und S heißen konfliktäquivalent (im Zeichen: S c S ) i) S und S enthalten die gleichen Operationen inklusive c und a ii) conf(s) = conf(s ) S1 = r1(x); r2(x); w1(x); c1; r2(y); w2(y); w2(x); c2; S2 = r2(x); r1(x); r2(y); w1(x); c1; w2(y); w2(x); c2; S1 und S2 sind konfliktäquivalent, denn: S1 und S2 enthalten die gleichen Operationen und conf(s1) = conf(s2) = { (r1(x), w2(x)), (r2(x), w1(x)), (w1(x), w2(x)) } 6

4 Definition: (Konfliktserialisierbarkeit) Ein Schedule S heißt konfliktserialisierbar S ist konfliktäquivalent zu einem seriellen Schedule S. Ziel eines Transaktionsmanagers ist also, konfliktserialisierbare Ablaufpläne zu erstellen, soweit das möglich ist. Damit wäre das Isolation-Problem gelöst, denn das Ergebnis eines konfliktserialisierbaren Schedules ist dasselbe wie das eines seriellen Schedules, dessen Transaktionen alle hintereinander ausgeführt werden, so dass keine der klassischen Probleme auftreten können Wie kann überprüft werden, ob ein Schedule konfliktserialisierbar ist??? 7 Überprüfung auf Konfliktserialisierbarkeit mittels Konfliktgraphen: Definition: (Konfliktgraph) Sei S ein Ablaufplan. Der Konfliktgraph G(S) zu S ist wie folgt definiert: Die Knoten von G(S) sind die Transaktionen in S Zwischen 2 Knoten T i und T j wird eine gerichtete Kante T i -> T j gezogen genau dann, wenn es p T i und q T j gibt mit (p, q) conf(s) Gegeben sei der folgende Schedule: conf(s) ={ (r3(x), w1(x)), (r3(x), w2(x)), (r2(y), w1(y)), (r1(x), w2(x)), (r1(x), w3(x)), (w1(x), r2(x)), (w1(x), w2(x)), (w1(x), w3(x)), (r2(x), w3(x)), (w2(x), w3(x)) } 8

5 also: conf(s) ={ (r3(x), w1(x)), (r3(x), w2(x)), (r2(y), w1(y)), (r1(x), w2(x)), (r1(x), w3(x)), (w1(x), r2(x)), (w1(x), w2(x)), (w1(x), w3(x)), (r2(x), w3(x)), (w2(x), w3(x)) } Zugehöriger Konfliktgraph: T1 T2 T3 9 Noch einmal: conf(s) ={ (r3(x), w1(x)), (r3(x), w2(x)), (r2(y), w1(y)), (r1(x), w2(x)), (r1(x), w3(x)), (w1(x), r2(x)), (w1(x), w2(x)), (w1(x), w3(x)), (r2(x), w3(x)), (w2(x), w3(x)) } Zugehöriger Konfliktgraph (vereinfacht): T1 T2 T3 10

6 Zusammenhang zwischen Konfliktgraph und Serialisierbarkeit: Satz: a) Ist S serieller Schedule, dann enthält der zugehörige Konfliktgraph G(S) keinen Zykel! b) Zu jedem zykelfreien Konfliktgraphen G(S) kann ein serieller Schedule S konstruiert werden, s.d. S c S (hierzu existieren effiziente Algorithmen) c) Enthält ein Konfliktgraph Zyklen, ist der zugehörige Schedule nicht konfliktserialisierbar! Zur Überprüfung eines Schedules auf Konfliktserialisierbarkeit ist also die Aussage c) des Satzes sehr nützlich! 11 Noch einmal das Zugehöriger Konfliktgraph: T1 T2 T3 Der Konfliktgraph enthält Zykel, d.h. der Schedule S ist nicht konfliktserialisierbar!! 12

7 Anmerkung: Die Konflikte, die einen Zykel verursachen, müssen sich nicht auf das gleiche Datenelement (x oder y oder z) beziehen, d.h. an einem Zykel können mehrere Datenelemente beteiligt sein!! Den Zusammenhang zwischen Konfliktserialisierbarkeit und Sperren bzw. Sperrprotokollen liefert der folgende Satz: Satz: Das 2-Phasen-Sperrprotokoll ist eine hinreichende Bedingung für Konfliktserialisierbarkeit! Folgerungen: 1) Ein Ablaufplan S, der dem 2-Phasen-Sperrprotokoll genügt, ist konfliktserialisierbar! 2) Es kann auch Ablaufpläne geben, die nicht dem 2-Phasen-Sperrprotokoll genügen, und trotzdem konfliktserialisierbar sind! 13 Fazit: Es ist möglich, Schedules zu erstellen, die die Isolation-Bedingung der ACID-Bedingungen erfüllen, ohne Sperren anzuwenden (das sind die konfliktserialisierbaren Schedules!). Die Überprüfung, ob ein gegebener Schedule die Isolation-Bedingung erfüllt, d.h. konfliktserialisierbar ist, erfolgt über den Konfliktgraphen zu diesem Schedule: Enthält der Graph keine Zykel, ist die Isolation-Bedingung erfüllt! Der Zusammenhang zwischen Sperren und Serialisierbarkeit ist: Erfüllt S das 2-Phasen-Sperrprotokoll, dann ist S serialisierbar 14

8. Transaktionsverarbeitung. Architektur von Datenbanksystemen I

8. Transaktionsverarbeitung. Architektur von Datenbanksystemen I 8. Transaktionsverarbeitung Architektur von Datenbanksystemen I Einordnung ARCHITEKTUR VON DATENBANKSYSTEMEM I - Key/Value Store - Row Store - Column Store - Data Compression - Transaction Processing -

Mehr

6. Serialisierbarkeit 1

6. Serialisierbarkeit 1 6. Serialisierbarkeit 1 Nothing is as practical as a good theory Albert Einstein Anomalien im Mehrbenutzerbetrieb Synchronisation von Transaktionen - Ablaufpläne, Modellannahmen - Korrektheitskriterium:

Mehr

Datenbanken und Informationssysteme

Datenbanken und Informationssysteme Datenbanken und Informationssysteme Serialisierbarkeit Burkhardt Renz Fachbereich MNI TH Mittelhessen Wintersemester 2015/16 Übersicht Serialisierbarkeit 2-Phasen-Sperrprotokoll (2PL) Verklemmungen Modell

Mehr

Datenbanken: Transaktionskonzept und Concurrency Control

Datenbanken: Transaktionskonzept und Concurrency Control Wesentlich für das Arbeiten mit Datenbanken sind konsistente Datenbestände! Folgerung: es muss sichergestellt werden, dass Datenmanipulationen von Benutzern immer in einem erneut konsistenten Zustand der

Mehr

Software-Engineering und Datenbanken

Software-Engineering und Datenbanken Software-Engineering und Datenbanken Transaktionskonzepte 1 Der Transaktionsbegriff Eine Transaktion ist eine Folge von Operationen, die die Datenbank von einem konsistenten Zustand in einen neuen überführen.

Mehr

Konflikte. Konflikt-Äquivalenz von Read/Write-Plänen, Konflikt-Serialisierbarkeit

Konflikte. Konflikt-Äquivalenz von Read/Write-Plänen, Konflikt-Serialisierbarkeit Konflikte Zwei Transaktionen liegen im Konflikt, wenn sie ein Objekt o gemeinsam nutzen, wobei mindestens eine der Transaktionen in o schreibt. Für eine Menge von Transaktionen T kann man nun alle Konflikte

Mehr

7. Transaktionsmodelle. Transaktionen im Mehrbenutzerbetrieb

7. Transaktionsmodelle. Transaktionen im Mehrbenutzerbetrieb 7. Transaktionsmodelle Transaktionseigenschaften Probleme im Mehrbenutzerbetrieb Serialisierbarkeit Transaktionsabbruch und Fehlersicherheit Ausnutzung semantischer Informationen Erweiterte Transaktionsmodelle

Mehr

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

Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung Prof. Dr. Manfred Gruber FH München Transaktions-Konzept (1) Beispiel: op 1 BOT op 2 read(k 1

Mehr

Scheduler. vereinfachende Annahmen: alle Transaktionen werden wirksam nur Konflikt-Serialisierbarkeit keine Versionen

Scheduler. vereinfachende Annahmen: alle Transaktionen werden wirksam nur Konflikt-Serialisierbarkeit keine Versionen Scheduler Der Scheduler des Informationssystems hat zunächst die Aufgabe, die Anweisungen von parallel auszuführenden Transaktionen in einer geeigneten Reihenfolge anzuordnen. Darüber hinaus muß er auch

Mehr

Inhaltsverzeichnis. Inhaltsverzeichnis

Inhaltsverzeichnis. Inhaltsverzeichnis Inhaltsverzeichnis Das Script für die Lehrveranstaltung Datenmanagement wurde im Wintersemester 2007/2008 komplett überarbeitet und neu strukturiert. Wir bitten darum, eventuelle Fehler im Script an Milan

Mehr

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

Übung Datenbanksysteme I Transaktionen, Selektivität und XML. Thorsten Papenbrock Übung Datenbanksysteme I Transaktionen, Selektivität und XML Thorsten Papenbrock Übersicht: Übungsthemen 2 Transaktionen Selektivität XML Thorsten Papenbrock Übung Datenbanksysteme I JDBC Transaktionen:

Mehr

Datenbanksysteme I Transaktionsmanagement. 20.6.2011 Felix Naumann

Datenbanksysteme I Transaktionsmanagement. 20.6.2011 Felix Naumann Datenbanksysteme I Transaktionsmanagement 20.6.2011 Felix Naumann Motivation - Transaktionsmanagement 2 Annahmen bisher Isolation Nur ein Nutzer greift auf die Datenbank zu Lesend Schreibend In Wahrheit:

Mehr

Transaktionskonzept Eine Transaktion ist eine Folge von Operationen mit folgenden ACID Eigenschaften: Atomicity: Es werden alle Operationen oder gar k

Transaktionskonzept Eine Transaktion ist eine Folge von Operationen mit folgenden ACID Eigenschaften: Atomicity: Es werden alle Operationen oder gar k Transaktionsverwaltung 1. Schnellkurs: Serialisierbarkeit, Isolationslevel, Synchronisationsverfahren, Savepoints, Logging, Implementierungsaspekte! Harder, Rahm Buch 2. Erweiterte Transaktionskonzepte!

Mehr

Synchronisation in Datenbanksystemen in a nutshell

Synchronisation in Datenbanksystemen in a nutshell Synchronisation in Datenbanksystemen in a nutshell 1. Modell für nebenläufige Transaktionen und Korrektheitskriterium Transaktionsmodell: Folgen von Lese und Schreiboperationen abgeschlossen durch c=commit.

Mehr

Mehrbenutzersynchronisation

Mehrbenutzersynchronisation Kapitel 10 Mehrbenutzersynchronisation 381 / 520 Mehrbenutzersynchronisation Alle TAs strikt seriell (also nacheinander) auszuführen ist sicher, aber langsam Oft werden Systemressourcen nicht voll ausgenutzt,

Mehr

Transaktionen und Synchronisation konkurrierender Zugriffe

Transaktionen und Synchronisation konkurrierender Zugriffe Transaktionen und Synchronisation konkurrierender Zugriffe Fragestellungen Aufgaben des Transaktionsmanagers Aktivieren von Transaktionen entsprechend den Anforderungen von Anwendungsprogrammen. Dabei

Mehr

Kapitel 3 Teil 1 Synchronisation / Korrektheit

Kapitel 3 Teil 1 Synchronisation / Korrektheit Kapitel 3 Teil 1 Synchronisation / Korrektheit Inhalt: Transaktionsbegriff (Wdh.), Historien und Schedules, Korrektheit, Serialisierbarkeitsklassen Korrektheit und Konsistenz Gefährdung der DB-Konsistenz

Mehr

Übungen zur Vorlesung. Datenbanken I

Übungen zur Vorlesung. Datenbanken I Prof. Dr. S. Böttcher Adelhard Türling Übungen zur Vorlesung Datenbanken I WS 2002/2003 Blatt 6 Aufgabe 1: In der Vorlesung haben Sie für die Einbringstrategie Update in Place die Vorgehensweisen steal,

Mehr

3.1 Schedules und Histories

3.1 Schedules und Histories 3 Concurrency Control: Korrektheit Wir betrachten zunächst nur das Seitenmodell (read/write)! 3.1 Schedules und Histories Bislang: Transaktionen = (partiell) geordnete Folgen von (Daten-) Operationen...

Mehr

Kapitel 3 Teil 2 Synchronisation - Algorithmen I

Kapitel 3 Teil 2 Synchronisation - Algorithmen I Kapitel 3 Teil 2 Synchronisation - Algorithmen I Inhalt: Pessimistische Scheduler, optimistische Scheduler, hybride Scheduler Scheduling-Algorithmen Scheduler (1) Entwurf von Scheduling-Algorithmen (Scheduler)

Mehr

Beispiel: Bankensoftware. 6 Transaktionen. 6.1 Grundlagen 6.1.1 Einführung und Begriffe. Transaktionen. Beispiel (Fortsetzung 1): Verzahnte Ausführung

Beispiel: Bankensoftware. 6 Transaktionen. 6.1 Grundlagen 6.1.1 Einführung und Begriffe. Transaktionen. Beispiel (Fortsetzung 1): Verzahnte Ausführung 6 Transaktionen Beispiel: Bankensoftware 6.1 Grundlagen 6.1.1 Einführung und Begriffe Kritische Abschnitte elementares Mittel zur Konsistenzwahrung bei nebenläufigen Zugriffen Programmierer selbst für

Mehr

Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht. Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS)

Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht. Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS) Synchronisation paralleler Transaktionen Kapitel X Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS) Vorlesungsinhalt

Mehr

Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt.

Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt. OPTIMISTIC CONCURRENCY CONTROL Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt. Abbruch einer Transaktion

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 2 Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe14 Moritz Kaufmann (moritz.kaufmann@tum.de)

Mehr

Transaktionen. Michael Löwe 04/15/16. FHDW Hannover, Freundallee 15, Hannover address:

Transaktionen. Michael Löwe 04/15/16. FHDW Hannover, Freundallee 15, Hannover  address: Transaktionen Michael Löwe 04/15/16 FHDW Hannover, Freundallee 15, 30173 Hannover E-mail address: michael.loewe@fhdw.de KAPITEL 1 Isolation 1.1. Formales Modell für Transaktionen und Ablaufpläne Zustand.

Mehr

Mehrbenutzersynchronisation

Mehrbenutzersynchronisation Mehrbenutzersynchronisation VU Datenbanksysteme vom 4.11. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Nebenläufigkeit

Mehr

Der Scheduler. 9. Transaktionsverwaltung. Zustände einer Transaktion. Transaktionsoperationen

Der Scheduler. 9. Transaktionsverwaltung. Zustände einer Transaktion. Transaktionsoperationen 9. Transaktionsverwaltung Der Scheduler Architektur der Transaktionsverwaltung Sperrende und nicht-sperrende Verfahren Transaktionen in SQL-Systemen Transaktionsmonitore T 1 T T 2 n Transaktions- Manager

Mehr

IT-Kompaktkurs. Datenbanken Skript zur Folge 4. Prof. Dr. Manfred Gruber Fachhochschule München

IT-Kompaktkurs. Datenbanken Skript zur Folge 4. Prof. Dr. Manfred Gruber Fachhochschule München Fachhochschule München Munich University of Applied Sciences IT-Kompaktkurs Skript zur Folge 4 Prof. Dr. Manfred Gruber Fachhochschule München manfred.gruber@informatik.fh-muenchen.de Nov 1, 2000 Transaktions-Konzept,

Mehr

Datenbanken: Backup und Recovery

Datenbanken: Backup und Recovery Der Prozess der Wiederherstellung der Daten einer Datenbank nach einem Fehler im laufenden Betrieb in einen konsistenten, möglichst verlustfreien Zustand heißt Recovery. Beteiligt an diesem Recovery sind

Mehr

Darunter versteht man die Anmeldung eines Benutzers beim System unter Angabe einer Benutzererkennung.

Darunter versteht man die Anmeldung eines Benutzers beim System unter Angabe einer Benutzererkennung. Datenmanagement 60 5 Datenschutz und Datensicherheit 5.1 Datenschutz Wer wird hier geschützt? Personen Ein anderer Begriff für Datenschutz ist Zugriffskontrolle. Datenschutz soll sicherstellen, dass alle

Mehr

Proseminar Theoretische Informatik. Die Klasse NP. von Marlina Spanel

Proseminar Theoretische Informatik. Die Klasse NP. von Marlina Spanel Proseminar Theoretische Informatik Die Klasse NP von Marlina Spanel 29.11.2011 1 Gliederung Gliederung Problem des Handlungsreisenden Die Klasse NP Einleitung und Wiederholung Sprachen Nichtdeterministische

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 13 Übung zur Vorlesung Grundlagen: Datenbanken im WS14/15 Harald Lang (harald.lang@in.tum.de) http://www-db.in.tum.de/teaching/ws1415/grundlagen/

Mehr

Mehrbenutzer-Synchronisation

Mehrbenutzer-Synchronisation MehrbenutzerSynchronisation KonfliktKategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Mehrbenutzersynchronisation Ausführung der drei Transaktionen,

Mehr

Kapitel 10: Transaktionsverwaltung

Kapitel 10: Transaktionsverwaltung 10. Transaktionsverwaltung Seite 1 Kapitel 10: Transaktionsverwaltung Umfasst diejenigen Komponenten eines Datenbankmanagementsystems, deren Aufgabe die Gewährleistung der Atomizität, Isolation und Dauerhaftigkeit

Mehr

Mehrbenutzer-Synchronisation

Mehrbenutzer-Synchronisation Mehrbenutzer-Synchronisation Konflikt-Kategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Kapitel 11 1 Mehrbenutzersynchronisation Ausführung

Mehr

Kapitel 4: Synchronisation: Scheduler

Kapitel 4: Synchronisation: Scheduler Kapitel 4: Synchronisation: Scheduler Ziel und Überblick Entwurf von Schedulern Sperrende Scheduler Nicht-sperrende Scheduler Hybride Scheduler 29.11.2005 TAV WS 2005 283 Kapitel 4: Synchronisation: Scheduler

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/59 Graphische Darstellung von Zusammenhängen schon

Mehr

Unzulänglichkeiten der ANSI-SQL-Isolationslevel [1] Intelligente Datenbanken

Unzulänglichkeiten der ANSI-SQL-Isolationslevel [1] Intelligente Datenbanken Unzulänglichkeiten der ANSI-SQL-Isolationslevel [1] Ausarbeitung zum Seminar Intelligente Datenbanken im Sommersemester 2005 Fabian Klingbeil Universität Bonn Institut für Informatik III am 19.7.2005 Seminar

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Dr. Hanjo Täubig Lehrstuhl für Eziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester 2007/08

Mehr

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte

Mehr

Konstruktion der reellen Zahlen

Konstruktion der reellen Zahlen Konstruktion der reellen Zahlen Zur Wiederholung: Eine Menge K (mit mindestens zwei Elementen) heißt Körper, wenn für beliebige Elemente x, y K eindeutig eine Summe x+y K und ein Produkt x y K definiert

Mehr

7. Synchronisation Algorithmen 1

7. Synchronisation Algorithmen 1 7. Synchronisation Algorithmen 1 Scheduling-Algorithmen Entwurf von Scheduling-Algorithmen Klassifikation von Synchronisationsalgorithmen Sperrprotokolle - Zweiphasige Sperrprotokolle - Deadlocks und ihr

Mehr

Durchschnitt von Matroiden

Durchschnitt von Matroiden Durchschnitt von Matroiden Satz von Edmonds Dany Sattler 18. Januar 2007/ Seminar zur ganzzahligen Optimierung / Wallenfels Definition: Unabhängigkeitssystem Definition: Ein Mengensystem (S, J ) nennt

Mehr

4 Concurrency Control: Algorithmen. Ziel: Entwicklung von Schedulern (Scheduling Algorithmen, Scheduling Protokollen), die konfliktserialisierbare

4 Concurrency Control: Algorithmen. Ziel: Entwicklung von Schedulern (Scheduling Algorithmen, Scheduling Protokollen), die konfliktserialisierbare 4 Concurrency Control: Algorithmen 4.1 Vorüberlegungen Ziel: Entwicklung von Schedulern (Scheduling Algorithmen, Scheduling Protokollen), die konfliktserialisierbare Schedules erzeugen. Wie im vorherigen

Mehr

Mehrbenutzersynchronisation

Mehrbenutzersynchronisation Mehrbenutzer Synchronisation KonfliktKategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Mehrbenutzersynchronisation Ausführung der drei Transaktionen,

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 15: Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik

Mehr

2. Synchronisation in DBS: Grundlagen, Sperrverfahren

2. Synchronisation in DBS: Grundlagen, Sperrverfahren 2. Synchronisation in DBS: Grundlagen, Sperrverfahren Anomalien im Mehrbenutzerbetrieb Serialisierbarkeit Zweiphasen-Sperrprotokolle Konsistenzstufen von Transaktionen Hierarchische Sperrverfahren Deadlock-Behandlung

Mehr

Kapitel 12 Integrität der Datenbank

Kapitel 12 Integrität der Datenbank Kapitel 12 Integrität der Datenbank 12 Integrität der Datenbank 12 Integrität der Datenbank...1 12.1 Aspekte des Integritätsproblems...3 12.2 Semantische Integrität...4 12.3 Das Konzept der Transaktion...6

Mehr

Kapitel 8: Transaktionen

Kapitel 8: Transaktionen Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2006/2007 Vorlesung: Dr. Peer Kröger Übungen: Karsten

Mehr

Folglich besitzt die kanonische Faktorisierung von Permutationen der Ordnung 2 nur 2-Zykeln, also Transpositionen, als Elemente.

Folglich besitzt die kanonische Faktorisierung von Permutationen der Ordnung 2 nur 2-Zykeln, also Transpositionen, als Elemente. Stefan K. 5.Übungsblatt Algebra I Aufgabe 1 gesucht: die Elemente von S n mit der Ordnung 2 Lösung: Wir betrachten die kanonische Faktorisierung einer Permutation π S n : jede Permutation π e Sn ist bis

Mehr

8. März: Klausurvorbereitung (Durchgehen Klausurähnlicher Aufgaben, Fragestunde)

8. März: Klausurvorbereitung (Durchgehen Klausurähnlicher Aufgaben, Fragestunde) Organisatorisches Termine 2. März: letzte Vorlesung 8. März: Klausurvorbereitung (Durchgehen Klausurähnlicher Aufgaben, Fragestunde) 9. März: Besprechungstermin Übungsblatt 6 (Punkte bisher: siehe Aushang)

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Datenstrukturen: Anordnung von Daten, z.b. als Liste (d.h. in bestimmter Reihenfolge) Beispiel: alphabetisch sortiertes Wörterbuch... Ei - Eibe - Eidotter... als Baum (d.h.

Mehr

Klausur zur Vorlesung Datenbanken I im Wintersemester 2011/12

Klausur zur Vorlesung Datenbanken I im Wintersemester 2011/12 Prof. Dr. Lutz Wegner, Dipl.-Math. Kai Schweinsberg 21.03.2012 Klausur zur Vorlesung Datenbanken I im Wintersemester 2011/12 Name:... Vorname:... Matr.Nr.:... Studiengang:... Hinweis: Bearbeiten Sie alle

Mehr

Replikation und Synchronisation. in mobilen Datenbanksystemen

Replikation und Synchronisation. in mobilen Datenbanksystemen in mobilen Datenbanksystemen 6. Juni 2002 Von Thomas Hoffmann und Sebastian Seidler E-Mail: {hothomas,bastl14w}@minet.uni-jena.de 1 Inhalt Einleitung Was ist Replikation? Was ist Synchronisation? Replikationsverfahren

Mehr

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

Literatur und Quellen. Datenbanken. Inhalt. Inhalt. Transaktionen. Nikolaus Augsten. Wintersemester 2013/14 Literatur und Quellen Datenbanken Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg Wintersemester 2013/14 Lektüre zu den Themen : Kapitel 9 () aus Kemper und Eickler:

Mehr

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

Transaktionen Recovery Isolationslevel. Datenbanksysteme. Transaktionen. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen Transaktionen Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Motivation ACID-Eigenschaften Übersicht Transaktionen Motivation ACID-Eigenschaften Ursachen für Logging und Backup

Mehr

Graphen und Bäume. A.1 Graphen

Graphen und Bäume. A.1 Graphen Algorithmen und Datenstrukturen 96 A Graphen und Bäume A.1 Graphen Ein gerichteter Graph (auch Digraph) G ist ein Paar (V, E), wobei V eine endliche Menge und E eine Relation auf V ist, d.h. E V V. V heißt

Mehr

Teil III. Komplexitätstheorie

Teil III. Komplexitätstheorie Teil III Komplexitätstheorie 125 / 160 Übersicht Die Klassen P und NP Die Klasse P Die Klassen NP NP-Vollständigkeit NP-Vollständige Probleme Weitere NP-vollständige Probleme 127 / 160 Die Klasse P Ein

Mehr

Notizen zu Transformationen und Permutationen. T (A) = {f : A A}

Notizen zu Transformationen und Permutationen. T (A) = {f : A A} Transformationen Notizen zu Transformationen und Permutationen Ist A eine Menge, so ist die Menge T (A) = {f : A A} bezüglich der Komposition (Hintereinanderausführung) als Operation und der identischen

Mehr

Was ist eine Transaktion?

Was ist eine Transaktion? Frühjahrsemester 2013 CS243 Datenbanken Kapitel 8: Transaktionsverwaltung H. Schuldt Was ist eine Transaktion? Eine Transaktion ist eine Menge von logisch zusammengehörenden Operationen (zumeist in ein

Mehr

Permutationen und symmetrische Gruppe

Permutationen und symmetrische Gruppe Permutationen und symmetrische Gruppe Für eine beliebige Menge M bilden die Bijektionen von M in M, versehen mit der Komposition von Abbildungen als Operation, eine Gruppe, die sogenannte symmetrische

Mehr

Datenintegrität und Transaktionskonzept

Datenintegrität und Transaktionskonzept und Transaktionskonzept 1. / Datenkonsistenz 1 Mögliche Gefährdung der : Missachtung von Konsistenzbedingungen ("Semantische Integrität") Inkorrekte Verweise auf Datensätze in verschiedenen Tabellen ("Referentielle

Mehr

5. Äquivalenzrelationen

5. Äquivalenzrelationen 5. Äquivalenzrelationen 35 5. Äquivalenzrelationen Wenn man eine große und komplizierte Menge (bzw. Gruppe) untersuchen will, so kann es sinnvoll sein, zunächst kleinere, einfachere Mengen (bzw. Gruppen)

Mehr

γ(a, γ(b, c)) = γ(γ(a, b), c)). γ(e, x) = γ(x, e) = x.

γ(a, γ(b, c)) = γ(γ(a, b), c)). γ(e, x) = γ(x, e) = x. Algebraische Strukturen, insbesondere Gruppen 1 Verknüpfungen M sei eine Menge. Dann heißt jede Abbildung γ : M M M eine Verknüpfung (jedem Paar von Elementen aus M wird auf eindeutige Weise ein Element

Mehr

Czap, Grundlagen betrieblicher IS - 1

Czap, Grundlagen betrieblicher IS - 1 Czap, Grundlagen betrieblicher IS - 1 8. Daten-Integrität 8.1 Integritätsaspekte Unter Integrität einer Datenbank versteht man alle die Aspekte, die mit der Erhaltung der Korrektheit der Daten in der DB

Mehr

Kürzeste Wege in Graphen. Orte mit Straßenverbindungen. Coma I Rolf Möhring

Kürzeste Wege in Graphen. Orte mit Straßenverbindungen. Coma I Rolf Möhring Kürzeste Wege in Graphen Orte mit Straßenverbindungen Orte als Knoten eines Graphen Straßenverbindungen als Kanten eines Graphen Ungerichteter Graph G = (V,E) Kanten Knoten Knotenmenge V = {,,n} oder {,,n

Mehr

Diplom Mathematiker Wolfgang Kinzner. 17. Oktober Technische Universität München. Die abc-formel. W. Kinzner. Problemstellung.

Diplom Mathematiker Wolfgang Kinzner. 17. Oktober Technische Universität München. Die abc-formel. W. Kinzner. Problemstellung. Diplom Mathematiker Wolfgang Kinzner Technische Universität München 17. Oktober 2013 1 / 9 Inhaltsverzeichnis 1 2 / 9 Inhaltsverzeichnis 1 2 2 / 9 Inhaltsverzeichnis 1 2 3 2 / 9 Inhaltsverzeichnis 1 2

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. a) Es seien W 1 = (V, E 1 ), W 2 = (V, E 2 ) Untergraphen von G, die beide Wälder sind. Weiter gelte E 1 > E 2.

Mehr

2. Teilbarkeit. Euklidischer Algorithmus

2. Teilbarkeit. Euklidischer Algorithmus O. Forster: Einführung in die Zahlentheorie 2. Teilbarkeit. Euklidischer Algorithmus 2.1. Wir benutzen die folgenden Bezeichnungen: Z = {0, ±1, ±2, ±3,...} Menge aller ganzen Zahlen N 0 = {0, 1, 2, 3,...}

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 23.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben

Mehr

LOOP-Programme: Syntaktische Komponenten

LOOP-Programme: Syntaktische Komponenten LOOP-Programme: Syntaktische Komponenten LOOP-Programme bestehen aus folgenden Zeichen (syntaktischen Komponenten): Variablen: x 0 x 1 x 2... Konstanten: 0 1 2... Operationssymbole: + Trennsymbole: ; :=

Mehr

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung Kapitel : Minimal spannende Bäume Gliederung der Vorlesung. Fallstudie Bipartite Graphen 2. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Wege. Traveling

Mehr

Datenbank- Implementierungstechniken

Datenbank- Implementierungstechniken 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

Mehr

4 Transaktionen und Recovery

4 Transaktionen und Recovery 4 Transaktionen und Recovery Zur Unterstützung des Mehrbenutzerbetriebs und der Datensicherheit, speziell für länger andauernde Transaktionen: 1. In einem Reisebüro könnte ein Kunde eine Kette von Flügen

Mehr

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung Kapitel : Minimale spannende Bäume Gliederung der Vorlesung. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman

Mehr

15. Elementare Graphalgorithmen

15. Elementare Graphalgorithmen Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen

Mehr

Lösungsvorschläge Blatt Z1

Lösungsvorschläge Blatt Z1 Theoretische Informatik Departement Informatik Prof. Dr. Juraj Hromkovič http://www.ita.inf.ethz.ch/theoinf16 Lösungsvorschläge Blatt Z1 Zürich, 2. Dezember 2016 Lösung zu Aufgabe Z1 Wir zeigen L qi /

Mehr

2. Repräsentationen von Graphen in Computern

2. Repräsentationen von Graphen in Computern 2. Repräsentationen von Graphen in Computern Kapitelinhalt 2. Repräsentationen von Graphen in Computern Matrizen- und Listendarstellung von Graphen Berechnung der Anzahl der verschiedenen Kantenzüge zwischen

Mehr

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

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL 1 Transaktionen in SQL Um Daten in einer SQL-Datenbank konsistent zu halten, gibt es einerseits die Möglichkeit der Normalisierung, andererseits sog. Transaktionen. 2 Was ist eine Transaktion Eine Transaktion

Mehr

6. Übung zur Linearen Optimierung SS08

6. Übung zur Linearen Optimierung SS08 6 Übung zur Linearen Optimierung SS08 1 Sei G = (V, E) ein schlichter ungerichteter Graph mit n Ecken und m Kanten Für eine Ecke v V heißt die Zahl der Kanten (u, v) E Grad der Ecke (a) Ist die Anzahl

Mehr

Koordination des Mehrbenutzerbetriebs 9. Koordination des Mehrbenutzerbetriebs

Koordination des Mehrbenutzerbetriebs 9. Koordination des Mehrbenutzerbetriebs 9. Mehrbenutzerbetrieb: DBS bedient gleichzeitig mehrere Benutzer Benutzer arbeiten zwar unabhängig voneinander, können aber die gleiche Relation oder sogar den gleichen Datensatz bearbeiten! Aktivität

Mehr

Datenbanken und Informationssysteme Sommersemester 2012 Probeklausur

Datenbanken und Informationssysteme Sommersemester 2012 Probeklausur Datenbanken und Informationssysteme Sommersemester 2012 Probeklausur 1 Konzeptuelle Modellierung (12 Punkte) Die folgende Beschreibung skizziert ein Informationssystem zur Verwaltung von Musikern: Jeder

Mehr

Anwendung v. symmetrischen Matrizen: Hauptachsentransformation

Anwendung v. symmetrischen Matrizen: Hauptachsentransformation Zusammenfassung: Eigenwerte, Eigenvektoren, Diagonalisieren Eigenwertgleichung: Bedingung an EW: Eigenwert Eigenvektor charakteristisches Polynom Für ist ein Polynom v. Grad, Nullstellen. Wenn EW bekannt

Mehr

Bayes-Netze (1) Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg

Bayes-Netze (1) Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg Bayes-Netze (1) Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg (Lehrstuhl KI) Bayes-Netze (1) 1 / 22 Gliederung 1 Unsicheres Wissen 2 Schließen

Mehr

Übungsblatt Nr. 5. Lösungsvorschlag

Übungsblatt Nr. 5. Lösungsvorschlag Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Dirk Achenbach Tobias Nilges Vorlesung Theoretische Grundlagen der Informatik Übungsblatt Nr. 5 Aufgabe 1: Eine schöne Bescherung (K)

Mehr

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann Bäume und Wälder Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann Ida Feldmann 2-Fach Bachelor Mathematik und Biologie 6. Fachsemester Inhaltsverzeichnis Einleitung 1 1. Bäume

Mehr

5. Woche Perfekte und Optimale Codes, Schranken. 5. Woche: Perfekte und Optimale Codes, Schranken 88/ 142

5. Woche Perfekte und Optimale Codes, Schranken. 5. Woche: Perfekte und Optimale Codes, Schranken 88/ 142 5 Woche Perfekte und Optimale Codes, Schranken 5 Woche: Perfekte und Optimale Codes, Schranken 88/ 142 Packradius eines Codes (Wiederholung) Definition Packradius eines Codes Sei C ein (n, M, d)-code Der

Mehr

Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal

Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal 3. Kreis- und Wegeprobleme Kapitelübersicht 3. Kreis- und Wegeprobleme Eulerweg, Eulerkreis Charakterisierung von eulerschen Graphen Bestimmung von eulerschen Wegen und Kreisen Hamiltonsche Graphen Definition

Mehr

1 Algebraische Grundbegriffe

1 Algebraische Grundbegriffe 1 Algebraische Grundbegriffe Eine Algebra besteht aus einer Trägermenge S sowie eineroder mehreren Operationen. Eine Operation ist dabei eine k-stellige Abbildung, d.h. es gilt für eine Operation f f S

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr