3
6/10/2014 DBMS Concurrency Control http://www.tutorialspoint.com/dbms/dbms_concurrency_control.htm 1/3 DBMS Concurrency Control Advertisements In a multiprogramming environment where more than one transactions can be con there exists a need of protocols to control the concurrency of transaction to ens isolation properties of transactions. Concurrency control protocols, which ensure serializability of transactions, are Concurrency control protocols can be broadly divided into two categories: Lock based protocols Time stamp based protocols Lock based protocols Database systems, which are equipped with lock-based protocols, use mechan transaction cannot read or write data until it acquires appropriate lock on it first. Lock Binary Locks: a lock on data item can be in two states; it is either locked or un Shared/exclusive: this type of locking mechanism differentiates lock based lock is acquired on a data item to perform a write operation, it is exclusive lock more than one transactions to write on same data item would lead the inconsistent state. Read locks are shared because no data value is being cha There are four types lock protocols available: Simplistic Simplistic lock based protocols allow transaction to obtain lock on every o operation is performed. As soon as 'write' has been done, transactions ma item. Pre-claiming In this protocol, a transactions evaluations its operations and creates a lis which it needs locks. Before starting the execution, transaction requests the s it needs beforehand. If all the locks are granted, the transaction executes an locks when all its operations are over. Else if all the locks are not granted, th back and waits until all locks are granted. [Image: Pre-claiming] Two Phase Locking - 2PL This locking protocol is divides transaction execution phase into three part when transaction starts executing, transaction seeks grant for locks it nee Second part is where the transaction acquires all locks and no other Transaction keeps executing its operation. As soon as the transaction releas third phase starts. In this phase a transaction cannot demand for any lock bu HOME JAVA PHP Python Ruby Perl HTML CSS Javascript MySQL C++ UNIX MO Previous Page DBMS Tutorial DBMS Home DBMS Overview DBMS Architecture DBMS Data Models DBMS Data Schemas DBMS Data Independence Entity Relationship Model ER Model Basic Concepts ER Diagram Representation Generalization, Aggregation Relational Model DBMS Codd's Rules Relational Data Model Relational Algebra ER to Relational Model SQL Overview Relational Database Design Database Normalization Database Joins

DBMS Concurrency Control

Embed Size (px)

DESCRIPTION

dbms

Citation preview

6/10/2014 DBMS Concurrency Control

http://www.tutorialspoint.com/dbms/dbms_concurrency_control.htm 1/3

DBMS Concurrency ControlAdvertisements

In a multiprogramming environment where more than one transactions can be concurrently executed,there exists a need of protocols to control the concurrency of transaction to ensure atomicity andisolation properties of transactions.

Concurrency control protocols, which ensure serializability of transactions, are most desirable.Concurrency control protocols can be broadly divided into two categories:

Lock based protocols

Time stamp based protocols

Lock based protocols

Database systems, which are equipped with lock-based protocols, use mechanism by which anytransaction cannot read or write data until it acquires appropriate lock on it first. Locks are of two kinds:

Binary Locks: a lock on data item can be in two states; it is either locked or unlocked.

Shared/exclusive: this type of locking mechanism differentiates lock based on their uses. lock is acquired on a data item to perform a write operation, it is exclusive lock. more than one transactions to write on same data item would lead the database into aninconsistent state. Read locks are shared because no data value is being changed.

There are four types lock protocols available:

Simplistic

Simplistic lock based protocols allow transaction to obtain lock on every object before 'write'operation is performed. As soon as 'write' has been done, transactions may unlock the dataitem.

Pre-claiming

In this protocol, a transactions evaluations its operations and creates a list of data items onwhich it needs locks. Before starting the execution, transaction requests the system for all locksit needs beforehand. If all the locks are granted, the transaction executes and releases all thelocks when all its operations are over. Else if all the locks are not granted, the transaction rollsback and waits until all locks are granted.

[Image: Pre-claiming]

Two Phase Locking - 2PL

This locking protocol is divides transaction execution phase into three parts. when transaction starts executing, transaction seeks grant for locks it needs as it executes.Second part is where the transaction acquires all locks and no other lock is required.Transaction keeps executing its operation. As soon as the transaction releases its first lock, thethird phase starts. In this phase a transaction cannot demand for any lock but only releases the

