Upload
dhirendra-kumar-singh
View
9
Download
5
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 |