Atomic commit: Difference between revisions

Content deleted Content added
Rescuing 0 sources and tagging 1 as dead. #IABot (v1.2.5)
Switch to more common terminology
Line 1:
{{Cleanup|date=July 2010}}
In the field of [[computer science]], an '''atomic commit''' is an operation that applies a set of distinct changes as a single operation. If the changes are applied then the atomic commit is said to have succeeded. If there is a failure before the atomic commit can be completed then all of the changes completed in the atomic commit are reversed. This ensures that the system is always left in a consistent state. The other key property of isolation comes from their nature as [[atomicity (database systems)|atomic]] operations. Isolation ensures that only one atomic commit is processed at a time. The most common uses of atomic commits are in [[database systems]] and [[RevisionVersion control|revisionversion control systems]].
 
The problem with atomic commits is that they require coordination between multiple systems.<ref>{{cite book |last=Bocchi |first=Wischik |title=A Process Calculus of Atomic Commit |year=2004}}</ref> As computer networks are unreliable services this means no algorithm can coordinate with all systems as proven in the [[Two Generals' Problem|Two Generals Problem]]. As databases become more and more distributed this coordination will increase the difficulty of making truly atomic commits.<ref>{{cite book |first1=Hector |last1=Garcia-Molina |first2=Jeff |last2=Ullman |first3=Jennifer |last3=Widom |title=Database Systems The Complete Book |pages=1008–1009 |publisher=Prentice Hall |year=2009}}</ref>