DB-EnginesInfluxDB download bannerEnglish
Deutsch
Informationen zu relationalen und NoSQL DatenbankmanagementsystemenEin Service von solid IT

Enzyklopädie > Artikel

Two-Phase-Commit
weitergeleitet von Zwei-Phasen-Commit

Das Two-Phase-Commit, auf Deutsch manchmal Zwei-Phasen-Commit genannt, ist ein Protokoll für den sicheren Abschluss einer Transaktion in einem verteilten Datenbanksystem.

Bei einer auf mehrere Knoten verteilten Transaktion stellt die Einhaltung der ACID Kriterien eine besondere Herausforderung dar, da die selbständig agierenden Knoten entsprechend koordiniert werden müssen. Das übernimmt beim Two-Phase-Commit ein Koordinator-Knoten auf folgende Art:

  • Nach Beendigung aller Bearbeitungsschritte der Transaktion sendet der Koordinator eine PREPARE Nachricht, an alle beteiligten Knoten, welche üblicherweise Agenten genannt werden. Diese PREPARE Nachricht leitet die erste Phase, die sog. Abstimmungsphase ein.
  • Alle Agenten versuchen die Wiederholbarkeit und die Rückgängigmachung der Transaktion sicherzustellen, indem sie entsprechende Undo- und Redo-Logs erstellen. Falls dies gelingt schicken sie eine READY Nachricht and den Koordinator, sonst eine FAILED Nachricht.
  • Der Koordinator sammelt alle Nachrichten. Falls alle Agenten READY signalisiert haben, sendet der Koordinator eine COMMIT Nachricht an jeden Agenten, sonst eine ABORT Nachricht. Mit dieser zweiten Nachricht an die Agenten beginnt die Commitphase.
  • Alle Agenten schließen die Transaktion entsprechend ab, entweder indem sie fertiggestellt oder rückgängig gemacht wird. Erst jetzt werden eventuelle Locks aufgehoben und abschließend eine Bestätigung (ACK Nachricht) an den Koordinator geschickt.
  • Der Koordinator beendet die Commit Phase und damit die gesamte Transaktion nach Erhalt aller ACK Nachrichten.

Die hier beschriebene Variante ist das sog. Basis-Protokoll des Two-Phase-Commits, es gibt verschiedene Verfeinerungen und Abwandlungen, aber das hier beschriebene Grundprinzip ist allen Varianten gemeinsam.



Featured Products

Redis logo

Hosted, serverless DBaaS
in 3 steps.

30MB Free!
Start now.

Neo4j logo

Get your free copy of the new O'Reilly book Graph Algorithms with 20+ examples for
machine learning, graph analytics and more.

AllegroGraph logo

Graph Database Leader for AI Knowledge Graph Applications - The Most Secure Graph Database Available.
Free Download


Datastax logo

Build data-driven applications that set the standard for performance, availability,
& scale with DataStax.
Learn more.

Couchbase logo

SQL + JSON + NoSQL.
Power, flexibility & scale.
All open source.
Get started now.

Präsentieren Sie hier Ihr Produkt