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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
DbEngines. http://db-engines.com/en/ranking. Accessed 09 Nov 2016
NoSQL. http://nosql-database.org. Accessed 09 Nov 2016
UUID and timeuuid types. https://docs.datastax.com/en/cql/3.3/cql/cql_reference/uuid_type_r.html. Accessed 15 Apr 2016
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
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
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)
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
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
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
Lakshman, A., Malik, P.: Cassandra: a decentralized structured storage system. ACM SIGOPS Oper. Syst. Rev. 44(2), 35–40 (2010)
Lamport, L.: The part-time parliament. ACM Trans. Comput. Syst. 16(2), 133–169 (1998). http://doi.acm.org/10.1145/279227.279229
Lamport, L., et al.: Paxos made simple. ACM SIGACT News 32(4), 18–25 (2001)
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
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
Ongaro, D., Ousterhout, J.: In search of an understandable consensus algorithm. In: 2014 USENIX Annual Technical Conference (USENIX ATC 2014), pp. 305–319 (2014)
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
Stonebraker, M.: SQL databases v. NoSQL databases. Commun. ACM 53(4), 10–11 (2010). http://doi.acm.org/10.1145/1721654.1721659
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Lewandowski, M., Lewandowski, J. (2017). Multi-partition Distributed Transactions over Cassandra-Like Database with Tunable Contention Control. In: Kozielski, S., Mrozek, D., Kasprowski, P., Małysiak-Mrozek, B., Kostrzewa, D. (eds) Beyond Databases, Architectures and Structures. Towards Efficient Solutions for Data Analysis and Knowledge Representation. BDAS 2017. Communications in Computer and Information Science, vol 716. Springer, Cham. https://doi.org/10.1007/978-3-319-58274-0_11
Download citation
DOI: https://doi.org/10.1007/978-3-319-58274-0_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-58273-3
Online ISBN: 978-3-319-58274-0
eBook Packages: Computer ScienceComputer Science (R0)