Optimistic Concurrency Control
The optimistic
method of concurrency control is based on the assumption that conflicts of
database operations are rare and that it is better to let transactions run to
completion and only check for conflicts before they commit.
An
optimistic concurrency control method is also known as validation or
certification methods. No checking is done while the transaction is executing.
The optimistic method does not require locking or time stamping techniques.
Instead, a transaction is executed without restrictions until it is committed.
In
optimistic methods, each transaction moves through the following phases:
- Read phase.
- Validation or certification
phase.
- Write phase.
Read phase: In
this phase, the transaction T is read and executed. It is used to read the
value of various data items and stores them in temporary local variables. It
can perform all the write operations on temporary variables without an update
to the actual database.
Validation phase: In this phase, the temporary variable value will be
validated against the actual data to see if it violates the serializability.
Three
rules to enforce serializability in validation phase −
Rule 1 − Given two transactions Ti and
Tj, if Ti is reading the data item which Tj is
writing, then Ti’s
execution phase cannot overlap with Tj’s commit phase. Tj can
commit only after Ti has
finished execution.
Rule 2 − Given two transactions Ti and
Tj, if Ti is writing the data item that Tj is
reading, then Ti’s commit
phase cannot overlap with Tj’s execution phase. Tj can
start executing only after Ti has
already committed.
Rule 3 − Given two transactions Ti and
Tj, if Ti is writing the data item which Tj is
also writing, then Ti’s
commit phase cannot overlap with Tj’s commit phase. Tj can
start to commit only after Ti has
already committed.
Write phase: If
the validation of the transaction is validated, then the temporary results are
written to the database or system otherwise the transaction is rolled back.
No comments:
Post a Comment