×

Concurrent Execution of Transaction

In the transaction process, a system usually allows executing more than one transaction simultaneously. This process is called a concurrent execution.

Advantages of concurrent execution of a transaction

  1. Decrease waiting time or turnaround time.
  2. Improve response time
  3. Increased throughput or resource utilization.

Concurrency problems

Several problems can occur when concurrent transactions are run in an uncontrolled manner, such type of problems is known as concurrency problems.

There are following different types of problems or conflicts which occur due to concurrent execution of transaction:

1. Lost update problem (Write – Write conflict)

This type of problem occurs when two transactions in database access the same data item and have their operations in an interleaved manner that makes the value of some database item incorrect.

If there are two transactions T1 and T2 accessing the same data item value and then update it, then the second record overwrites the first record.

Example: Let's take the value of A is 100

Time Transaction T1 Transaction T2
t1 Read(A)  
t2 A=A-50  
t3   Read(A)
t4   A=A+50
t5 Write(A)  
t6   Write(A)

Here,

  • At t1 time, T1 transaction reads the value of A i.e., 100.
  • At t2 time, T1 transaction deducts the value of A by 50.
  • At t3 time, T2 transactions read the value of A i.e., 100.
  • At t4 time, T2 transaction adds the value of A by 150.
  • At t5 time, T1 transaction writes the value of A data item on the basis of value seen at time t2 i.e., 50.
  • At t6 time, T2 transaction writes the value of A based on value seen at time t4 i.e., 150.
  • So at time T6, the update of Transaction T1 is lost because Transaction T2 overwrites the value of A without looking at its current value.
  • Such type of problem is known as the Lost Update Problem.

Dirty read problem (W-R conflict)

This type of problem occurs when one transaction T1 updates a data item of the database, and then that transaction fails due to some reason, but its updates are accessed by some other transaction.

Example: Let's take the value of A is 100

Time Transaction T1 Transaction T2
t1 Read(A)  
t2 A=A+20  
t3 Write(A)                  
t4   Read(A)
t5   A=A+30
t6   Write(A)
t7 Write(B)  

Here,

  • At t1 time, T1 transaction reads the value of A i.e., 100.
  • At t2 time, T1 transaction adds the value of A by 20.
  • At t3 time, T1transaction writes the value of A (120) in the database.
  • At t4 time, T2 transactions read the value of A data item i.e., 120.
  • At t5 time, T2 transaction adds the value of A data item by 30.
  • At t6 time, T2transaction writes the value of A (150) in the database.
  • At t7 time, a T1 transaction fails due to power failure then it is rollback according to atomicity property of transaction (either all or none).
  • So, transaction T2 at t4 time contains a value which has not been committed in the database. The value read by the transaction T2 is known as a dirty read.

Unrepeatable read (R-W Conflict)

It is also known as an inconsistent retrieval problem. If a transaction T1 reads a value of data item twice and the data item is changed by another transaction T2 in between the two read operation. Hence T1 access two different values for its two read operation of the same data item.

Example: Let's take the value of A is 100

Time Transaction T1 Transaction T2
t1 Read(A)  
t2   Read(A)
t3   A=A+30
t4   Write(A)
t5 Read(A)  

Here,

  • At t1 time, T1 transaction reads the value of A i.e., 100.
  • At t2 time, T2transaction reads the value of A i.e., 100.
  • At t3 time, T2 transaction adds the value of A data item by 30.
  • At t4 time, T2 transaction writes the value of A (130) in the database.
  • Transaction T2 updates the value of A. Thus, when another read statement is performed by transaction T1, it accesses the new value of A, which was updated by T2. Such type of conflict is known as R-W conflict. 

Related Topics

View Serializability in DBMS

View Serializability It is a type of serializability that can be used to check whether the given schedule is view serializable or not. A schedule called as a view serializable if it is view...

4 minutes read.

Enforcing Integrity Constraints in DBMS

Introduction Integrity constraints are rules that specify the conditions that must be met for the data in a database to be considered valid. These constraints help to ensure the accuracy and...

2 minutes read.

Schedule in DBMS

Schedule A sequence of statements that specify the sequential order in which the statements of concurrent transactions are executed. The transaction will get committed when it executes the instructions successfully without any...

4 minutes read.

Red-Black Tree Properties in DBMS

What is a Red-Black Tree? A red-black tree is a kind of self-balancing binary search tree. The extra bit that each node keeps denoting "color"-either "red" or "black"-is needed to keep...

3 minutes read.

Fundamentals Of Distributed DBMS

Fundamentals of DDBMS Here we are going to talk about the Fundamentals of DDBMS. But first, we need to know about Distributed databases to understand the Distributed Database Management System. Distributed Database: It is...

4 minutes read.

Cardinality in DBMS

Cardinality in DBMS Cardinality is the relationship between two or more entities (table). It shows how all the entities are connected. In DBMS, all the entities and tables are interconnected with...

2 minutes read.

Evaluating DBMS

There are various database management systems available in the market. Each type has its features and can be used for varied purposes. The large number of DBMS makes it difficult...

4 minutes read.

3- Tier Architecture in DBMS

Three-tier architecture is an application software architecture that arranges the output into three parts or tiers that are:  the presentation tier, where the user interacts with the application; the application...

4 minutes read.

Domain Constraints in DBMS

Introduction about DBMS:- DBMS stands for DataBase Management System. DBMS(DataBase Management System) is a type of software by which we can save and retrieve the user's data with the security process....

3 minutes read.

What is a Cloud Database

Cloud computing is the process of commoditizing data storage and processing time using standardized technologies. Cloud databases are databases that are hosted on cloud computing platforms such as Salesforce, GoGrid,...

4 minutes read.

Data Models in DBMS

Data Models in DBMS Data models are the models explaining the logical structure of the database systems. They describe the entities, attributes, and the relationship among the data elements of the...

8 minutes read.

Disavantages of RDBMS

RDBMS offers many features when handling the data, but it also has certain limitations that can be overcome by choosing an alternative data model. The limitations of the Relational Data...

3 minutes read.

Primary Key in DBMS

Primary Key in DBMS: A primary key is the minimal set of columns in the database table, which uniquely identifies each row or tuple in that table. Any table in...

2 minutes read.

Difference between Relational and Non-Relational Databases

Databases have become an integral part of our lives, from powering big websites like Amazon and Netflix to everyday tasks like remembering our passwords. With such an indispensable role in...

7 minutes read.

Entity and Entity set in DBMS

What is DBMS? A database management system (DBMS) is a software application that interacts with end-users, other applications, and the database itself to capture and analyze the data. A DBMS allows...

3 minutes read.

Advantages of RDBMS

The relational database management system collects related data stored in tabular format. The data is stored in rows and columns, where rows usually represent the individual entity of the collected...

6 minutes read.

Secondary Key in DBMS

What are Keys? Keys in DBMS are the attributes or set of attributes that uniquely identify a row in a set of relations. A table (relation) can have a column or...

3 minutes read.

B+ (Plus) Tree in DBMS

What is a B+ tree? The B+ tree is known as a balanced binary search tree. in this tree, we can store the data in the form of nodes. B+ tree...

9 minutes read.

Components of DBMS

The database management system (DBMS) represents an essential tool for processing data within effectively structured structures. The database management system consists of important components that work together to maintain the...

6 minutes read.

Hashing in DBMS: Static and Dynamic

Hashing in DBMS: Hashing is the technique of the database management system, which directly finds the specific data location on the disk without using the concept of index structure. In the...

4 minutes read.