skip to main content
research-article

An evaluation of distributed concurrency control

Published:01 January 2017Publication History
Skip Abstract Section

Abstract

Increasing transaction volumes have led to a resurgence of interest in distributed transaction processing. In particular, partitioning data across several servers can improve throughput by allowing servers to process transactions in parallel. But executing transactions across servers limits the scalability and performance of these systems.

In this paper, we quantify the effects of distribution on concurrency control protocols in a distributed environment. We evaluate six classic and modern protocols in an in-memory distributed database evaluation framework called Deneva, providing an apples-to-apples comparison between each. Our results expose severe limitations of distributed transaction processing engines. Moreover, in our analysis, we identify several protocol-specific scalability bottlenecks. We conclude that to achieve truly scalable operation, distributed concurrency control solutions must seek a tighter coupling with either novel network hardware (in the local area) or applications (via data modeling and semantically-aware execution), or both.

References

  1. VoltDB. http://voltdb.com.Google ScholarGoogle Scholar
  2. A. Adya. Weak consistency: a generalized theory and optimistic implementations for distributed transactions. PhD thesis, MIT, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. R. Agrawal, M. J. Carey, and M. Livny. Concurrency control performance modeling: alternatives and implications. TODS, 12(4):609--654, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. P. Bailis, A. Davidson, A. Fekete, A. Ghodsi, J. M. Hellerstein, and I. Stoica. Highly Available Transactions: Virtues and limitations. In VLDB, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. P. Bailis et al. Feral Concurrency Control: An empirical investigation of modern application integrity. In SIGMOD, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. Bailis, A. Fekete, M. J. Franklin, A. Ghodsi, J. M. Hellerstein, and I. Stoica. Coordination Avoidance in Database Systems. In VLDB, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Balakrishnan et al. Tango: Distributed data structures over a shared log. In SOSP, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. V. Balegas, S. Duarte, C. Ferreira, R. Rodrigues, N. Preguiça, M. Najafzadeh, and M. Shapiro. Putting consistency back into eventual consistency. In EuroSys, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. P. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency control and recovery in database systems, volume 370. Addison-Wesley, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. P. A. Bernstein and S. Das. Rethinking eventual consistency. In SIGMOD, pages 923--928. ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. P. A. Bernstein and N. Goodman. Concurrency control in distributed database systems. ACM Comput. Surv., 13(2):185--221, June 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. P. A. Bernstein and N. Goodman. Multiversion Concurrency Control - Theory and Algorithms. ACM Trans. Database Syst., 8(4):465--483, Dec. 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. A. Bhide, F. Bancilhon, and D. Dewitt. An analysis of three transaction processing architectures. In VLDB, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. Bhide and M. Stonebraker. A performance comparison of two architectures for fast transaction processing. In ICDE, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. C. Binnig, D. Kossmann, T. Kraska, and S. Loesing. How is the weather tomorrow? towards a benchmark for the cloud. In DBTest, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. M. J. Carey and M. Livny. Distributed concurrency control performance: A study of algorithms, distribution, and replication. In VLDB, pages 13--25, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. F. Chang, J. Dean, S. Ghemawat, et al. Bigtable: A distributed storage system for structured data. In OSDI, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Y. Chen, S. Alspaugh, and R. Katz. Interactive analytical processing in big data systems: A cross-industry study of mapreduce workloads. In VLDB, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. B. F. Cooper, A. Silberstein, E. Tam, R. Ramakrishnan, and R. Sears. Benchmarking cloud serving systems with ycsb. SoCC, pages 143--154, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. C. Corbett et al. Spanner: Google's globally-distributed database. In OSDI, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. J. Cowling and B. Liskov. Granola: low-overhead distributed transaction coordination. In USENIX ATC, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. C. Curino, E. Jones, Y. Zhang, and S. Madden. Schism: a workload-driven approach to database replication and partitioning. VLDB, 3(1--2):48--57, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. S. Das, D. Agrawal, and A. El Abbadi. G-store: a scalable data store for transactional multi key access in the cloud. In SoCC, pages 163--174, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. D. E. Difallah, A. Pavlo, C. Curino, and P. Cudre-Mauroux. OLTP-Bench: An extensible testbed for benchmarking relational databases. In VLDB, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. B. Ding, L. Kot, A. Demers, and J. Gehrke. Centiman: elastic, high performance optimistic concurrency control by watermarking. In SoCC, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. A. Dragojević, D. Narayanan, E. B. Nightingale, M. Renzelmann, A. Shamis, A. Badam, and M. Castro. No compromises: distributed transactions with consistency, availability, and performance. In SOSP, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. R. Escriva, B. Wong, and E. G. Sirer. Warp: Multi-key transactions for keyvalue stores. United Networks, LLC, Tech. Rep, 5, 2013.Google ScholarGoogle Scholar
  28. K. P. Eswaran et al. The notions of consistency and predicate locks in a database system. Communications of the ACM, 19(11):624--633, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. A. Ghazal, T. Rabl, M. Hu, F. Raab, M. Poess, A. Crolotte, and H.-A. Jacobsen. Bigbench: towards an industry standard benchmark for big data analytics. In SIGMOD, pages 1197--1208, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. J. Gray, R. Lorie, G. Putzolu, and I. Traiger. Granularity of locks and degrees of consistency in a shared data base. Technical report, IBM, 1976.Google ScholarGoogle Scholar
  31. P. Helland. Life beyond distributed transactions: an apostate's opinion. In CIDR, pages 132--141, 2007.Google ScholarGoogle Scholar
  32. J. Huang, J. A. Stankovic, K. Ramamritham, and D. F. Towsley. Experimental evaluation of real-time optimistic concurrency control schemes. In VLDB, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. R. Kallman et al. H-store: a high-performance, distributed main memory transaction processing system. In VLDB, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. D. Karger, E. Lehman, T. Leighton, R. Panigrahy, M. Levine, and D. Lewin. Consistent hashing and random trees: Distributed caching protocols for relieving hot spots on the world wide web. In STOC, pages 654--663, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. S. Kimball. Living without atomic clocks. https://www.cockroachlabs.com/blog/living-without-atomic-clocks/, February 2016.Google ScholarGoogle Scholar
  36. R. Krebs, A. Wert, and S. Kounev. Multi-tenancy performance benchmark for web application platforms. In Web Engineering, pages 424--438. Springer, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. H.-T. Kung and C. H. Papadimitriou. An optimality theory of concurrency control for databases. In SIGMOD, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. H. T. Kung and J. T. Robinson. On Optimistic Methods for Concurrency Control. ACM Trans. Database Syst., 6(2):213--226, June 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. H. A. Mahmoud, V. Arora, F. Nawab, D. Agrawal, and A. El Abbadi. Maat: Effective and scalable coordination of distributed transactions in the cloud. In VLDB, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. N. Malviya, A. Weisberg, S. Madden, and M. Stonebraker. Rethinking main memory oltp recovery. In ICDE, pages 604--615. IEEE, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  41. S. Mu, Y. Cui, Y. Zhang, W. Lloyd, and J. Li. Extracting more concurrency from distributed transactions. In OSDI, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. M. Nicola and M. Jarke. Performance modeling of distributed and replicated databases. TKDE, 12(4):645--672, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. A. Pavlo et al. Skew-aware automatic database partitioning in shared-nothing, parallel oltp systems. In SIGMOD, pages 61--72, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. T. Rabl, S. Gómez-Villamor, M. Sadoghi, V. Muntés-Mulero, H.-A. Jacobsen, and S. Mankovskii. Solving big data challenges for enterprise application performance management. In VLDB, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. K. Ren, A. Thomson, and D. J. Abadi. An Evaluation of the Advantages and Disadvantages of Deterministic Database Systems. Proc. VLDB Endow., 7(10):821--832, June 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. S. Roy, L. Kot, G. Bender, B. Ding, H. Hojjat, C. Koch, N. Foster, and J. Gehrke. The homeostasis protocol: Avoiding transaction coordination through program analysis. In SIGMOD, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. J. Shute et al. F1: A distributed SQL database that scales. In VLDB, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. K. Sivaramakrishnan, G. Kaki, and S. Jagannathan. Declarative programming over eventually consistent data stores. In PLDI, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. M. Stonebraker. The case for shared nothing. IEEE Database Eng. Bull., 9, 1986.Google ScholarGoogle Scholar
  50. M. Stonebraker, S. Madden, D. J. Abadi, S. Harizopoulos, N. Hachem, and P. Helland. The end of an architectural era: (it's time for a complete rewrite). VLDB, pages 1150--1160, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. M. Sustrik. nanomsg. http://nanomsg.org.Google ScholarGoogle Scholar
  52. M. Tamer Özsu and P. Valduriez. Principles of distributed database systems. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. A. Thomson and D. J. Abadi. The case for determinism in database systems. Proc. VLDB Endow., 3:70--80, September 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  55. Transaction Processing Performance Council. TPC Benchmark C (Revision 5.11), February 2010.Google ScholarGoogle Scholar
  56. A. Turner, A. Fox, J. Payne, and H. S. Kim. C-mart: Benchmarking the cloud. IEEE TPDS, 24(6):1256--1266, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. L. Wang, J. Zhan, C. Luo, Y. Zhu, Q. Yang, Y. He, W. Gao, Z. Jia, Y. Shi, S. Zhang, et al. BigDataBench: A big data benchmark suite from internet services. In HPCA, pages 488--499. IEEE, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  58. X. Wei, J. Shi, Y. Chen, R. Chen, and H. Chen. Fast in-memory transaction processing using RDMA and HTM. In SOSP, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. M. Welsh, D. Culler, and E. Brewer. Seda: an architecture for well-conditioned, scalable internet services. In SOSP, pages 230--243, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. X. Yu, G. Bezerra, A. Pavlo, S. Devadas, and M. Stonebraker. Staring into the Abyss: An Evaluation of Concurrency Control with One Thousand Cores. In VLDB, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. I. Zhang, N. K. Sharma, A. Szekeres, A. Krishnamurthy, and D. R. Ports. Building consistent transactions with inconsistent replication. In SOSP, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Y. Zhang et al. Transaction chains: achieving serializability with low latency in geo-distributed storage systems. In SOSP, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. An evaluation of distributed concurrency control
      Index terms have been assigned to the content through auto-classification.

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image Proceedings of the VLDB Endowment
        Proceedings of the VLDB Endowment  Volume 10, Issue 5
        January 2017
        168 pages
        ISSN:2150-8097
        Issue’s Table of Contents

        Publisher

        VLDB Endowment

        Publication History

        • Published: 1 January 2017
        Published in pvldb Volume 10, Issue 5

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader