Synchronization in nested transactions
Rodolfo Ferreira Resende · 1994
Database systems take advantage of concurrent activities in order to offer better throughput and response time for programs accessing the shared data. In spite of employing concurrency, database systems offer a a programming environment where the applications programmer is not required to write programs that have to synchronize to each other. The scheduler is the database system component that manages the concurrent accesses. The execution of application programs as seen by the scheduler is called a transaction. The scheduler ensures that, in spite of the possible interleaving of accesses, the effects of the transactions will appear atomic to each other. The scheduler does this by following a concurrency control protocol. Transaction atomicity in term of concurrency control issues is know as serializability. Most of the schedulers ensures conflict serializability, by basing their decisions on a conflict or commutativ...