Companies are collecting, storing and analyzing data more than ever before in human history. It is estimated that 90% of all the data in the world was been created in the past few years. The data within a database needs to be managed effectively for it to provide optimal value to the company and customers. Database Manage Systems helps that data management process.
A transaction is just a group of tasks which represents the minimum processing unit. The transaction throughput is just the number of transactions that can be performed in a given period. To put multiple transactions together, there are problems that can arise because of concurrency.
Concurrency control is the process of managing simultaneous execution of transactions in a shared database. The purpose of concurrency control is to enforce isolation, preserve database consistency and to resolve read-write and write-write conflicts. Concurrency control is essential to ensure atomicity, isolation, and serializability of concurrent transactions.
If it is insisted that only one transaction can execute at a time (that is, in serial order), then performance can be poor. At the highest level, concurrency control is a method for scheduling or controlling the operations of transactions in such a way that they can be executed safely. For transactions to be executed safely, they need not to cause the database to reach an inconsistent state.
For the conservative concurrency control, the pros include that all transactions can be executed correctly, the data is appropriately consistent, and the database is relatively stable and reliable. The cons include that transactions can be slow, run time can be longer, and throughput can be decreased.
For optimistic concurrency control, the strengths include transactions that are executed efficiently, relatively safe data content and potentially higher throughput. The cons include the risk of data inference, that there could be hidden errors, and that transactions could deadlock.
If concurrency is adequately controlled, then it is possible to maximize transaction throughput while avoiding the change of corrupting the database.
In a world where over 2.5 billion gigabytes are generated every day, effectively managing the data is essential to a company’s performance. These data management concepts can help the information technology professional actively implement Database Manage Systems.
#Concurrency #DMS #ComputerScience