Managing Concurrent Data Access

Users who access a resource at the same time are said to be accessing the resource concurrently. Concurrent data access requires mechanisms to prevent adverse effects when multiple users try to modify resources that other users are actively using.

Topic Description

Concurrency Effects

The different levels of concurrency control have different side effects. Understanding these effects is important for picking the appropriate level of concurrency control for an application.

Types of Concurrency Control

The concurrency control mechanisms fall into the following categories:

  • Optimistic concurrency control works to minimize reader/writer blocking. With optimistic concurrency control methods, read operations do not use read locks that block data modification operations.
  • Pessimistic concurrency control works to ensure that read operations access current data and that data being read cannot be modified. With pessimistic concurrency control methods, read operations use read locks that block data modification. The locks placed by a read operation are released when the read operation is finished.

Isolation Levels in the Database Engine

The transaction isolation levels define whether a transaction uses optimistic or pessimistic concurrency control and the level of protection from other transactions accessing data at the same time.