The VLDB Journal

, Volume 23, Issue 6, pp 987–1011 | Cite as

Distributed snapshot isolation: global transactions pay globally, local transactions pay locally

  • Carsten Binnig
  • Stefan Hildenbrand
  • Franz Färber
  • Donald Kossmann
  • Juchang Lee
  • Norman May
Regular Paper

Abstract

Modern database systems employ Snapshot Isolation to implement concurrency control and isolationbecause it promises superior query performance compared to lock-based alternatives. Furthermore, Snapshot Isolation never blocks readers, which is an important property for modern information systems, which have mixed workloads of heavy OLAP queries and short update transactions. This paper revisits the problem of implementing Snapshot Isolation in a distributed database system and makes three important contributions. First, a complete definition of Distributed Snapshot Isolation is given, thereby extending existing definitions from the literature. Based on this definition, a set of criteria is proposed to efficiently implement Snapshot Isolation in a distributed system. Second, the design space of alternative methods to implement Distributed Snapshot Isolation is presented based on this set of criteria. Third, a new approach to implement Distributed Snapshot Isolation is devised; we refer to this approach as Incremental. The results of comprehensive performance experiments with the TPC-C benchmark show that the Incremental approach significantly outperforms any other known method from the literature. Furthermore, the Incremental approach requires no a priori knowledge of which nodes of a distributed system are involved in executing a transaction. Also, the Incremental approach can execute transactions that involve data from a single node only with the same efficiency as a centralized database system. This way, the Incremental approach takes advantage of sharding or other ways to improve data locality. The cost for synchronizing transactions in a distributed system is only paid by transactions that actually involve data from several nodes. All these properties make the Incremental approach more practical than related methods proposed in the literature.

Keywords

Distributed databases Concurrency control Snapshot isolation 

Supplementary material

778_2014_359_MOESM1_ESM.pdf (74 kb)
Supplementary material 1 (pdf 74 KB)

References

  1. 1.
    Adya, A.: Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions. PhD thesis. Massachusetts Institute of Technology (1999)Google Scholar
  2. 2.
    Armendáriz-Iñigo, J.E., Juárez-Rodríguez, J.R., González de Mendívil, J.R., et al.: A formal characterization of SI-based ROWA replication protocols. Data Knowl. Eng. 70, 21–34 (2011)CrossRefGoogle Scholar
  3. 3.
    Armendáriz-Iñigo, J.E., Mauch-Goya, A., González de Mendívil, J.R., et al.: SIPRe: a partial database replication protocol with SI replicas. In: Proceedings of the 2008 ACM Symposium on Applied Computing, pp. 2181–2185. ACM, Fortaleza, Ceara, Brazil (2008)Google Scholar
  4. 4.
    Aulbach, S., Seibold, M., Jacobs, D., et al.: Extensibility and data sharing in evolving multitenant databases. In: ICDE, pp. 99–110 (2011)Google Scholar
  5. 5.
    Berenson, H., Bernstein, P., Gray, J., et al.: A critique of ANSI SQL isolation levels. In: Proceedings of the 1995 ACM SIGMOD International Conference on Management of Data. SIGMOD ’95, pp. 1–10. ACM, San Jose, California, USA (1995)Google Scholar
  6. 6.
    Bernstein, Philip A., Hadzilacos, Vassos, Goodman, Nathan: Concurrency Control and Recovery in Database Systems. Addison-Wesley, Boston (1987)Google Scholar
  7. 7.
    Bornea, M.A., Hodson, O., Elnikety, S., et al.: One-copy serializability with snapshot isolation under the hood. In: IEEE 27th International Conference on Data Engineering. ICDE ’11, pp. 625–636. IEEE Computer Society (2011)Google Scholar
  8. 8.
    Cahill, M.J., Röhm, U., Fekete, A.D.: Serializable isolation for snapshot databases. ACM Trans. Database Syst. 34, 20:1–20:42 (2009)Google Scholar
  9. 9.
    Camargos, L., Pedone, F., Wieloch, M.: Sprint: a middleware for high-performance transaction processing. In: Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007. EuroSys ’07, pp. 385–398. ACM, Lisbon, Portugal (2007)Google Scholar
  10. 10.
    Curino, C., Jones, E., Zhang, Y., et al.: Schism: a workload-driven approach to database replication and partitioning. In: Proceedings of the VLDB Endowment, vol. 3, pp. 48–57 (2010)Google Scholar
  11. 11.
    Das, S., Agrawal, D., El Abbadi A.: ElasTraS: an elastic transactional data store in the cloud. In: HotCloud. USENIX Association, San Diego, California (2009)Google Scholar
  12. 12.
    Daudjee, K., Salem, K.: Lazy database replication with snapshot isolation. In: Proceedings of the 32nd International Conference on Very Large Data Bases. VLDB ’06, pp. 715–726. VLDB Endowment, Seoul, Korea (2006)Google Scholar
  13. 13.
    Elnikety, S., Zwaenepoel, W., Pedone, F.: Database replication using generalized snapshot isolation. In: Proceedings of the 24th IEEE Symposium on Reliable Distributed Systems, pp. 73–84. IEEE Computer Society, Washington, DC, USA, Oct. (2005)Google Scholar
  14. 14.
    Fritzke, U. Jr., Ingels, P.: Transactions on partially replicated data based on reliable and atomic multicasts. In: International Conference on Distributed, Computing Systems p. 0284 (2001)Google Scholar
  15. 15.
    Holliday, J.A., Agrawal, D., El Abbadi, A.: Partial database replication using epidemic communication. In: International Conference on Distributed Computing Systems, pp. 485. IEEE Computer Society, Washington, DC, USA (2002)Google Scholar
  16. 16.
    Jones, E.P.C., Abadi, D.J., Madden, S.: Low overhead concurrency control for partitioned main memory databases. In: Proceedings of the 2010 International Conference on Management of data. SIGMOD ’10, pp. 603–614. ACM, Indianapolis, Indiana, USA (2010)Google Scholar
  17. 17.
    Jung, H., Han, H., Fekete, A., et al.: Serializable snapshot isolation for replicated databases in high-update scenarios. PVLDB 4.11, 783–794 (2011)Google Scholar
  18. 18.
    Lee, J., Kown, Y.S., Farber, F., et al.: SAP HANA distributed in-memory database system: transaction, session, and metadata management. In: ICDE (2013)Google Scholar
  19. 19.
    Lin, Y., Kemme, B., Jiménez-Peris, R., et al.: Snapshot isolation and integrity constraints in replicated databases. ACM Trans Database Syst 34, 11:1–11:49 (2009)Google Scholar
  20. 20.
    Lin, Y., Kemme, B., Patiño-Martínez, M., et al.: Middleware based data replication providing snapshot isolation. In: Proceedings of the 2005 ACM SIGMOD international conference on management of data. SIGMOD ’05, pp. 419–430. ACM, Baltimore, Maryland (2005)Google Scholar
  21. 21.
    Lomet, D.B., Fekete, A., Wang, R., et al.: Multi-version concurrency via timestamp range conflict management. In: ICDE, pp. 714–725 (2012)Google Scholar
  22. 22.
    Lomet, D.B., Fekete, A., Weikum, G., et al.: Unbundling transaction services in the cloud. In: Fourth Biennial Conference on Innovative Data Systems Research. CIDR ’09 (2009)Google Scholar
  23. 23.
    O’Neil, P., O’Neil, E., Pal, S., et al.: ORDPATHs: insert-friendly XML node labels. In: Proceedings of the 2004 ACM SIGMOD International Conference on Management of Data. SIGMOD ’04. pp. 903–908. ACM, Paris, France (2004)Google Scholar
  24. 24.
    Plattner, C., Alonso, G.: Ganymed: scalable replication for transactional web applications. In: Proceedings of the 5th ACM/IFIP/USENIX international conference on Middleware. Middleware ’04. pp. 155–174. Springer, New York Inc, Toronto, Canada (2004)Google Scholar
  25. 25.
    Salomie, T.-I., Subasu, I.E., Giceva, J., et al.: Database engines on multicores, why parallelize when you can distribute? In: EuroSys, pp. 17–30 (2011)Google Scholar
  26. 26.
    Schenkel, R., Weikum, G., Weißenberg, N., et al.: Federated transaction management with snapshot isolation. Trans. Database Dyn. 1773, 1–25 (2000)Google Scholar
  27. 27.
    Serrano, D., Patino-Martinez, M., Jimenez-Peris, R., et al.: Boosting database replication scalability through partial replication and 1-copy-snapshot-isolation. In: Proceedings of the 13th Pacific Rim International Symposium on Dependable Computing, pp. 290–297. IEEE Computer Society, Washington, DC, USA (2007)Google Scholar
  28. 28.
    Sovran, Y., Power, R., Aguilera, M.K., et al.: Transactional storage for geo-replicated systems. In: Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles. SOSP’11. pp. 385–400. ACM, Cascais, Portugal (2011)Google Scholar
  29. 29.
    Thomson, A., Diamond, T., Weng, S.-C., et al.: Calvin: fast distributed transactions for partitioned database systems. In: SIGMOD Conference, pp. 1–12 (2012)Google Scholar
  30. 30.
    Transaction Processing Performance Council. TPC Benchmark C, revision 5.11 (2010)Google Scholar
  31. 31.
    Vogels, W.: Eventually consistent. Commun. ACM 52.1, 40–44 (2009) Google Scholar
  32. 32.
    Zhang, C., de Sterck, H.: Supporting multi-row distributed transactions with global snapshot isolation using bare-bones HBase. In: 11th IEEE/ACM International Conference on Grid Computing. GRID ’10. pp. 177–184 (2010)Google Scholar
  33. 33.
    Zhang, C., de Sterck, H.: HBaseSI: multi-row distributed transactions with global dtring snapshot isolation on clouds. In: Scalable Computing: Practice and Experience, 12 (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Carsten Binnig
    • 1
  • Stefan Hildenbrand
    • 2
  • Franz Färber
    • 3
  • Donald Kossmann
    • 2
  • Juchang Lee
    • 3
  • Norman May
    • 3
  1. 1.DHBW MannheimMannheimGermany
  2. 2.Systems Group, ETH ZurichZurichSwitzerland
  3. 3.SAP AGWalldorfGermany

Personalised recommendations