Als Ausdruck der Softwaretechnik bezeichnet Commit eine bestätigende Freischaltung einer bestimmten oder mehrerer Änderungen. Der Ausdruck Commit ist von Bedeutung in der Daten-Persistierung in einer Datenbank sowie in Versionsverwaltungssystemen.
In der Versionsverwaltung bezeichnet der Commit den Prozess, bei dem neuer oder veränderter Quelltext bestätigt und somit eingespielt wird.
In Datenbanken bezeichnet Commit als Ausdruck einen erfolgreichen Abschluss einer Transaktion.Auch in Versionsverwaltungssystemen findet der Ausdruck Commit Anwendung beim Einpflegen des Programm-Quelltexts.
Im Zusammenhang mit Datenbanken trägt Commit dazu bei, dass das Ergebnis der verschiedenen Verarbeitungs-Prozessschritte dauerhaft zu speichern. Diese dauerhafte Speicherung geschieht typischerweise durch den SQL-Befehl Commit. Dazu im Gegensatz steht der Rollback: dieser macht die einzelnen Schritte der Transaktion rückgängig, womit das System wieder in den Ausgangszustand zurückgeführt wird.
Diese Art von Transaktion ist nicht nur im Zusammenhang mit Datenbanken verbreitet. Anwendung finden sie zum Beispiel auch im Rahmen der Nutzung von Message Oriented Middleware. Auch in diesem Anwendungsszenario ist bei Transaktionen von einem Commit oder im gegenteiligen Fall von einem Rollback die Rede.
Commit und die Durchführung sicherer Transaktionen
Transaktionen sind in Datenbanksystemen so zu gestalten, dass sie sicher und konsistent ablaufen. Fehler sind in diesem Zusammenhang so weit wie möglich zu vermeiden oder zu minimieren. Zu diesem Zweck existieren einheitliche Verfahren, die eine konsistente und sichere Ablaufweise der Transaktionen gewährleisten. Diese Verfahren tragen dazu bei, dass verschiedene Fehler im Vorfeld verhindert oder zumindest minimiert werden. Auf diese Weise lassen sich Unterbrechungen der Netzwerkverbindungen oder komplette Systemausfälle problemlos vermeiden.
Der Ausdruck Commit in der Versionsverwaltung
Geht es um Versionsverwaltungssysteme, so bezeichnet der Commit (oder auch Check-in) den Prozess, bei dem neuer oder veränderter Quelltext eingespielt wird. Sobald ein modifizierter oder neuer Quelltext oder andere Dateien in das System der Versionsverwaltung eingespielt wird, handelt es sich um einen so genannten Commit. Jede an der Softwareentwicklung beteiligte Partei erhält im Rahmen dessen die jeweils neue Version der Software zur Ansicht zur Verfügung.
Ein weiteres Anwendungsgebiet des Ausdrucks Commit findet sich im Taskmanager von Windows 10. Microsoft verwendet in diesem Zusammenhang den Begriff in der Bedeutung der Committed Memory. Der Ausdruck hat hierbei die Bedeutung eines zugesicherten Speichers.
Commit-Protokolle
Damit bei der Durchführung von Transaktionen Konsistenz gewahrt bleibt, gibt es bestimmte Protokoll-Verfahren. Diese tragen zudem dazu bei, dass bestimmte ACID-Standards und deren Einhaltung im Rahmen der Transaktionen sichergestellt werden. Im Rahmen dieses Verfahrens spielen der Koordinator sowie mehrere einzelne Agenten eine wichtige Rolle. Diese vereinbaren die Transaktionen und schreiben bestimmte Standards im Ablauf fest.
Arten und Varianten des Commit-Protokolls
Commit-Protokolle lassen sich unterscheiden in bestimmte Varianten. Diese unterscheiden sich unter anderem in der Anzahl ihrer Phasen. Hierbei sind das 3-Phasen- sowie das 2-Phasen-Commit-Protokoll am weitesten verbreitet. Die Wahl des jeweiligen Modells hängt unter anderem davon ab, wie konsistent die Transaktionen sowie das System innerhalb dessen sie ablaufen sein soll und wie stabil es ablaufen soll.
Das 2-Phasen-Commit-Protokoll
Das 2-Phasen-Commit-Protokoll lässt sich in die beiden Phasen der Vorbereitung und der Reaktion (Zustimmung oder Rollback). Die Transaktion wird demnach durch zwei einzelne Phasen geleitet, die von jeweils wechselseitiger Kommunikation geprägt sind.
In der ersten Phase, der Vorbereitungsphase, setzen Koordinatoren die Agenten in Kenntnis über den Wunsch der Durchführung einer Transaktion. Im Anschluss können die beteiligten Agenten der Durchführung der Transaktion zustimmen oder diese ablehnen.
Das Ergebnis der Vorbereitung in der ersten Phase teilt ein Koordinator den Agenten mit. Der Commit erfolgt nur dann, wenn eine Zustimmung aller vorliegt. Ebenso erfolgt nur in diesem Falle eine Festschreibung durch die Agenten. Kommt es zu einer Ablehnung durch die Agenten oder bleibt deren Antwort aus, so wird die Transaktion zurückgesetzt. Dies nimmt der Koordinator vor. Diese Zurücksetzung ist auch als Rollback bekannt.
Das Modell ist von einer ständigen Kommunikation zwischen Koordinator sowie sämtlichen Agenten geprägt. In Abhängigkeit der Antwort der Agenten kommt es zur Festschreibung oder zu einem Abbruch der Transaktion. Da das Vorgehen genormt ist, wird die Fehleranfälligkeit deutlich reduziert.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Das 2-Phasen Commit-Modell birgt den Vorteil einer großen Konsistenz bei der Ausführung der Transaktionen. Auch die reduzierte Fehleranfälligkeit und -häufigkeit ist als Vorteil zu verstehen.
Probleme einzelner System- oder Rechnerabstürze sind unwahrscheinlich, da die Präzision der Transaktionen bei jedem empfangenden Agenten gleichlautend eingeht.
Als Risiko oder Nachteil des 2-Phasen-Commit-Modells ist anzuführen, dass gewünschte Transaktionen blockiert werden können. Eine solche Blockade tritt auf, wenn in der Phase der Vorbereitung keine Antworten durch Agenten oder Koordinator erfolgt. Während ein Agent auf Antwort eines Koordinators wartet, ist ein Abschluss der Transaktion ebenso wenig möglich wie eine Rücksetzung. Da die Ressourcen blockiert sind, können weitere Transaktionen nicht erfolgen.
3-Phasen-Commit-Protokoll
Das 3-Phasen-Commit-Protokoll ist darauf ausgelegt, die Stabilität zu sichern und Ausfälle durch Blockaden zu minimieren. Dieses Verfahren soll das Risiko von Blockaden, wie sie im 2-Phasen-Modell auftreten können, vermeiden. Um dies zu realisieren, kommt es zur Erhöhung der Zahl der Nachrichtenrunden. Sollte ein Koordinator ausfallen oder nicht antworten, kann dessen Funktion im Protokoll durch einen anderen Koordinator übernommen werden.
Zur Anwendung kommt das 3-Phasen-Protokoll stets dann, wenn es im Besonderen auf eine konsistente Ausführung der Transaktion ankommt. Zu berücksichtigen ist, dass es sich um ein aufwändigeres Protokoll handelt, da hier mehr als ein Koordinator zum Einsatz kommen muss.