Synchronisation mit Zeitmarken (1) Zeitmarken-Synchronisation = einfaches, aber ineffizientes Verfahren zur Gewinnung konfliktserialisierbarer Schedules.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Nachtrag zum Vortrag vom Vorbereitung zur Datensicherung
Synchronisation paralleler Transaktionen AIFB SS Serialisierbarkeitsprinzip 4.3 Serialisierbarkeitsprinzip (5/13) Schedule: T* = {T 1,..., T.
Rücksetzen Bisher betrachtetes Scheduling gewährleistet Isolation, d.h. Serialisierbarkeit, setzt jedoch voraus, dass Transaktionen abgebrochen und rückgesetzt.
FH-Hof Der B-Baum Richard Göbel. FH-Hof Wahl des Verzweigungsgrad Verzweigungsgrad kann größer als 2 sein v Nachfolger für einen Knoten v-1 Werte in einem.
Transaktionsverwaltung
Variablen und Datentypen
Seminar zur Nebenläufigkeit in verteilten Systemen Kodierungsverfahren vorgestellt von Jens Brauckmann.
Vs61 6 Verteilte Datenverwaltung. vs62 Ziel:Zusammengehöriger Datenbestand soll über mehrere Stationen verteilt werden, z.B. Fragmentierung: in mehrere.
Objektrelationales Mapping mit JPA Working with Persistent Objects Jonas Bandi Simon Martinelli.
Kapitel 5: Transaktionsverwaltung
Sortierverfahren Richard Göbel.
Effizienz: Indexstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen 09 - Weitere Sortierverfahren Heapsort-Nachtrag Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (11-3 –Selbstanordnende lineare Listen) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27-Selbstanordnende lineare Listen) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Fuzzy-Logik und unscharfe Mengen
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Kapitel 13: Mehrbenutzersynchronisation
Kapitel 14: Recovery Oliver Vornberger
Synchronisation paralleler Transaktionen AIFB SS Synchronisationsverfahren 4.4 Synchronisationsverfahren (1/18) Sperrmodi und Sperrobjekte Sperrprotokoll.
Einige Begriffe zum Anfang.... Transaktionsprozedur: Folge primitiver Operationen als Einheit der Konsistenz und der Robustheit. Transaktion (TA): Ausführung.
Transaktion 1Transaktion 2... Transaktion n Synchronisation durch Scheduler Datenbasis-Verwalter lokaler Schedule 1lokaler Schedule n konfliktserialisierbarer.
Verklemmungen Bei sperrenbasierter Synchronisation können sogenannte Verklemmungen (engl. deadlocks) auftreten, in denen Transaktionen sich gegenseitig.
Implementierung von S2PL (1) Scheduler als Verwalter von Sperren auf Datenelementen sowie Warteschlangen für Sperren (Sperren-Verwalter). Transaktion 1Transaktion.
Modellierung von Transaktionen Zur Formalisierung der ACID-Garantien muss Verhalten von Transaktionen modelliert werden. Folge aus der Forderung nach lokaler.
Synchronisation paralleler Transaktionen AIFB SS Konzept der Transaktion 4.2 Konzept der Transaktion (1/4) Eine Transaktion ist ein in sich geschlossener,
Working With Persistent Objects
Algorithmen Gruppe 4.
Eine Implementierung einer effiziente externe geordnete (!) lineare Liste Operationen: Search(x) Insert(x) Delete(x)
Sortieralgorithmen Sortieren von Arrays.
© Vöslauer 2010 Teamgeist im Hause Vöslauer. © Vöslauer 2010 Teamgeist bringt Mehrwert Wir glauben an die Stärke von Teams, deren Mitglieder sich gegenseitig.
Anspruchsmerkmale und technische Äquivalente
Prozeduren und Funktionen
WS 2012/13 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #11 Transaktionsverwaltung.
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #12 Mehrbenutzersynchronisation.
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #7 Mehrbenutzersynchronisation (Teil 1)
Synchronisation paralleler Transaktionen AIFB SS Serialisierbarkeitsprinzip 4.3 Serialisierbarkeitsprinzip (11/13) Vermutung: Eine Schedule S.
Transaktion Huang Zhenhao FU Shuai.
Vorlesung #12 Mehrbenutzersynchronisation
Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung Prof. Dr. Manfred Gruber FH München.
Lokales 2-Phasen-Festschreibe- Protokoll Segment-Verwalter führt commit(T i ) in zwei Phasen aus: Phase 1: Sicherstellung der Wiederholbarkeit. –Für jedes.
Übung: Transaktionale Systeme (Zusammenfassung der Vorlesungsinhalte)
Mehrbenutzerzugriff auf GIS-Daten
Mehrbenutzersynchronisation
Prüfung auf Serialisierbarkeit (3)
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
Synchronisation paralleler Transaktionen  AIFB SS Sperrverfahren Sperrverfahren (13/18) Behandlung von Konflikten bei der Sperrvergabe.
Puffer-Verwalter (1) Aufgabe: Performanzkontrolle bzgl. Hauptspeichernutzung. Puffer-Verwalter versucht, Plattenzugriffe durch Vorhalten von häufig benötigten.
Synchronisation paralleler Transaktionen  AIFB SS Serialisierbarkeitsprinzip 4.3 Serialisierbarkeitsprinzip (2/13) Im folgenden wird ein vereinfachtes.
Sicherung gegen Medienverlust (1) Medienverlust = Verlust der Datenbasis und/oder des Protokolls. Vorbeugung durch periodische Sicherung von Datenbasis.
Formalisierung (1) Datenbasis Ausschnitt Sicht Sichtenabbildung v reale Datenbasis DB virtuelle Datenbasis VDB.
Serialisierbarkeitsprinzip Isolationsprinzip scheint zunächst streng serielle Abwicklung der Transaktionen zu fordern: r 1 (x) r 1 (y)... w 1 (z) c 1 r.
Synchronisation paralleler Transaktionen  AIFB SS Synchronisationsverfahren 4.4 Synchronisationsverfahren (1/3) Typen von Synchronisationsverfahren.
Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.
5.1.2 Sequentielle Konsistenz
Vs Verteilte Transaktionen Situation:Fragmentierung: Ein Datenbestand ist über mehrere Stationen verteilt (z.B. verteilte Datenbank, verteiltes Dateisystem,...)
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
6.3 Verteilte Transaktionen
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #12 Mehrbenutzersynchronisation.
RAID Level. RAID 0 (Striping)  RAID 0 (Stripeset; “Streifensatz”) Mehrere HDDs zusammenfassen und gleichzeitig darauf zugreifen. Hohe Transferraten bei.
© 2008 TravelTainment The Amadeus Leisure Group Thread-Programmierung im Qt-Framework Von: Simon Lubberich Erstbetreuer:
Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
Pointer. * und &  Bei der Definition int var1; ○ // „normale“ Variable int *var2; ○ // Zeiger auf einen Integer int *var2 = NULL; ○ // … incl. Initialisierung.
6.3 Verteilte Transaktionen
Transaktionsabbruch, System Crash, Media Failure
Datenbanken Eine Einführung Kerstin Fröhlig, HHBK.
Arrays in C Ein Array ist eine Variable, die aus einer Anzahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
 Präsentation transkript:

