Achieving Full Serializable Snapshot Isolation
Explore the principles and mechanisms behind serializable snapshot isolation (SSI) to achieve full serializability in concurrent transactions. Understand how SSI detects and prevents cycles in transaction dependencies by using flags and soft locks, ensuring consistency in distributed databases through an optimistic concurrency control approach.
We'll cover the following...
Research in the field of concurrency control mechanism for achieving snapshot isolation level has resulted in an improved algorithm, called
This algorithm is still optimistic and just adds some extensions on top of what we described in the previous lesson.
Serializable snapshot isolation (SSI)
The solution mechanics are based on a key principle of previous research that showed that all the non-serializable executions under snapshot isolation share a common characteristic.
Statement
SSI states this: in the precedence graph of any non-serializable execution, there are two rw-dependency edges that form consecutive edges in a cycle. These involve two transactions that have been active concurrently, as shown in the following illustration.
, and are three concurrent transactions. ...