Concurrency control and recovery in database systems
Concurrency control and recovery in database systems
From group communication to transactions in distributed systems
Communications of the ACM
The dangers of replication and a solution
SIGMOD '96 Proceedings of the 1996 ACM SIGMOD international conference on Management of data
ACM Transactions on Computer Systems (TOCS)
Towards robust distributed systems (abstract)
Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
Replica Consistency in Lazy Master Replicated Databases
Distributed and Parallel Databases
Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery
Distributed Algorithms
Impossibility of distributed consensus with one faulty process
PODS '83 Proceedings of the 2nd ACM SIGACT-SIGMOD symposium on Principles of database systems
The Database State Machine Approach
Distributed and Parallel Databases
Don't Be Lazy, Be Consistent: Postgres-R, A New Way to Implement Database Replication
VLDB '00 Proceedings of the 26th International Conference on Very Large Data Bases
Atomic Updates of Replicated Data
EDCC-2 Proceedings of the Second European Dependable Computing Conference on Dependable Computing
A Suite of Database Replication Protocols based on Group Communication Primitives
ICDCS '98 Proceedings of the The 18th International Conference on Distributed Computing Systems
Understanding Replication in Databases and Distributed Systems
ICDCS '00 Proceedings of the The 20th International Conference on Distributed Computing Systems ( ICDCS 2000)
From Total Order to Database Replication
ICDCS '02 Proceedings of the 22 nd International Conference on Distributed Computing Systems (ICDCS'02)
The Ensemble System
Ganymed: scalable replication for transactional web applications
Proceedings of the 5th ACM/IFIP/USENIX international conference on Middleware
Postgres-R(SI): Combining Replica Control with Concurrency Control Based on Snapshot Isolation
ICDE '05 Proceedings of the 21st International Conference on Data Engineering
Middleware based data replication providing snapshot isolation
Proceedings of the 2005 ACM SIGMOD international conference on Management of data
DSN '05 Proceedings of the 2005 International Conference on Dependable Systems and Networks
Database Replication Using Generalized Snapshot Isolation
SRDS '05 Proceedings of the 24th IEEE Symposium on Reliable Distributed Systems
MIDDLE-R: Consistent database replication at the middleware level
ACM Transactions on Computer Systems (TOCS)
Consensus on transaction commit
ACM Transactions on Database Systems (TODS)
Lazy database replication with snapshot isolation
VLDB '06 Proceedings of the 32nd international conference on Very large data bases
Managing Transaction Conflicts in Middleware-based Database Replication Architectures
SRDS '06 Proceedings of the 25th IEEE Symposium on Reliable Distributed Systems
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
C-JDBC: flexible database clustering middleware
ATEC '04 Proceedings of the annual conference on USENIX Annual Technical Conference
Tolerating byzantine faults in transaction processing systems using commit barrier scheduling
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Middleware-based database replication: the gaps between theory and practice
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
Extending DBMSs with satellite databases
The VLDB Journal — The International Journal on Very Large Data Bases
DBFarm: a scalable cluster for multiple databases
Proceedings of the ACM/IFIP/USENIX 2006 International Conference on Middleware
Predicting replicated database scalability from standalone database profiling
Proceedings of the 4th ACM European conference on Computer systems
Snapshot isolation and integrity constraints in replicated databases
ACM Transactions on Database Systems (TODS)
Vertical paxos and primary-backup replication
Proceedings of the 28th ACM symposium on Principles of distributed computing
Extreme scale with full SQL language support in microsoft SQL Azure
Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
Consistent data replication: is it feasible in WANs?
Euro-Par'05 Proceedings of the 11th international Euro-Par conference on Parallel Processing
SWORD: scalable workload-aware data placement for transactional workloads
Proceedings of the 16th International Conference on Extending Database Technology
Rethinking eventual consistency
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
Hi-index | 0.00 |
Replication is a key mechanism to achieve scalability and fault-tolerance in databases. Its importance has recently been further increased because of the role it plays in achieving elasticity at the database layer. In database replication, the biggest challenge lies in the trade-off between performance and consistency. A decade ago, performance could only be achieved through lazy replication at the expense of transactional guarantees. The strong consistency of eager approaches came with a high cost in terms of reduced performance and limited scalability. Postgres-R combined results from distributed systems and databases to develop a replication solution that provided both scalability and strong consistency. The use of group communication primitives with strong ordering and delivery guarantees together with optimized transaction handling (tailored locking, transferring logs instead of re-executing updates, keeping the message overhead per transaction constant) were a drastic departure from the state-of-the-art at the time. Ten years later, these techniques are widely used in a variety of contexts but particularly in cloud computing scenarios. In this paper we review the original motivation for Postgres-R and discuss how the ideas behind the design have evolved over the years.