Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
A critique of ANSI SQL isolation levels
SIGMOD '95 Proceedings of the 1995 ACM SIGMOD international conference on Management of data
Efficient optimistic concurrency control using loosely synchronized clocks
SIGMOD '95 Proceedings of the 1995 ACM SIGMOD international conference on Management of data
ACM Transactions on Computer Systems (TOCS)
System level concurrency control for distributed database systems
ACM Transactions on Database Systems (TODS)
Maintaining the time in a distributed system
PODC '83 Proceedings of the second annual ACM symposium on Principles of distributed computing
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Practical uses of synchronized clocks in distributed systems
Distributed Computing
Consensus on transaction commit
ACM Transactions on Database Systems (TODS)
The SMART way to migrate replicated stateful services
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
Distributed directory service in the Farsite file system
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
Implementing Distributed Read-Only Transactions
IEEE Transactions on Software Engineering
The end of an architectural era: (it's time for a complete rewrite)
VLDB '07 Proceedings of the 33rd international conference on Very large data bases
Bigtable: A Distributed Storage System for Structured Data
ACM Transactions on Computer Systems (TOCS)
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
PNUTS: Yahoo!'s hosted data serving platform
Proceedings of the VLDB Endowment
Improving Transaction-Time DBMS Performance and Functionality
ICDE '09 Proceedings of the 2009 IEEE International Conference on Data Engineering
A comparison of approaches to large-scale data analysis
Proceedings of the 2009 ACM SIGMOD International Conference on Management of data
MapReduce: a flexible data processing tool
Communications of the ACM - Amir Pnueli: Ahead of His Time
ACM SIGACT News
Large-scale incremental processing using distributed transactions and notifications
OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation
Scalable consistency in Scatter
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
Transactional storage for geo-replicated systems
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
PIQL: success-tolerant query processing in the cloud
Proceedings of the VLDB Endowment
Calvin: fast distributed transactions for partitioned database systems
SIGMOD '12 Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data
F1: the fault-tolerant distributed RDBMS supporting google's ad business
SIGMOD '12 Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data
Granola: low-overhead distributed transaction coordination
USENIX ATC'12 Proceedings of the 2012 USENIX conference on Annual Technical Conference
Dynamic reconfiguration of primary/backup clusters
USENIX ATC'12 Proceedings of the 2012 USENIX conference on Annual Technical Conference
Hi-index | 0.00 |
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.