|
In computer science, in the field of databases, optimistic concurrency control, (OCC) is a concurrency control method used in relational databases without using locking. Computer science is the study of information and computation. ...
A database is an organized collection of data. ...
In computer science -- more specifically, in the field of databases -- concurrency control is a method used to ensure that database transactions are executed in a safe manner (i. ...
It has been suggested that this article or section be merged into Relational model. ...
In computer science, a lock is a mechanism for enforcing limits on access to a resource in an environment where there are many threads of execution. ...
Optimistic Concurrency Control is based on the assumption that database transactions mostly don't conflict with other transactions, and that allows OCC to be as permissive as possible in allowing transactions to execute. A database transaction is a unit of interaction with a database management system or similar system that is treated in a coherent and reliable way independent of other transactions that must be either entirely completed or aborted. ...
There are three phases in an OCC transaction: 1. READ: The client reads values from the database, storing them to a private sandbox or cache that the client can then edit. For the Wikipedia sandbox for editing experiments see Wikipedia:Sandbox This article is about the computer security model. ...
2. VALIDATION: When the client has completed editing of the values in its sandbox or cache, it initiates the storage of the changes back to the database. During validation, an algorithm checks if the changes to the data would conflict with either i) already-committed transactions in the case of Backward Validation Schemes, or ii) currently executing transactions in the case of Forward Validation Schemes. If a conflict exists, a Conflict Resolution Algorithm must be used to resolve the conflict somehow (ideally by minimizing the number of changes made by the user) or, as a last resort, the entire transaction can be aborted (resulting in the loss of all changes made by the user). 3. WRITE: If there is no possibility of conflict, the transactions commits. If there are few conflicts, validation can be done efficiently, and leads to better performance than other concurrency control methods. Unfortunately, if there are many conflicts, the cost of repeatedly restarting transactions, hurts performance significantly -- other non-lock concurrency control methods have better performance when there are many conflicts. In computer science, in the field of databases, non-lock concurrency control is concurrency control method used in relational databases without using locking. ...
|