Locking Strategies
Learn how to distinguish the differences between different types of locking strategies.
We'll cover the following...
A lock on a database item ensures that only one transaction updates that item in the presence of concurrent transactions. A lock ensures that the database remains consistent before and after the transaction. We’ll discuss three different types of locking strategies in this lesson:
Two-phase locking
Predicate locking
Index range locking
Two-phase locking
Two-phase locking (2PL) is a type of concurrency control that provides a serializability isolation level. In two-phase locking, multiple transactions are allowed to read concurrently if no transaction wants to write the data. When a transaction wants to write the data, it takes an exclusive lock and blocks all readers and writers.
In a two-phase locking:
Writers block other writers and readers.
Readers don't block other readers.
Two-phase locking blocks readers and writers by taking a lock in the database. There are two types of locks:
Shared lock: A lock acquired by readers that allows concurrent transactions to read data independently without blocking each other.
Exclusive lock: A lock acquired by a writer that blocks all other readers and ...