HOME JAVA PHP Python Ruby Perl HTML CSS Javascript MySQL C++ UNIX MORE...

Previous Page

DBMS Tutorial

DBMS Home

DBMS Overview

DBMS Architecture

DBMS Data Models

DBMS Data Schemas

DBMS Data Independence

Entity Relationship Model

ER Model Basic Concepts

ER Diagram Representation

Generalization, Aggregation

Relational Model

DBMS Codd's Rules

Relational Data Model

Relational Algebra

ER to Relational Model

SQL Overview

Relational Database Design

Database Normalization

Database Joins

6/10/2014 DBMS Concurrency Control

http://www.tutorialspoint.com/dbms/dbms_concurrency_control.htm 2/3

acquired locks.

[Image: Two Phase Locking]

Two phase locking has two phases, one is growing; where all locks are being acquired bytransaction and second one is shrinking, where locks held by the transaction are beingreleased.

To claim an exclusive (write) lock, a transaction must first acquire a shared (read) lock and thenupgrade it to exclusive lock.

Strict Two Phase Locking

The first phase of Strict-2PL is same as 2PL. After acquiring all locks in the first phase,transaction continues to execute normally. But in contrast to 2PL, Strict-2PL does not releaselock as soon as it is no more required, but it holds all locks until commit state arrives. releases all locks at once at commit point.

[Image: Strict Two Phase Locking]

Strict-2PL does not have cascading abort as 2PL does.

Time stamp based protocols

The most commonly used concurrency protocol is time-stamp based protocol. This protocol useseither system time or logical counter to be used as a time-stamp.

Lock based protocols manage the order between conflicting pairs among transaction at the time ofexecution whereas time-stamp based protocols start working as soon as transaction is created.

Every transaction has a time-stamp associated with it and the ordering is determined by the age of thetransaction. A transaction created at 0002 clock time would be older than all other transaction, whichcome after it. For example, any transaction 'y' entering the system at 0004 is two seconds younger andpriority may be given to the older one.

In addition, every data item is given the latest read and write-timestamp. This lets the system know,when was last read and write operation made on the data item.

TIME-STAMP ORDERING PROTOCOL

The timestamp-ordering protocol ensures serializability among transaction in their conflicting read andwrite operations. This is the responsibility of the protocol system that the conflicting pair of tasksshould be executed according to the timestamp values of the transactions.

Time-stamp of Transaction Ti is denoted as TS(Ti).

Read time-stamp of data-item X is denoted by R-timestamp(X).

Write time-stamp of data-item X is denoted by W-timestamp(X).

Timestamp ordering protocol works as follows:

If a transaction Ti issues read(X) operation:

If TS(Ti) < W-timestamp(X)

Operation rejected.

If TS(Ti) >= W-timestamp(X)

Operation executed.

All data-item Timestamps updated.

If a transaction Ti issues write(X) operation:

If TS(Ti) < R-timestamp(X)

Storage and File Structure

DBMS Storage System

DBMS File Structure

Indexing and Hashing

DBMS Indexing

DBMS Hashing

Transaction AndConcurrency

DBMS Transaction

DBMS Deadlock

Backup and Recovery

DBMS Data Backup

DBMS Data Recovery

DBMS Useful Resources

DBMS Quick Guide

DBMS Useful Resources

Selected Reading

Developer's Best Practices

Effective Resume Writing

Computer Glossary

Who is Who

DBMS Concurrency Control

6/10/2014 DBMS Concurrency Control

http://www.tutorialspoint.com/dbms/dbms_concurrency_control.htm 3/3

Operation rejected.

If TS(Ti) < W-timestamp(X)

Operation rejected and Ti rolled back.

Otherwise, operation executed.

THOMAS' WRITE RULE:

This rule states that in case of:

If TS(Ti) < W-timestamp(X)

Operation rejected and Ti rolled back. Timestamp ordering rules can be modified to make theschedule view serializable. Instead of making Ti rolled back, the 'write' operation itself is ignored.

Advertisements

Copyright © 2014 by tutorialspoint. All Rights Reserved.

Previous Page Print Version

ASP.NET | jQuery | AJAX | ANT | JSP | Servlets | log4j | iBATIS | Hibernate | JDBC | Struts |