Vs51 5.3 Verteilte Transaktionen Situation:Fragmentierung: Ein Datenbestand ist über mehrere Stationen verteilt (z.B. verteilte Datenbank, verteiltes Dateisystem,...)

Slides:



Advertisements
Ähnliche Präsentationen
Kapitel 15 Verteilte Datenbanken
Advertisements

Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
Transaktionsverwaltung
Transaktionsverwaltung
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.
Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
Objektrelationales Mapping mit JPA Working with Persistent Objects Jonas Bandi Simon Martinelli.
Transaktionen in verteilten Datenbanken
Vorlesung 9.2: Specification Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Kapitel 14: Recovery Oliver Vornberger
1 Kapitel 12: Transaktionsverwaltung Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück Osnabrück
1 Kapitel 12: Transaktionsverwaltung. 2 Transaktion Bündelung mehrerer Datenbankoperationen Mehrbenutzersynchronisation Recovery.
15.1 Synchronisation nebenläufiger Prozesse
Erhard Künzel für Info 9. Klasse: Digitale Schule Bayern© Erhard Künzel.
Synchronisation paralleler Transaktionen AIFB SS Synchronisationsverfahren 4.4 Synchronisationsverfahren (1/18) Sperrmodi und Sperrobjekte Sperrprotokoll.
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
ausdrucksschwächeres
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.
4.4.2 Sperrverfahren (9/18) Regeln für das Setzen von Sperren
Ausführungsmodell Zustandsübergang einer Transaktion aus Nutzersicht:
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,
Betriebliche Informationssysteme Prof. Dr. Michael Löwe
Wizards & Builders GmbH Schulung Visual SourceSafe für Visual FoxPro Norbert Abb W&B.
WS 2012/13 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #11 Transaktionsverwaltung.
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #10 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)
Die Architektur von Jini Präsentation von Thomas Heinis & Michea Wankerl Seminar Information & Kommunikation WS 2000/01.
Vom Kontext zum Projekt V Carina Berning Sabrina Gursch Pierre Streicher Intelligente Dateisysteme.
Festschreibe-Protokoll (1) Globales Zwei-Phasen-Festschreibe-Protokoll (2- Phasen-Commit, 2PC): Phase 1: –Koordinator benachrichtigt Ressourcen, dass Commit.
Transaktion Huang Zhenhao FU Shuai.
Vorlesung #12 Mehrbenutzersynchronisation
Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung Prof. Dr. Manfred Gruber FH München.
Vorlesung Datenbanksysteme WS 2.0 Christoph Koch (Subject: DBVO:...
ADAT©2004,2006 Dipl. - Ing. Walter SabinSeite: 48 Version 1.0a Recovery Wiederherstellung eines konsistenten Datenbankzustandes nach Fehlersituationen.
Übung: Transaktionale Systeme (Zusammenfassung der Vorlesungsinhalte)
Übung: Transaktionale Systeme
Transaktionen Dr. Heidrun Bethge Datenbanken II.
Mehrbenutzerzugriff auf GIS-Daten
Transaktionsverwaltung
7.2.4 Klassifikation mobilen Codes Nicht vergessen:  Sowohl das Fernkopieren als auch die Migration von Objekten setzt voraus, daß der Code entweder am.
6.1.2 Sequentielle Konsistenz
Persistenz: Objekt-Lebensdauer In RDBMS wird Lebensdauer von Werten durch ihren Typ festgelegt: Instanzen von Relationstypen sind persistent, alle anderen.
Synchronisation paralleler Transaktionen  AIFB SS Serialisierbarkeitsprinzip 4.3 Serialisierbarkeitsprinzip (2/13) Im folgenden wird ein vereinfachtes.
Synchronisation mit Zeitmarken (1) Zeitmarken-Synchronisation = einfaches, aber ineffizientes Verfahren zur Gewinnung konfliktserialisierbarer Schedules.
4.4 Sperrsynchronisation
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.
Vs Replizierte Objekte Vollständige Replikationsabstraktion ist attraktiv und machbar. 2 Beispiele: Orca(H. Bal, VU Amsterdam, ) = klassenbasierte,
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 Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
6.3 Verteilte Transaktionen
NET Remoting.Net („dotnet“) :von Microsoft eingeführte Plattform für verteilte Anwendungen, virtuelle Maschine für die verteilte Ausführung von.
Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
EJB Architektur für große Web - Applikationen Gerald Weber
Vs61 6 Fehlertoleranz. vs62 Zuverlässigkeit (reliability) Sicherheit vor FehlernSicherheit vor Angriffen (safety)(security) WS/SS xySystemsicherheit SS.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #12 Mehrbenutzersynchronisation.
Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
SQL Basics Schulung –
6.3 Verteilte Transaktionen
7 Fehlertoleranz.
Transaktionsabbruch, System Crash, Media Failure
Peesel-Software Computersysteme KG
Datenbanken online sowie offline verfügbar machen
 Präsentation transkript:

vs Verteilte Transaktionen Situation:Fragmentierung: Ein Datenbestand ist über mehrere Stationen verteilt (z.B. verteilte Datenbank, verteiltes Dateisystem,...) d.h. in Fragmente aufgeteilt, für die jeweils ein Server zuständig ist. Beispiel Pauschalreisen: Fragment Hotels + Fragment Flüge Konsistenzforderung verbietet Hotelbuchung ohne passende Flugbuchung Flugbuchung ohne passende Hotelbuchung

vs52  Operationen sollten transaktional ausgeführt werden ! Transaktion BEGIN..... [ABORT]..... COMMIT sichert die Eigenschaften Atomicity- Atomarität: alles oder nichts Consistence- Konsistenz: Invariante bleibt gewährleistet Isolation- Serialisierbarkeit bei nebenläufigen Zugriffen Durability- Persistenz: Daten bleiben dauerhaft erhalten

vs Serialisierbarkeit durch Ausschlußsynchronisation (für kleine fragmentierte Objekte, nicht für ganze Datenbanken!)  Verteilter Ausschluß (4.4  ):4.4 zu strikt angesichts lesender vs. schreibender Operationen  Verteilter R/W-Ausschluß: a) In virtuellem Ring kreisende Marke (4.4.2  ) trägt Zähler m4.4.2 = Anzahl der gerade aktiven lesenden Operationen; schreibwillige Operation muß auf Marke mit m = 0 warten und diese festhalten. Nachteil: strikte Bevorzugung der Leser

vs54 b) Virtueller Ring von n Stationen, kreisende Marke enthält m „Stimmen“ (anfangs m = n); festgelegte Quoren für Lese- bzw. Schreibrecht: 0  r  n r + w  n n/2  w  n c) Varianten anderer Ansätze aus 4.4 Leser braucht r Stimmen Schreiberbraucht w Stimmen (r = 1, w = n  äquivalent zu a)!) Vorteil: etwas bessere Fairness für Schreiber – wird erkauft mit eingeschränkter Nebenläufigkeit für die Leser

vs Serialisierbarkeit durch verteilte Transaktionen (sichern nicht nur Serialisierbarkeit, sondern ACID insgesamt) Prinzip:Koordinator steuert 2-Phasen-Commit-Protokoll (2PC) (nicht verwechseln mit 2-Phasen-Sperren, 2PL!), das auf die lokalen Transaktionssysteme aufgesetzt wird Koordinator Verteiltes Objekt Klienten BEGIN : alle beteiligten Server werden zu lokalem BEGIN aufgefordert ABORT : alle beteiligten Server werden zu lokalem ABORT aufgefordert COMMIT : 2PC tritt in Aktion:...

vs56 Phase 1 – Abstimmen: 1. „Commit?“ an alle Server; 2. diese prüfen, ob Commit möglich wäre und antworten mit „Ja“ oder „Nein“. Phase 2 – Abschließen nach Eintreffen aller Anworten: 3. Falls alle Server mit „Ja“ geantwortet haben, „Commit!“ an alle Server, sonst „Abort!“ an alle Server; 4. diese befolgen den Befehl und quittieren. (Präzisierung unter Zuhilfenahme diverser Timeouts – siehe z.B. Coulouris et al. 14.3)

vs57 Geschachtelte Transaktionen (nested transactions): Die Teiltransaktionen können wiederum Teiltransaktionen haben Vorteile: - Erhöhung des Parallelitätsgrades - Abbruch einer Kind-Transaktion muß nicht unbedingt Abbruch der Eltern-Transaktion zur Folge haben (letztere ist programmatisch darauf vorbereitet) (Details zu 2PC: Coulouris et al. oder Özsu/Valduriez: Principles of Distributed Database Systems, Section 12.5)