0% found this document useful (0 votes)
24 views24 pages

DBMS Unit5

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views24 pages

DBMS Unit5

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 24

.…………………....Department of Artificial Intelligence.

Program: AI
Course Code: BCS 501
Course Name: Database Management System
Unit: V
Faculty Name: Manisha Bhati
Email: [email protected]
.…………………... Department of Artificial Intelligence.

DBMS Concurrency Control-


Concurrency Control is the management procedure that is required for controlling concurrent execution of the
operations that take place on a database.

But before knowing about concurrency control, we should know about concurrent execution.

Concurrent Execution in DBMS-

 In a multi-user system, multiple users can access and use the same database at one time, which is known as the
concurrent execution of the database. It means that the same database is executed simultaneously on a multi-
user system by different users.

 While working on the database transactions, there occurs the requirement of using the database by multiple
users for performing different operations, and in that case, concurrent execution of the database is performed.
.…………………... Department of Artificial Intelligence.

 The thing is that the simultaneous execution that is performed should be done in an interleaved manner,
and no operation should affect the other executing operations, thus maintaining the consistency of the
database. Thus, on making the concurrent execution of the transaction operations, there occur several
challenging problems that need to be solved.
.…………………... Department of Artificial Intelligence.

Lock-Based Protocol-
In this type of protocol, any transaction cannot read or write data until it acquires an appropriate lock on it.
There are two types of lock:

1. Shared lock:

It is also known as a Read-only lock. In a shared lock, the data item can only read by the transaction.
It can be shared between the transactions because when the transaction holds a lock, then it can't update the
data on the data item.

2. Exclusive lock:

In the exclusive lock, the data item can be both reads as well as written by the transaction.
This lock is exclusive, and in this lock, multiple transactions do not modify the same data simultaneously.
.…………………... Department of Artificial Intelligence.

There are four types of lock protocols available:

1. Simplistic lock protocol-


It is the simplest way of locking the data while transaction. Simplistic lock-based protocols allow all the transactions
to get the lock on the data before insert or delete or update on it. It will unlock the data item after completing the
transaction.

2. Pre-claiming Lock Protocol-

Pre-claiming Lock Protocols evaluate the transaction to list all the data items on which they need locks.
Before initiating an execution of the transaction, it requests DBMS for all the lock on all those data items.
If all the locks are granted then this protocol allows the transaction to begin. When the transaction is completed
then it releases all the lock.
If all the locks are not granted then this protocol allows the transaction to rolls back and waits until all the locks are
granted.
.…………………... Department of Artificial Intelligence.
.…………………... Department of Artificial Intelligence.

3. Two-phase locking (2PL)-

 The two-phase locking protocol divides the execution phase of the transaction into three parts.

 In the first part, when the execution of the transaction starts, it seeks permission for the lock it requires.

 In the second part, the transaction acquires all the locks. The third phase is started as soon as the
transaction releases its first lock.

 In the third phase, the transaction cannot demand any new locks. It only releases the acquired locks.
.…………………... Department of Artificial Intelligence.

There are two phases of 2PL:

Growing phase: In the growing phase, a new lock on the data item may be acquired by the transaction, but none
can be released.
.…………………... Department of Artificial Intelligence.

 Shrinking phase: In the shrinking phase, existing lock held by the transaction may be released, but no new
locks can be acquired.

In the below example, if lock conversion is allowed then the following phase can happen:

Upgrading of lock (from S(a) to X (a)) is allowed in growing phase.


Downgrading of lock (from X(a) to S(a)) must be done in shrinking phase.

Example:
.…………………... Department of Artificial Intelligence.

The following way shows how unlocking and locking work


with
2-PL.

Transaction T1:

Growing phase: from step 1-3


Shrinking phase: from step 5-7
Lock point: at 3

Transaction T2:

Growing phase: from step 2-6


Shrinking phase: from step 8-9
Lock point: at 6
.…………………... Department of Artificial Intelligence.

4. Strict Two-phase locking (Strict-2PL)-

 The first phase of Strict-2PL is similar to 2PL. In the first phase, after acquiring all the locks, the transaction
continues to execute normally.

 The only difference between 2PL and strict 2PL is that Strict-2PL does not release a lock after using it.

 Strict-2PL waits until the whole transaction to commit, and then it releases all the locks at a time.

 Strict-2PL protocol does not have shrinking phase of lock release.


.…………………... Department of Artificial Intelligence.

It does not have cascading abort as 2PL does


.…………………... Department of Artificial Intelligence.

Timestamp Ordering Protocol-

 The Timestamp Ordering Protocol is used to order the transactions based on their Timestamps. The order of
transaction is nothing but the ascending order of the transaction creation.

 The priority of the older transaction is higher that's why it executes first. To determine the timestamp of the
transaction, this protocol uses system time or logical counter.

 The lock-based protocol is used to manage the order between conflicting pairs among transactions at the
execution time. But Timestamp based protocols start working as soon as a transaction is created.

 Let's assume there are two transactions T1 and T2. Suppose the transaction T1 has entered the system at 007
