Notes and Study Materials

The Scheduler and its Functions

You now know that severe problems can arise when two or more concurrent transactions are executed. You also know that a database transaction involves a series of database I/O operations that take the database from one consistent state to another. Finally, you know that database consistency can be ensured only before and after the execution of transactions.

  • A database always moves through an unavoidable temporary state of inconsistency during a transaction’s execution if such transaction updates multiple tables/rows. (If the transaction contains only one update, then there is no temporary inconsistency.) That temporary inconsistency exists because a computer executes the operations serially, one after another. During this serial process, the isolation property of transactions prevents them from accessing the data not yet released by other transactions.
  • The scheduler establishes the order in which the operations with in concurrent transactions are executed. The scheduler interleaves the execution of database operations to ensure serializability. To determine the appropriate order, the scheduler bases its actions on concurrency control algorithms, such as locking or time-stamping methods. The scheduler also makes sure that the computer’s CPU is used efficiently.
  • The DBMS determines what transactions are serializable and proceeds to interleave the execution of the transaction’s operations. Generally, transactions that are not serializable are executed on a first-come, first-served basis by the DBMS. The scheduler’s main job is to create a serializable schedule of a transaction’s operations. 
  • A serializable schedule is a schedule of a transaction’s operations in which the interleaved execution of the transactions (T1, T2, T3, etc.) yields the same results as if the transactions were executed in serial order (one after another).
  • The scheduler also makes sure that the computer’s central processing unit (CPU) and storage systems are used efficiently. If there were no way to  schedule the execution of transactions, all transactions would be executed on a first-come, first-served basis. The problem with that approach is that processing time is wasted when the CPU waits for a READ or WRITE operation to finish, thereby losing several CPU cycles.
  • The scheduler facilitates data isolation to ensure that two transactions do not update the same data element at the same time. Database operations might require READ and/or WRITE actions that produce conflicts. For example, The following Table shows the possible conflict scenarios when two transactions, T1 and T2, are executed concurrently over the same data. Note that in Table 10.11, two operations are in conflict when they access the same data and at least one of them is a WRITE operation.

Sheduler and its functions

You May Also Like:

Transaction and Its Properties

Transaction Log

Concurrency Problems

Sheduler

Deadlocks in DBMS

Back to DBMS Questions