Operating Systems Design and Implementation · 2012 · 826 citations · 32 references
Clock UncertaintyCluster ComputingData ConsistencyEngineeringData ScienceGlobally-distributed DatabaseDistributed DatabaseDistributed Data StoreManagementData IntegrationNovel Time ApiDistributed Data ManagementConcurrency ControlConsistency TechnologyData ManagementSystem SoftwareGlobal Scale
Spanner is Google's scalable, multi-version, globally-distributed, and synchronously-replicated database. It is the first system to distribute data at global scale and support externally-consistent distributed transactions. This paper 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 read-only transactions, and atomic schema changes, across all of Spanner.
32
Sanjay Ghemawat, Howard Gobioff, Shun-Tak A. Leung · ACM SIGOPS Operating Systems Review · 2003 · 5K citations
Fay W. Chang, Sanjay Ghemawat, Wilson C. Hsieh et al. · ACM Transactions on Computer Systems · 2008 · 3.4K citations
Leslie Lamport · ACM Transactions on Computer Systems · 1998 · 2.7K citations · Full text
Sanjay Ghemawat · Communications of the ACM · 2009 · 1.2K citations