The Transaction Manager is a component of a Database that issues read and write requests to the scheduler.

The scheduler determines the order of execution of these requests



  • Read/Write requests arrive continuously and the scheduler never knows the whole transaction
  • it also may be a long running transaction

$\Rightarrow$ the scheduler has to construct the schedule dynamically by

  • allowing some read/write requests
  • blocking others
  • restarting some transactions when necessary
  • all to ensure that the resulting schedule is conflict-serializable

There are many schedulers:

Serializable Level of Isolation