Technical Seminar Topic on Concurrency control in distributed systems
A transaction in a database structure is defined as a unit of work executed inside the database system for the mutual benefits of the two or more parties involved in it. In our day to day life itself lots of transactions are happening in front of us. Many of us purchase movie tickets or travel tickets online where plenty of simultaneous users will be accessing the same website from all corners of the world. The use of concurrency control arises when same set of users are accessing one pin point in that site and there is a chance of conflict in the database processing, for that the programs accessing the database must be isolated concurrently. This concept is purely a database management system one and ensures that there is no overlap during the processing of the query.
Concurrency control Techniques in DBMS’s ACID rule forms the basis of concurrency control:
A transaction life first begins and then executes data, commit if zero errors and rollback if there are errors, for this process to happen there are business objects, transaction manager to start the transaction which with the help of a business service populates or search the database. If the concurrency control in transaction does not happen there is a huge chance that data would become corrupt and will affect the functioning of the whole system. Some type of problems arising in concurrency control include lost update problem, dirty read problem, incorrect summary problem etc. while the concurrency mechanisms are optimistic, pessimistic and semi-optimistic. The various concurrency control methods are locking, serialization, timestamp ordering, commitment ordering etc.
Advantages of concurrency control
- Less chance of errors
- Less chance of site hanging or blockage
- Data handling is much smoother and clearer
- Blocks unwanted operations
Download Concurrency control in DBMS Documentation.