Spanner
James C. Corbett(Google (United States)), Peter Hochschild(Google (United States)), Wilson C. Hsieh(Google (United States)), Sebastian Kanthak(Google (United States)), Eugene Kogan(Google (United States)), Hongyi Li(Google (United States)), Alexander Lloyd(Google (United States)), Sergey Melnik(Google (United States)), David Mwaura(Google (United States)), David F. Nagle(Google (United States)), Sean Quinlan(Google (United States)), Jay B. Dean(Google (United States)), Rajesh Rao(Google (United States)), Lindsay Rolig(Google (United States)), Yasushi Saitō(Google (United States)), Michal Szymaniak(Google (United States)), Christopher M. Taylor(Google (United States)), Ruth Wang(Google (United States)), Dale Woodford(Google (United States)), Michael Epstein(Google (United States)), Andrew Fikes(Google (United States)), Christopher Frost(Google (United States)), J. J. Furman(Google (United States)), Sanjay Ghemawat(Google (United States)), Andrey Gubarev(Google (United States)), Christopher Heiser(Google (United States))
Cited by 332Open Access
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, lock-free snapshot transactions, and atomic schema changes, across all of Spanner.
Related Papers
No related papers found
Powered by citation graph analysis