Optimistic concurrency control (OCC), also known as optimistic locking, is a non-locking concurrency control method applied to transactional systems such as relational database management systems and software transactional memory. OCC assumes that multiple transactions can frequently complete without interfering with each other. While running, transactions use data resources without acquiring locks on those resources. Before committing, each transaction verifies that no other transaction has modified the data it has read. If the check reveals conflicting modifications, the committing transaction rolls back and can be restarted.[1] Optimistic concurrency control was first proposed in 1979 by H. T. Kung and John T. Robinson.[2]
OCC is generally used in environments with low data contention. When conflicts are rare, transactions can complete without the expense of managing locks and without having transactions wait for other transactions' locks to clear, leading to higher throughput than other concurrency control methods. However, if contention for data resources is frequent, the cost of repeatedly restarting transactions hurts performance significantly, in which case other concurrency control methods may be better suited. However, locking-based ("pessimistic") methods also can deliver poor performance because locking can drastically limit effective concurrency even when deadlocks are avoided.
^Johnson, Rohit (2003). "Common Data Access Issues". Expert One-on-One J2EE Design and Development. Wrox Press. ISBN 978-0-7645-4385-2. Archived from the original on 8 October 2011.
^H. T. Kung, J. T. Robinson (1981). "On Optimistic Methods for Concurrency Control" (PDF). ACM Transactions on Database Systems. Archived (PDF) from the original on August 31, 2019.
and 19 Related for: Optimistic concurrency control information
Optimisticconcurrencycontrol (OCC), also known as optimistic locking, is a non-locking concurrencycontrol method applied to transactional systems such...
operating systems, multiprocessors, and databases, concurrencycontrol ensures that correct results for concurrent operations are generated, while getting those...
of concurrencycontrol: pessimistic concurrency and optimisticconcurrency. When pessimistic concurrencycontrol is being used, SQL Server controls concurrent...
if the content has not changed. ETags can also be used for optimisticconcurrencycontrol to help prevent simultaneous updates of a resource from overwriting...
exploiting value locality, prefetching memory and files, and optimisticconcurrencycontrol in database systems. Speculative multithreading is a special...
available clustered RDBMS developed by Bloomberg LP, built on optimisticconcurrencycontrol techniques. It provides multiple isolation levels, including...
physical assets in an enterprise Operational transformation, an optimisticconcurrencycontrol method for group editing Optimality Theory, a linguistic model...
American computer company Occasionally connected computing Optimisticconcurrencycontrol On-chip controller, a power and thermal monitoring component...
respirators, like N95 masks, was invented by Peter Tsai. The optimisticconcurrencycontrol method was first proposed by Taiwanese computer scientist H...
allow preemption include lock-free and wait-free algorithms and optimisticconcurrencycontrol. If a process holding some resources and requests for some another...
linked list. Safely handling undefined values is important in optimisticconcurrencycontrol systems, which detect race conditions after the fact. For example...
little conflict among threads. Transactional memory provides optimisticconcurrencycontrol by allowing threads to run in parallel with minimal interference...
MySQL replication, MySQL Cluster's geographic replication uses optimisticconcurrencycontrol and the concept of Epochs to provide a mechanism for conflict...
Optimistic replication, also known as lazy replication, is a strategy for replication, in which replicas are allowed to diverge. Traditional pessimistic...
database management systems and other software use multiversion concurrencycontrol. Altibase Berkeley DB Cloudant Cloud Spanner Clustrix CockroachDB...
population. They are more optimistic in reviewing the literature on the relationship between internal health locus of control and smoking cessation, although...
serializability techniques in concurrencycontrol of databases, transaction processing, and related applications. It allows optimistic (non-blocking) implementations...