2PC

Commit-Protokolle regeln die Festschreibung (Commit) von Daten, die durch eine (verteilte) Transaktion beispielsweise in einem Datenbankmanagementsystem verändert werden sollen.

Inhaltsverzeichnis

Notwendigkeit und Anforderungen

Die wünschenswerten Eigenschaften (verteilter) Transaktionen werden i.A. durch das Akronym ACID abgekürzt: Atomicity oder „Atomarität“, Consistency oder „Konsistenz“, Isolation und Durability oder „Dauerhaftigkeit“. Das Commit-Protokoll ist für die Gewährleistung dieser Eigenschaften zuständig.

Je nach Commit-Protokoll müssen nicht alle der o.g. Eigenschaften verpflichtend erfüllt werden. Die Gewährleistung der „Atomarität“ der Transaktion hat normalerweise den höchsten Stellenwert. Das bedeutet, es muss sichergestellt werden, dass entweder alle oder keine der in einer Transaktion angeforderten Modifikationen durchgeführt werden.

Grundprinzip

Zur Erfüllung ihrer jeweiligen Anforderungen beschreiben Commit-Protokolle, wie die an einer Transaktion teilnehmenden Prozesse über einen Koordinator miteinander kommunizieren müssen, wie Informationen protokolliert (geloggt) werden und wie schließlich die betroffenen Daten festgeschrieben werden. Dabei werden verschiedene Fehlersituationen durch das Protokoll abgefangen, wie z. B. ein Absturz des Koordinators während einer Phase (abhängig vom Protokoll).

Varianten

Zwei-Phasen-Commit-Protokolle

In verteilten Systemen erstreckt sich eine Transaktion häufig über mehrere Prozesse (im Englischen in diesem Zusammenhang auch als agents bezeichnet), die gemeinsam und voneinander abhängig Daten verändern. Zur Gewährleistung der Atomarität ist hier ein verteiltes Commit-Protokoll erforderlich.

Das bekannteste Verfahren ist das sogenannte „Two-Phase-Commit“ oder Zwei-Phasen-Commit (2PC). Dabei holt ein Koordinator (meist der Prozess, der die Festschreibung einleitet) in der ersten Phase des Protokolls die Zustimmung oder Ablehnung zur Festschreibung der Datenveränderungen aller beteiligten Prozesse ein (auch „Abstimmungsphase“). Nur, wenn alle Teilnehmer zustimmen, entscheidet der Koordinator auf „Commit“, ansonsten lautet die Entscheidung „Rollback“ (Zurücksetzen). Ist die Entscheidung gefallen, unterrichtet der Koordinator in der zweiten Phase („Commit Phase“) des Protokolls die Teilnehmer über das Ergebnis. Gemäß diesem gemeinsamen Ergebnis wird entweder die gesamte Transaktion zurückgesetzt, oder alle Teiltransaktionen werden zum erfolgreichen Ende geführt indem die zwischenzeitlich gesperrten Ressourcen wieder freigegeben werden.

Beim Zwei-Phasen-Commit besteht das grundsätzliche Problem, dass Teilnehmer zwischenzeitlich blockiert werden. Das passiert, sobald ein Teilnehmer seine lokale „Commit“-Entscheidung dem Koordinator mitgeteilt hat. Danach wartet der Teilnehmer auf die globale (gemeinsame) Entscheidung. Das wird vor allem dann problematisch, wenn der Koordinator zwischenzeitlich ausgefallen ist. In dieser Situation kann der Teilnehmer weder die gesperrten Ressourcen freigeben, noch die lokale Transaktion zurücksetzen. Allenfalls kann der Teilnehmer die globale Commit-Entscheidung von einem anderen Teilnehmer in Erfahrung bringen.

Drei-Phasen-Commit-Protokolle

Zur Reduzierung der Zahl der notwendigen Protokollierungsvorgänge, der Zahl der erforderlichen Nachrichten sowie zur Steigerung der Robustheit werden in der Fachliteratur zahlreiche Varianten des 2PC-Protokolls diskutiert. So zielt etwa das sogenannte Drei-Phasen-Commit-Protokoll (3PC) darauf ab, das Risiko der Blockierung zu vermeiden. Dazu ist eine Erhöhung der Zahl der Nachrichtenrunden erforderlich, damit bei einem zwischenzeitlichen Ausfall des Koordinators das Protokoll durch einen neuen Koordinator zu Ende geführt werden kann.

Korrektheit

Das 2PC-Protokoll garantiert die Korrektheit auch dann, wenn einzelne oder mehrere Rechner ausfallen oder wenn Netzwerkpartitionierungen auftreten, so dass die Kommunikation zwischen lauffähigen Rechnern unterbunden wird. Korrektheit bedeutet dabei: Es kann nicht vorkommen, dass eine Transaktion bei verschiedenen Teilnehmern zu unterschiedlichen Ergebnissen kommt.


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Two-phase commit protocol — In computer networking and databases, the two phase commit protocol (2PC) is a distributed algorithm that lets all nodes in a distributed system agree to commit a transaction. The protocol results in either all nodes committing the transaction or …   Wikipedia

  • Global serializability — In concurrency control of databases, transaction processing (transaction management), and other transactional distributed applications, Global serializability (or Modular serializability) is a property of a global schedule of transactions. A… …   Wikipedia

  • Computación Bipartita — En criptografía, Computación Bipartita Segura (Secure Two Party Computation o 2PC) es un problema que fue inicialmente planteado por Andrew C. Yao en un trabajo[1] del año 1982, donde introduce el Problema de los Millonarios, que plantea la… …   Wikipedia Español

  • X-26 Frigate — NOTOC The X 26 Program is the longest lived of the X plane programs. The program included the X 26A Frigate Sailplane and the motorized X 26B Quiet Thruster versions: QT 2, QT 2PC, and QT 2PCII. All were based on the Schweizer 2 32… …   Wikipedia

  • Two-phase locking — This article is about concurrency control. For commit consensus within a distributed transaction, see Two phase commit protocol. In databases and transaction processing two phase locking, (2PL) is a concurrency control method that guarantees… …   Wikipedia

  • Serializability — In concurrency control of databases,[1][2] transaction processing (transaction management), and various transactional applications (e.g., transactional memory[3] and software transactional memory), both centralized and distributed, a transaction… …   Wikipedia

  • Lycee Marcelin-Berthelot — Lycée Marcelin Berthelot L entrée principale du lycée Le lycée Marcelin Berthelot (LMB) se situe à l ouest de la commune de Saint Maur des Fossés et près de celle de Joinville. L établissement est considéré comme le meilleur lycée de l académie… …   Wikipédia en Français

  • Lycée Marcelin-Berthelot — L entrée principale du lycée Le lycée Marcelin Berthelot se situe à l ouest de la commune de Saint Maur des Fossés et près de celle de Joinville. Les élèves de l établissement obtenant en moyenne d excellents résultats au baccalauréat (96% de… …   Wikipédia en Français

  • Lycée Marcelin Berthelot — L entrée principale du lycée Le lycée Marcelin Berthelot (LMB) se situe à l ouest de la commune de Saint Maur des Fossés et près de celle de Joinville. L établissement est considéré comme le meilleur lycée de l académie de Créteil et comme l un… …   Wikipédia en Français

  • Lycée Marcellin-Berthelot — Lycée Marcelin Berthelot L entrée principale du lycée Le lycée Marcelin Berthelot (LMB) se situe à l ouest de la commune de Saint Maur des Fossés et près de celle de Joinville. L établissement est considéré comme le meilleur lycée de l académie… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”