Concurrency Control, Part I: How Databases Achieve Concurrency Through Conflict-Free Scheduling

In my previous blog, I explored how serializability ensures isolation across transactions while linearizability guarantees real-time consistency of single objects. This post builds on that discussion by diving deeper into serializability, essentially exploring how valid serial transaction orders are nothing but a means to achieve concurrency through conflict-free scheduling. We…

Two Models, Two Guarantees: Serializability for Isolation, Linearizability for Consistency

How do modern databases and distributed systems ensure correctness while allowing operations to run concurrently? Two foundational guarantees — serializability and linearizability — offer different answers depending on whether you care about logical correctness or real-time visibility. In this post, we’ll explore what they are, how they differ, and why it’…