Abstract
Lazy replication with snapshot isolation (SI) has emerged as a popular choice for distributed databases. However, lazy replication often requires execution of update transactions at one (master) site so that it is relatively easy for a total SI order to be determined for consistent installation of updates in the lazily replicated system. We propose a set of techniques that support update transaction execution over multiple partitioned sites, thereby allowing the master to scale. Our techniques determine a total SI order for update transactions over multiple master sites without requiring global coordination in the distributed system, and ensure that updates are installed in this order at all sites to provide consistent and scalable replication with SI. We present ConfluxDB, a PostgreSQL-based implementation of our techniques, and demonstrate its effectiveness through experimental evaluation.
- C. Amza, A. L. Cox, and W. Zwaenepoel. Distributed versioning: Consistent replication for scaling back-end databases of dynamic content web sites. In Middleware '03. Google ScholarDigital Library
- H. Berenson, P. Bernstein, J. Gray, J. Melton, E. O'Neil, and P. O'Neil. A critique of ansi sql isolation levels. In SIGMOD, 1995. Google ScholarDigital Library
- P. Bernstein and E. Newcomer. Principles of transaction processing. Morgan Kaufmann Publishers Inc., 1997. Google ScholarDigital Library
- P. A. Bernstein, C. W. Reid, and S. Das. Hyder - a transactional record manager for shared flash. In CIDR, 2011.Google Scholar
- M. A. Bornea, O. Hodson, S. Elnikety, and A. Fekete. One-copy serializability with snapshot isolation under the hood. In ICDE '11. Google ScholarDigital Library
- Y. Breitbart, R. Komondoor, R. Rastogi, S. Seshadri, and A. Silberschatz. Update propagation protocols for replicated databases. In SIGMOD '99. Google ScholarDigital Library
- Y. Breitbart and H. F. Korth. Replication and consistency: Being lazy helps sometimes. In PODS '97. Google ScholarDigital Library
- E. Cecchet. C-jdbc: A middleware framework for database clustering. IEEE Data Eng. Bull., 27(2): 19--26, 2004.Google Scholar
- P. Chairunnanda. Multi-Master Replication for Snapshot Isolation Databases. Master's thesis, University of Waterloo, 2013.Google Scholar
- K. Daudjee and K. Salem. A Pure Lazy Technique for Scalable Transaction Processing in Replicated Databases. In ICPADS '05. Google ScholarDigital Library
- K. Daudjee and K. Salem. Inferring a serialization order for distributed transactions. In ICDE '06. Google ScholarDigital Library
- K. Daudjee and K. Salem. Lazy database replication with snapshot isolation. In Proceedings of the 32nd International Conference on Very Large Data Bases (VLDB), pages 715--726, 2006. Google ScholarDigital Library
- J. Du, S. Elnikety, and W. Zwaenepoel. Clock-si: Snapshot isolation for partitioned data stores using loosely synchronized clocks. In SRDS '13. Google ScholarDigital Library
- S. Elnikety, W. Zwaenepoel, and F. Pedone. Database replication using generalized snapshot isolation. SRDS '05. Google ScholarDigital Library
- IBM. Log stream merging and log file management in a DB2 pureScale environment.Google Scholar
- IBM. DB2 Universal Database Replication Guide and Reference, 2000. version 7.Google Scholar
- R. Jimenez-Peris, M. Patino-Martinez, G. Alonso, and B. Kemme. Improving the scalability of fault-tolerant database clusters. In ICDCS '02. Google ScholarDigital Library
- B. Kemme and G. Alonso. A new approach to developing and implementing eager database replication protocols. ACM Transactions on Database Systems, 2000. Google ScholarDigital Library
- K. Krikellas, S. Elnikety, Z. Vagena, and O. Hodson. Strongly consistent replication for a bargain. In ICDE '10.Google Scholar
- L. Lamport. Time, clocks, and the ordering of events in a distributed system. CACM, 21(7), 1978. Google ScholarDigital Library
- P.-A. Larson, J. Goldstein, and J. Zhou. MTCache: Mid-Tier Database Caching in SQL Server. In ICDE '04. Google ScholarDigital Library
- Y. Lin, B. Kemme, M. Patiño-Martínez, and R. Jiménez-Peris. Middleware based data replication providing snapshot isolation. In SIGMOD Conference, pages 419--430, 2005. Google ScholarDigital Library
- C. Liu, B. G. Lindsay, S. Bourbonnais, E. Hamel, T. C. Truong, and J. Stankiewitz. Capturing global transactions from multiple recovery log files in a partitioned database system. In VLDB '03. Google ScholarDigital Library
- D. B. Lomet, R. S. Barga, M. F. Mokbel, G. Shegalov, R. Wang, and Y. Zhu. Transaction time support inside a database engine. In ICDE '06. Google ScholarDigital Library
- Q. Luo, S. Krishnamurthy, C. Mohan, H. Pirahesh, H. Woo, B. G. Lindsay, and J. F. Naughton. Middle-tier database caching for e-business. In SIGMOD '02. Google ScholarDigital Library
- E. Pacitti, M. T. Özsu, and F. Coulon. Preventive multi-master replication in a cluster of autonomous databases. In Euro-Par 2003.Google ScholarCross Ref
- C. Plattner and G. Alonso. Ganymed: Scalable replication for transactional web applications. In Middleware '04. Google ScholarDigital Library
- Postgres-XC Development Group. GTM and Global Transaction Management.Google Scholar
- The PostgreSQL Global Development Group. PostgreSQL: Documentation: 9.1: Partitioning, 2012.Google Scholar
- R. Schenkel, G. Weikum, N. Weissenberg, and X. Wu. Federated transaction management with snapshot isolation. In TDD '99. Google ScholarDigital Library
- Y. Sovran, R. Power, M. K. Aguilera, and J. Li. Transactional storage for geo-replicated systems. In SOSP '11. Google ScholarDigital Library
- R. H. Thomas. A majority consensus approach to concurrency control for multiple copy databases. TODS, 1979. Google ScholarDigital Library
- A. Thomson, T. Diamond, S.-C. Weng, K. Ren, P. Shao, and D. J. Abadi. Calvin: fast distributed transactions for partitioned database systems. In SIGMOD, 2012. Google ScholarDigital Library
- P. S. Yu, M. Chen, H. Heiss, and S. Lee. On workload characterization of relational database environments. IEEE TSE, 1992. Google ScholarDigital Library
- Y. Zhuge, H. Garcia-Molina, and J. L. Wiener. Consistency algorithms for multi-source warehouse view maintenance. DAPD, 1998. Google ScholarDigital Library
Index Terms
- ConfluxDB: multi-master replication for partitioned snapshot isolation databases
Recommendations
A read-only transaction anomaly under snapshot isolation
Snapshot Isolation (SI), is a multi-version concurrency control algorithm introduced in [BBGMOO95] and later implemented by Oracle. SI avoids many concurrency errors, and it never delays read-only transactions. However it does not guarantee ...
Comments