Startseite   |  Site map   |  A-Z artikel   |  Artikel einreichen   |   Kontakt   |  
  


informatik artikel (Interpretation und charakterisierung)

Zwei-phasen-commit (two phase commit)


1. Java
2. Viren

Das 2 Phasen Commit wird eingesetzt, wenn mehrere Systeme (z.B.: hierarchisches und relationales DB System) gemeinsam synchronisiert werden müssen. Hier tritt das Problem auf, daß zwischen dem Commit für System1 und dem Commit für System2 ein Fehler auftritt. Beim automatischen Recovery würde in diesem Fall System2 zurückgesetzt werden, die Daten für System1 bleiben bestätigt. Dadurch stimmen die beiden Systeme nicht mehr überein.



1. System befindet sich in einem konsistenten Zustand


2. Eine Applikation beginnt mit Änderungsanforderungen. Diese Änderungen werden an den Koordinator geschickt. Dieser leitet sie zeitverzögert an die jeweilige Datenbank.


3. Applikation hat Änderungen abgeschlossen und setzt einen Synchpoint.


4. Darauf leitet der Koordinator Phase 1 von Commit ein. Dazu schickt er eine entsprechende Anforderung an alle Datenbanksysteme.


5. Die einzelnen Datenbanksysteme markieren die Commit Anforderung in ihrem Logfile und bestätigen anschließend dem Koordinator das Commit.


6. Nach Eintreffen aller Commit Bestätigungen protokolliert der Koordinator dies in seinem Logfile und leitet anschließend Commit Phase 2 ein.


7. Auch Phase 2 muß von den einzelnen Datenbanksystemen bestätigt werden.


8. Nach Erhalt aller Bestätigungen und einem entsprechenden Protokolleintrag meldet der Koordinator einen neuen konsistenten Zustand der Datenbank.


Treten bis zum Zeitpunkt des ersten Logeintrags des Koordinators Fehler auf oder meldet ein Datenbanksystem einen nicht erfolgreichen Abschluß, so fordert der Koordinator alle Datenbanksysteme zu einem Rollback auf. Tritt hingegen nach diesem Zeitpunkt ein Fehler auf, so werden automatisch alle noch ausständigen Phase 2 Commits durchgeführt.


3 Fragen

Wie lauten die zwei Locks, und welche gleichzeitigen Transaktionen sind erlaubt?

X LOCK (EXCLUSIVE LOCKS): Wird durch eine Transaktion A ein Datensatz verändert, so wird dieser für alle anderen Transaktionen gesperrt, bis die Transaktion den Datensatz wieder freigibt. Diese Sperre verhindert, daß andere Transaktionen den Datensatz lesen oder verändern.

S LOCK: (SHARE LOCKS): Wird durch eine Transaktion ein Datensatz abgefragt, so wird dieser Datensatz für X-Locks gesperrt d.h. daß andere Transaktionen den Datensatz nicht ändern dürfen, Lesezugriffe sind jedoch ohne weiteres erlaubt.


Was ist ein Deadlock, und wie kann er gelöst werden?

Durch das gegenseitige Locking, warten zwei Transaktionen auf die gegenseitige Freigabe eines Datensatzes, was sich dadurch bemerkbar macht, daß keine Transaktion weiter arbeitet.
Dieses Problem kann nur dann gelöst werden, wenn eine der beiden Transaktionen zurückgenommen wird. Dadurch kann die andere Transaktion ihre Arbeit beenden, worauf die abgebrochene Transaktion neu gestartet wird.

 
 

Datenschutz
Top Themen / Analyse
indicator Zeitschriften
indicator ISA (Industry Standard Architecture):
indicator Systemsegmente
indicator Die Java-Packages
indicator Magneto-optische Speicher - Die Alternative
indicator Definition der TCP/IP - Protokolle
indicator Diascanner
indicator Pentium II -
indicator Switching Technologien
indicator RAM:


Datenschutz
Zum selben thema
icon Netzwerk
icon Software
icon Entwicklung
icon Windows
icon Programm
icon Unix
icon Games
icon Sicherheit
icon Disk
icon Technologie
icon Bildung
icon Mp3
icon Cd
icon Suche
icon Grafik
icon Zahlung
icon Html
icon Internet
icon Hardware
icon Cpu
icon Firewall
icon Speicher
icon Mail
icon Banking
icon Video
icon Hacker
icon Design
icon Sprache
icon Dvd
icon Drucker
icon Elektronisches
icon Geschichte
icon Fehler
icon Website
icon Linux
icon Computer
A-Z informatik artikel:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

Copyright © 2008 - : ARTIKEL32 | Alle rechte vorbehalten.
Vervielfältigung im Ganzen oder teilweise das Material auf dieser Website gegen das Urheberrecht und wird bestraft, nach dem Gesetz.
dsolution