Spanner: Google’s Globally-Distributed Database
Reading group: Melek Ghouma presented "Spanner: Google’s Globally-Distributed Database" (TOCS'13) at 1A312 the 26/1/2024 at 10h50.
Abstract
Spanner is Google’s scalable, multiversion, globally distributed, and synchronously replicated database. It is the first system to distribute data at global scale and support externally-consistent distributed transactions. This article describes how Spanner is structured, its feature set, the rationale underlying various design decisions, and a novel time API that exposes clock uncertainty. This API and its implementation are critical to supporting external consistency and a variety of powerful features: nonblocking reads in the past, lockfree snapshot transactions, and atomic schema changes, across all of Spanner.