Why do we need concurrency control mechanisms in DBMS? Problems with concurrent execution of transactions
Need for Concurrency Control in Executing Database Transactions
Concurrency or concurrent execution of transactions is about executing multiple transactions simultaneously. This is done by executing few instructions of one transaction then the next and so on. This way will increase the Transaction throughput (number of transactions that can be executed in a unit of time) of the system is increased. All the advantages are discussed here.
When you execute multiple transactions simultaneously, extra care should be taken to avoid inconsistency in the results that the transactions produce. This care is mandatory especially when two or more transactions are working (reading or writing) on the same database items (data objects).
For example, one transaction is transferring money from account A to account B while the other transaction is withdrawing money from account A. these two transactions should not be permitted to execute in interleaved fashion like the transaction that are working on different data items. We need to serially execute (one after the other) such transactions.
If we do not take care about concurrent transactions that are dealing with same data items, that would end up in following problems;
Go to Transaction Management in DBMS home page