Types of locks, Database Management System

Assignment Help:

Types of Locks

There are two necessary types of locks:

  • Binary lock: This locking mechanism has two states for to a data item: locked or unlocked
  • Multiple-mode locks: In this locking type every data item can be in 3 states read locked or shared locked, write locked or exclusive locked or unlocked.

Let us first take an instance for binary locking and describes how it solves the concurrency related troubles. Let us reconsider the transactions T1 and T2 for this purpose; though we will add to needed binary locks to them.

Schedule

T1

T2

Lock X

Lock X

 

Read X

Read X

 

Subtract 100

Subtract 100

 

Write X

Write X

 

Unlock X

Unlock X

 

Lock X

 

Lock X

Lock Y

 

Lock Y

Read X

 

Read X

Read Y

 

Read Y

Display X+Y

 

Display X+Y

Unlock X

 

Unlock X

Unlock Y

 

Unlock Y

Lock Y

Lock Y

 

Read Y

Read Y

 

Add 100

Add 100

 

Write Y

Write Y

 

Unlock Y

Unlock Y

 

 

 

 

                                                         Figure: An incorrect locking implementation

Does the locking as completed above solve the problem of concurrent transactions? No the similar problems still remains. Try working with the old value. Therefore, locking should be completed with some logic in order to make sure that locking results in no concurrency related problem. One such answer is given below:

Schedule

T1

T2

Lock X

Lock X

 

Lock Y

Lock Y

 

Read X

Read X

 

Subtract 100

Subtract 100

 

Write X

Write X

 

Lock X (issued by

T2)

Lock X: denied as T1 holds the lock.

The transaction T2 Waits and T1 continues.

Read Y

Read Y

 

Add 100

Add 100

 

Write Y

Write Y

 

Unlock X

Unlock X

 

 

The lock request of T2 on X can now

be granted it can resumes by locking X

Unlock Y

Unlock Y

 

Lock Y

 

Lock Y

Read X

 

Read X

Read Y

 

Read Y

Display X+Y

 

Display X+Y

Unlock X

 

Unlock X

Unlock Y

 

Unlock Y

                                                              Figure: A correct but restrictive locking implementation

Therefore, the locking as above when you get all the locks at the starting of the transaction and release them at the end ensures that transactions are implemented with no concurrency related problems. Though, such a scheme limits the concurrency. We will talk about a two-phase locking method in the next subsection that gives sufficient concurrency. Though, let us first discuss multiple mode locks.


Related Discussions:- Types of locks

What is rigorous two phase locking protocol, Differentiate strict two phase...

Differentiate strict two phase locking protocol and rigorous two phase locking protocol. In strict two phase locking protocol all exclusive mode locks taken by a transaction is

Concurrency executions, Explain TPS concurreny executions stating their adv...

Explain TPS concurreny executions stating their advantages in online business advancement

What is primary key, What is Primary key? Primary Key - Primary key i...

What is Primary key? Primary Key - Primary key is one of the candidate keys which uniquely identifies each row in the relation.

Difference between a composite key and attribute, Question: (a) Discuss...

Question: (a) Discuss the difference between a composite key and a composite attribute. How would each be indicated in an E-R diagram? Support your answer with appropriate exam

Differentiate between natural join and outer join, Differentiate between na...

Differentiate between natural join and outer join? Natural join is a binary operator which is written as (R * S) where as R and S are relations. The output of the natural join

Which sorting technique is used to sort databases, Which sorting technique ...

Which sorting technique is used to sort databases, whose sizes are very big?  Give one such algorithm.  Why do sorting techniques like quicksort, insertion sort, etc.  not applied

What are the categories of sql command, What are the categories of SQL comm...

What are the categories of SQL command? SQL commands are separated in to the following categories: 1. Data - Definitition Language 2. Data Manipulation language 3. Dat

Join relation of two tuples, Consider the join of a relation R with relatio...

Consider the join of a relation R with relation S. If R has m tuples and S has n tuples, then the maximum size of join is: If R has m tuples and S has n tuples then maximum siz

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd