Concurrency Control and Recovery With concurrent transactions,all transactions share a single disk buffer and a single log A buffer block can have data items updated by one or more transactions We assume that if a transaction Ti has modified an item,no other transaction can modify the same item until T;has committed or aborted i.e.the updates of uncommitted transactions should not be visible to other transactions Otherwise how to perform undo if T1 updates A,then T2 updates A and commits,and finally T1 has to abort? Can be ensured by obtaining exclusive locks on updated items and holding the locks till end of transaction(strict two-phase locking) Log records of different transactions may be interspersed in the log. Database System Concepts-6th Edition 16.16 ©Silberschat乜,Korth and SudarshanDatabase System Concepts - 6 16.16 ©Silberschatz, Korth and Sudarshan th Edition Concurrency Control and Recovery With concurrent transactions, all transactions share a single disk buffer and a single log A buffer block can have data items updated by one or more transactions We assume that if a transaction Ti has modified an item, no other transaction can modify the same item until Ti has committed or aborted i.e. the updates of uncommitted transactions should not be visible to other transactions Otherwise how to perform undo if T1 updates A, then T2 updates A and commits, and finally T1 has to abort? Can be ensured by obtaining exclusive locks on updated items and holding the locks till end of transaction (strict two-phase locking) Log records of different transactions may be interspersed in the log