The atomicity of actions on a database is a fundamental guarantee that database systems provide to application programs. Whatever state modifications an atomic action may perform are guaranteed to be executed in an all-or-nothing manner: either all state changes caused by the action will be installed in the database or none. This property is important in the potential presence of failures that could interrupt the atomic action. The database system prepares itself for this case by logging state modifications and providing automated recovery as part of the failure handling or system restart. These implementation aspects are transparent to the application program and are thus a major relief for the programs’ failure handling and boost the application development productivity.
Since the early 1970s (or even earlier), transaction processing systems for airline reservations and debit/credit banking had means for recovery and concurrency control that were...
- 2.Bernstein PA, Hadzilacos V, Goodman N. Concurrency control and recovery in database systems. Reading: Addison-Wesley, MS; 1987.Google Scholar
- 3.Bjork LA. Recovery scenario for a DB/DC system. In: Proceedings of the ACM Annual Conference; 1973. p. 142–6.Google Scholar
- 4.Davies CT. Recovery semantics for a DB/DC system. In: Proceedings of 1st ACM Annual Conference; 1973. p. 136–41.Google Scholar
- 5.Elmagarmid AK, editor. Database transaction models for advanced applications. San Fransisco: Morgan Kaufmann; 1992.Google Scholar
- 7.Gray J. Notes on database operating systems. In: Operating systems – an advanced course. London: Springer; 1978.Google Scholar
- 12.Lomet DB. Process structuring, synchronization, and recovery using atomic actions. In: Proceedings of the ACM Conference on Language Design for Reliable Software; 1977. p. 128–37.Google Scholar
- 14.Weikum G, Vossen G. Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery. San Fransisco: Morgan Kaufmann; 2002.Google Scholar