SERIALIZABILITY
SERIALIZABILITY
The serial schedule is a type of schedule where one transaction is executed completely before
starting another transaction. In the serial schedule, when the first transaction completes its
cycle, then the next transaction is executed.
Serializable schedule
o The serializability of schedules is used to find non-serial schedules that allow the
transaction to execute concurrently without interfering with one another.
o A non-serial schedule will be serializable if its result is equal to the result of its
transactions executed serially.
SERIALIZABILITY: -
Some non-serial schedules may lead to inconsistency of the database.
Serializability is a concept that helps to identify which non-serial schedules are
correct and will maintain the consistency of the database.
Characteristics-
Serializable schedules behave exactly same as serial schedules.
Thus, serializable schedules are always-
Consistent
Recoverable
Cascadeless (Cascadeless schedule allows only committed read operations.)
a transaction is not allowed to read a data item until the last transaction that has
written it is committed or aborted
Strict
Example-
Consider the following schedule-
In this schedule,
W1 (A) and R2 (A) are called as conflicting operations.
This is because all the above conditions hold true for them.
Condition-01:
For each data item X, if transaction Ti reads X from the database initially in schedule
S1, then in schedule S2 also, Ti must perform the initial read of X from the database.
Condition-02:
If transaction Ti reads a data item that has been updated by the transaction T j in
schedule S1, then in schedule S2 also, transaction Ti must read the same data item that
has been updated by the transaction Tj.
Condition-03:
For each data item X, if X has been updated at last by transaction Ti in schedule S1,
then in schedule S2 also, X must be updated at last by transaction Ti.