A transaction is a tool for application programmers to delegate the responsibility for preventing damage to data from threats such as concurrent execution, partial execution, or system crashes to the database system software; at the same time, application programmers retain the obligation to think about the impact on data consistency of the code they are writing, when executed alone and without failures. From a programmer’s perspective, the power of the transaction paradigm hence lies in the fact that it reduces the task of concurrent failure-aware programming of the entire system to that of correct sequential programming of each application program separately. The transaction concept offers the ACID properties (short for atomicity, consistency preservation, isolation, and durability) and materializes through concurrency control and recovery. It is nowadays used beyond database systems, and it is being extended to systems in the...
- 2.Elmagarmid AK. Database transaction models for advanced applications. San Francisco: Morgan Kaufmann; 1992.Google Scholar
- 4.Gray J, Lorie RA, Putzolu GR, Traiger IL. Granularity of locks in a large shared data base. In: Proc. 1st Int. Conf. on Very Large Data Bases; 1975. pp. 428–51.Google Scholar
- 5.Weikum G, Vossen G. Transactional information systems – theory, algorithms, and the practice of concurrency control and recovery. San Francisco: Morgan Kaufmann; 2002.Google Scholar