Multi-partition Distributed Transactions over Cassandra-Like Database with Tunable Contention Control

Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 716)

Abstract

The amounts of data being processed today are enormous and they require specialized systems to store them, access them and do computations. Therefore, a number of NoSql databases and big data platforms were built to address this problem. They usually lack transaction support which features atomicity, consistency, isolation, durability and at the same time they are distributed, scalable, and fault tolerant. In this paper, we present a novel transaction processing framework based on Cassandra storage model. It uses Paxos protocol to provide atomicity and consistency of transactions and Cassandra specific read and write paths improvements to provide read committed isolation level and durability. Unlike built-in Light Weight Transactions (LWT) support in Cassandra, our algorithm can span multiple data partitions and provides tunable contention control. We verified correctness and efficiency both theoretically and by executing tests over different workloads. The results presented in this paper prove the usability and robustness of the designed system.

Keywords

Big Data Transactions Cassandra Paxos Consistency NoSQL 

References

  1. 1.
    DbEngines. http://db-engines.com/en/ranking. Accessed 09 Nov 2016
  2. 2.
    NoSQL. http://nosql-database.org. Accessed 09 Nov 2016
  3. 3.
  4. 4.
    Bailis, P., Fekete, A., Hellerstein, J.M., Ghodsi, A., Stoica, I.: Scalable atomic visibility with ramp transactions. In: Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data, SIGMOD 2014, pp. 27–38. ACM, New York (2014). http://doi.acm.org/10.1145/2588555.2588562
  5. 5.
    Bernstein, P.A., Goodman, N.: Multiversion concurrency control—theory and algorithms. ACM Trans. Database Syst. 8(4), 465–483 (1983). http://doi.acm.org/10.1145/319996.319998 MathSciNetCrossRefMATHGoogle Scholar
  6. 6.
    Burrows, M.: The chubby lock service for loosely-coupled distributed systems. In: Proceedings of the 7th Symposium on Operating Systems Design and Implementation, pp. 335–350. USENIX Association (2006)Google Scholar
  7. 7.
    Chandra, T.D., Griesemer, R., Redstone, J.: Paxos made live: an engineering perspective. In: Proceedings of the Twenty-Sixth Annual ACM Symposium on Principles of Distributed Computing, PODC 2007, pp. 398–407. ACM, New York (2007). http://doi.acm.org/10.1145/1281100.1281103
  8. 8.
    Faleiro, J.M., Abadi, D.J.: Rethinking serializable multiversion concurrency control. Proc. VLDB Endow. 8(11), 1190–1201 (2015). http://dx.doi.org/10.14778/2809974.2809981 CrossRefGoogle Scholar
  9. 9.
    Halici, U., Dogac, A.: Concurrency control for distributed multiversion databases through time intervals. In: Proceedings of the 19th Annual Conference on Computer Science, CSC 1991, pp. 365–374. ACM, New York (1991). http://doi.acm.org.doi.eczyt.bg.pw.edu.pl/10.1145/327164.327297
  10. 10.
    Lakshman, A., Malik, P.: Cassandra: a decentralized structured storage system. ACM SIGOPS Oper. Syst. Rev. 44(2), 35–40 (2010)CrossRefGoogle Scholar
  11. 11.
    Lamport, L.: The part-time parliament. ACM Trans. Comput. Syst. 16(2), 133–169 (1998). http://doi.acm.org/10.1145/279227.279229 CrossRefGoogle Scholar
  12. 12.
    Lamport, L., et al.: Paxos made simple. ACM SIGACT News 32(4), 18–25 (2001)Google Scholar
  13. 13.
    Lampson, B.W.: How to build a highly available system using consensus. In: Babaoğlu, Ö., Marzullo, K. (eds.) WDAG 1996. LNCS, vol. 1151, pp. 1–17. Springer, Heidelberg (1996). doi:10.1007/3-540-61769-8_1 CrossRefGoogle Scholar
  14. 14.
    Lewandowski, M.: Multi partition transactions in Cassandra. Technical report, Institute of Computer Science, Warsaw University of Technology. http://repo.bg.pw.edu.pl/index.php/pl/r#/info/master/WUTad49127820284899b17f93ada17d23d7/?r=affiliation
  15. 15.
    Ongaro, D., Ousterhout, J.: In search of an understandable consensus algorithm. In: 2014 USENIX Annual Technical Conference (USENIX ATC 2014), pp. 305–319 (2014)Google Scholar
  16. 16.
    Perelman, D., Fan, R., Keidar, I.: On maintaining multiple versions in STM. In: Proceedings of the 29th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, PODC 2010, pp. 16–25. ACM, New York (2010). http://doi.acm.org/10.1145/1835698.1835704
  17. 17.
    Stonebraker, M.: SQL databases v. NoSQL databases. Commun. ACM 53(4), 10–11 (2010). http://doi.acm.org/10.1145/1721654.1721659 CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Institute of Computer ScienceWarsaw University of TechnologyWarsawPoland

Personalised recommendations