Transactions are the core mechanism to guarantee database consistency in the presence of failures. The lecture introduces the cornerstones of the Transaction Concept and related techniques and system architectures. Topics are:
- Reconstructing the Transaction Model
- Advanced Transaction Models
- Queued transaction processing
- Implementing the ACID properties of transactions: Concurrency control, logging and recovery
- TP Monitors: TRPC, Architecture of TP Monitor, Transaction Manager
This course generalizes the transaction concept from its traditional database system domain to the broader context of client-server computing. The course begins by defining basic terminology and concepts. The role of a transaction processing system in application design, implementation, and operation is covered. Subsequent lectures cover the theory and practice of implementing locking, logging, and the more generic topic of implementing transactional resource managers.