Reliable communication in the presence of failures
ACM Transactions on Computer Systems (TOCS)
Concurrency control and recovery in database systems
Concurrency control and recovery in database systems
Unifying concurrency control and recovery of transactions
Information Systems - Special issue on extending database technology
A critique of ANSI SQL isolation levels
SIGMOD '95 Proceedings of the 1995 ACM SIGMOD international conference on Management of data
ACM Transactions on Computer Systems (TOCS)
Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery
A Nonblocking Quorum Consensus Protocol for Replicated Data
IEEE Transactions on Parallel and Distributed Systems
Information storage in a decentralized computer system
Information storage in a decentralized computer system
Middleware based data replication providing snapshot isolation
Proceedings of the 2005 ACM SIGMOD international conference on Management of data
Consensus on transaction commit
ACM Transactions on Database Systems (TODS)
Bigtable: a distributed storage system for structured data
OSDI '06 Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7
Paxos made live: an engineering perspective
Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing
Dynamo: amazon's highly available key-value store
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Enhancing Edge Computing with Database Replication
SRDS '07 Proceedings of the 26th IEEE International Symposium on Reliable Distributed Systems
Concurrency Control and Consistency of Multiple Copies of Data in Distributed Ingres
IEEE Transactions on Software Engineering
PNUTS: Yahoo!'s hosted data serving platform
Proceedings of the VLDB Endowment
H-store: a high-performance, distributed main memory transaction processing system
Proceedings of the VLDB Endowment
An Autonomic Approach for Replication of Internet-based Services
SRDS '08 Proceedings of the 2008 Symposium on Reliable Distributed Systems
Cassandra: a structured storage system on a P2P network
Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures
Benchmarking cloud serving systems with YCSB
Proceedings of the 1st ACM symposium on Cloud computing
Extreme scale with full SQL language support in microsoft SQL Azure
Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
Database Replication
Proceedings of the VLDB Endowment
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
Don't settle for eventual: scalable causal consistency for wide-area storage with COPS
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
Calvin: fast distributed transactions for partitioned database systems
SIGMOD '12 Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data
Spanner: Google's globally-distributed database
OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation
MDCC: multi-data center consistency
Proceedings of the 8th ACM European Conference on Computer Systems
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
ACM SIGOPS 24th Symposium on Operating Systems Principles
Hi-index | 0.00 |
Web service providers have been using NoSQL datastores to provide scalability and availability for globally distributed data at the cost of sacrificing transactional guarantees. Recently, major web service providers like Google have moved towards building storage systems that provide ACID transactional guarantees for globally distributed data. For example, the newly published system, Spanner, uses Two-Phase Commit and Two-Phase Locking to provide atomicity and isolation for globally distributed data, running on top of Paxos to provide fault-tolerant log replication. We show in this paper that it is possible to provide the same ACID transactional guarantees for multi-datacenter databases with fewer cross-datacenter communication trips, compared to replicated logging. Instead of replicating the transactional log, we replicate the commit operation itself, by running Two-Phase Commit multiple times in different datacenters and using Paxos to reach consensus among datacenters as to whether the transaction should commit. Doing so not only replaces several inter-datacenter communication trips with intra-datacenter communication trips, but also allows us to integrate atomic commitment and isolation protocols with consistent replication protocols to further reduce the number of cross-datacenter communication trips needed for consistent replication; for example, by eliminating the need for an election phase in Paxos. We analyze our approach in terms of communication trips to compare it against the log replication approach, then we conduct an extensive experimental study to compare the performance and scalability of both approaches under various multi-datacenter setups.