Synchronisation mit Zeitmarken (1) Zeitmarken-Synchronisation = einfaches, aber ineffizientes Verfahren zur Gewinnung konfliktserialisierbarer Schedules. Intuition: –Für jede Transaktion wird als Äquivalenzzeitpunkt Zeitpunkt der ersten Operation gewählt, d.h., äquivalenter serieller Schedule basiert auf Reihenfolge, in der die Transaktionen begonnen werden. –Konflikt-Äquivalenz des realen und seriellen Schedules wird gesichert, indem bei jeder Operation explizit geprüft wird, ob sie ohne Vertauschung mit unverträglichen Operationen auch zu Beginn der Transaktion hätte laufen können. –Falls Operation einen Konflikt verursacht, wird zugehörige Transaktion abgebrochen und rückgesetzt.

Synchronisation mit Zeitmarken (2) Verfahren beruht auf Verwaltung von Zeitmarken für Transaktionen und Datenelemente: –Jede Transaktion erhält Zeitmarke mit Uhrzeit zu ihrem Beginn. –Jedes Datenelement erhält Schreibmarke, die die Zeitmarke der letzten Transaktion enthält, die auf das Element mit Erfolg schreibend zugriff. –Jedes Datenelement erhält Lesemarke, die das Maximum der Zeitmarken derjenigen Transaktionen enthält, die auf das Element mit Erfolg lesend zugriffen.

Synchronisation mit Zeitmarken (3) Behandlung eines Lesezugriffs r i (x): –Falls Zeitmarke(T i ) < Schreibmarke(x), versucht T i einen gemäß seriellem Schedule bereits überschriebenen Wert zu lesen; T i wird rückgesetzt. –Andernfalls wird Auftrag ausgeführt sowie Lesemarke(x) := max(Lesemarke(x), Zeitmarke(T i )) gesetzt. Behandlung eines Schreibzugriffs w i (x): –Falls Zeitmarke(T i ) < Lesemarke(x), versucht T i einen gemäß seriellem Schedule bereits gelesenen Wert nachträglich zu verändern; T i wird rückgesetzt. –Falls Zeitmarke(T i ) < Schreibmarke(x), ist der Versuch von T i bereits obsolet und wird ignoriert. –Andernfalls wird der Auftrag ausgeführt und Schreibmarke(x) := Zeitmarke(T i ) gesetzt.