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)


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.


Big Data Transactions Cassandra Paxos Consistency NoSQL 


  1. 1.
    DbEngines. Accessed 09 Nov 2016
  2. 2.
    NoSQL. 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).
  5. 5.
    Bernstein, P.A., Goodman, N.: Multiversion concurrency control—theory and algorithms. ACM Trans. Database Syst. 8(4), 465–483 (1983). 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).
  8. 8.
    Faleiro, J.M., Abadi, D.J.: Rethinking serializable multiversion concurrency control. Proc. VLDB Endow. 8(11), 1190–1201 (2015). 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).
  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). 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.
  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).
  17. 17.
    Stonebraker, M.: SQL databases v. NoSQL databases. Commun. ACM 53(4), 10–11 (2010). CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Institute of Computer ScienceWarsaw University of TechnologyWarsawPoland

Personalised recommendations