Rootconf 2025 Annual Conference CfP

Rootconf 2025 Annual Conference CfP

Speak at Rootconf 2025 Annual Conference

Tickets

Loading…

Shriram Balaji

Shriram Balaji

@shrirambalaji

Frozen in Time: Implementing Snapshot Isolation in a Tiny KV Store

Submitted Apr 20, 2025

Overview

MVCC powers most modern databases by giving each transaction its own immutable snapshot and eliminates read‑write contention and also guarantees repeatable and consistent reads.

Snapshot Isolation

In this talk, we will learn about snapshot isolation, how MVCC enables time-travel queries and help build an intuition for concurrency control protocols using interactive visualizations.

MVCC in ShrewKV

We will then walk through a step‑by‑step minimal implementation of MVCC in ShrewKV, a tiny in‑memory Rust key‑value store.

Along the way, we’ll dive deeper into the essential implementation steps - version chains, snapshot reads, conflict checks, and garbage collection of obsolete versions. By the end of the talk, we will have a better understanding of MVCC, and the the nuances of implementing it from scratch.

Key Takeaways

  • Snapshot Isolation in Production: We’ll learn how snapshot isolation forms the backbone of systems like Spanner, CockroachDB, and PostgreSQL by giving you a clear mental model for how real‑world databases handle concurrent reads, geo‑distributed queries, and time‑travel snapshots.

  • Seeing MVCC in Action: Walking through ShrewKV’s MVCC implementation helps bridge theory and practice, giving you deeper insight into how snapshot isolation powers real-world systems.

Who Should Attend?

This session is ideal for backend and database engineers designing high‑throughput storage systems, architects choosing isolation models for distributed services, and engineers eager to learn about real‑world concurrency control patterns.

Bio

Shriram Balaji works as a Senior Software Engineer at Microsoft, in Microsoft 365 Core building large scale distributed systems that deal with O(exabytes) of data and trillions of requests per day. He likes to tinker with systems, databases, compilers and things on the web.

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hybrid access (members only)

Hosted by

We care about site reliability, cloud costs, security and data privacy