Serial Safety Net (SSN) is a certifier that layers on top of weak isolation schemes like Read Committed or Snapshot Isolation to achieve full serializability without the performance penalties of Two-Phase Locking. SSN tracks dependency graphs using two watermark timestamps per transaction and aborts only when a dependency cycle is detected or imminent. Compared to standard OCC, SSN has a 'Safe Retry' property that avoids retry storms under high contention. Trade-offs include per-version metadata overhead and the need for separate phantom-prevention mechanisms. The post also explains why SI+SSN is preferable to RC+SSN despite identical theoretical guarantees: SI provides consistent mid-flight snapshots, preventing application crashes from inconsistent reads before SSN's commit-time check fires.

6m read timeFrom muratbuffalo.blogspot.com
Post cover image
Table of contents
The IdeaSSN implementationSSN vs. Pure OCCDiscussion

Sort: