Building D1: a Global Database
Apr 1, 2024Vy Ton, Justin Mazzola Paluska

Summary
This post introduces the concept of asynchronous read replication for D1, explaining its benefits for global applications and detailing the challenges of maintaining consistency across replicas. It proposes a solution using a new Sessions API that leverages Lamport timestamps and routes queries to the primary for writes and to replicas (with delay) for reads to achieve sequential consistency. The post also contrasts D1's default snapshot isolation with the read committed model that can arise from inconsistent replica routing.