times and transaction T2 has entered the system at 009 times. T1 has the higher priority, so it executes first
as it is entered the system first.

 The timestamp ordering protocol also maintains the timestamp of last 'read' and 'write' operation on a data.
.…………………... Department of Artificial Intelligence.

Basic Timestamp ordering protocol works as follows:

1. Check the following condition whenever a transaction Ti issues a Read (X) operation:

If W_TS(X) >TS(Ti) then the operation is rejected.


If W_TS(X) <= TS(Ti) then the operation is executed.
Timestamps of all the data items are updated.
2. Check the following condition whenever a transaction Ti issues a Write(X) operation:

If TS(Ti) < R_TS(X) then the operation is rejected.


If TS(Ti) < W_TS(X) then the operation is rejected and Ti is rolled back otherwise the operation is executed.

Where-

TS(TI) denotes the timestamp of the transaction Ti.


R_TS(X) denotes the Read time-stamp of data-item X.
W_TS(X) denotes the Write time-stamp of data-item X.
.…………………... Department of Artificial Intelligence.

Advantages and Disadvantages of TO protocol:


TO protocol ensures serializability since the precedence graph is as follows:

 TS protocol ensures freedom from deadlock that means no transaction ever waits.

 But the schedule may not be recoverable and may not even be cascade- free.
.…………………... Department of Artificial Intelligence.

Validation Based Protocol-

Validation phase is also known as optimistic concurrency control technique. In the validation based protocol, the
transaction is executed in the following three phases:

 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.

 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.
.…………………... Department of Artificial Intelligence.

Here each phase has the following different timestamps:

 Start(Ti): It contains the time when Ti started its execution.

 Validation (Ti): It contains the time when Ti finishes its read phase and starts its validation phase.

 Finish(Ti): It contains the time when Ti finishes its write phase.

 This protocol is used to determine the time stamp for the transaction for serialization using the time stamp of the
validation phase, as it is the actual phase which determines if the transaction will commit or rollback.

 Hence TS(T) = validation(T).

 The serializability is determined during the validation process. It can't be decided in advance.

 While executing the transaction, it ensures a greater degree of concurrency and also less number of conflicts.
Thus it contains transactions which have less number of rollbacks.
.…………………... Department of Artificial Intelligence.

Multiple Granularity-
Let's start by understanding the meaning of granularity.

Granularity: It is the size of data item allowed to lock.

Multiple Granularity:

 It can be defined as hierarchically breaking up the database into blocks which can be locked.

 The Multiple Granularity protocol enhances concurrency and reduces lock overhead.

 It maintains the track of what to lock and how to lock.

 It makes easy to decide either to lock a data item or to unlock a data item. This type of hierarchy can be
graphically represented as a tree.
.…………………... Department of Artificial Intelligence.

In this example, the highest level shows the entire database.


The levels below are file, record, and fields.
.…………………... Department of Artificial Intelligence.

There are three additional lock modes with multiple granularity:

Intention Mode Lock-

Intention-shared (IS): It contains explicit locking at a lower level of the tree but only with shared locks.

Intention-Exclusive (IX): It contains explicit locking at a lower level with exclusive or shared locks.

Shared & Intention-Exclusive (SIX): In this lock, the node is locked in shared mode, and some node is locked in
exclusive mode by the same transaction.

Compatibility Matrix with Intention Lock Modes: The below table describes the compatibility matrix for these lock
modes:
.…………………... Department of Artificial Intelligence.

It uses the intention lock modes to ensure serializability. It requires that if a transaction attempts to lock a node,

then that node must follow these protocols:

 Transaction T1 should follow the lock-compatibility matrix.


 Transaction T1 firstly locks the root of the tree. It can lock it in any mode.
 If T1 currently has the parent of the node locked in either IX or IS mode, then the transaction T1 will lock a
node in S or IS mode only.
.…………………... Department of Artificial Intelligence.

 If T1 currently has the parent of the node locked in either IX or SIX modes, then the transaction T1 will lock a node
in X, SIX, or IX mode only.
 If T1 has not previously unlocked any node only, then the Transaction T1 can lock a node.
 If T1 currently has none of the children of the node-locked only, then Transaction T1 will unlock a node.

Observe that in multiple-granularity, the locks are acquired in top-down order, and locks must be released in
bottom-up order.

 If transaction T1 reads record Ra9 in file Fa, then transaction T1 needs to lock the database, area A1 and file Fa in
IX mode. Finally, it needs to lock Ra2 in S mode.
 If transaction T2 modifies record Ra9 in file Fa, then it can do so after locking the database, area A1 and file Fa in
IX mode. Finally, it needs to lock the Ra9 in X mode.
 If transaction T3 reads all the records in file Fa, then transaction T3 needs to lock the database, and area A in IS
mode. At last, it needs to lock Fa in S mode.
 If transaction T4 reads the entire database, then T4 needs to lock the database in S mode.
.…………………... Department of Artificial Intelligence.

Recovery with Concurrent Transaction-

Whenever more than one transaction is being executed, then the interleaved of logs occur. During recovery, it
would become difficult for the recovery system to backtrack all logs and then start recovering.
To ease this situation, 'checkpoint' concept is used by most DBMS.
.…………………... Department of Artificial Intelligence.

You might also like