2012 · 827 citations · 32 references
ComputingComputer ScienceComputer SystemsData ManagementDatabasesDistributed SystemsConcurrency ControlData ReplicationDatabase ManagementDistributed DatabasesDistributed TransactionsTransaction ManagementClock LatencyClock UncertaintyConsistencyConsistency In Distributed DatabasesData Replication ProtocolsDistributed Transaction SynchronizationLock-free ProgrammingLock-free Synchronization
Spanner is Google’s scalable, multi-version, globallydistributed, 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. 1
32
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