Search⌘ K
AI Features

Optimistic Concurrency Control (OCC)

Explore optimistic concurrency control (OCC) to understand how distributed systems achieve isolation during concurrent transactions. Learn the three key phases of OCC — begin, read and modify, and validate and commit — and discover techniques like version checking and timestamp ordering that help maintain data consistency efficiently without using locks.

Optimistic concurrency control (OCC) is a concurrency control method that was first proposed in 1981 by Kung et al.H. T. Kung and J. T. Robinson, “On optimistic methods for concurrency control,” ACM Transactions on Database Systems, Volume 6, Issue 2, 1981., where transactions can access data items without acquiring locks on them.

In this method, transactions execute in the following three phases:

  • Begin
  • Read & modify
  • Validate & commit/rollback

Begin phase

In this phase, transactions are assigned a unique timestampA timestamp is a monotonically increasing number, often based on the system clock. that marks the beginning of the transaction referred to as the start timestamp.

Read & modify phase

...