Abstract
In this paper, we discuss a system, called Lorq, for NoSQL data replication. Data replication in the system is based on replication of logs storing update and some control operations. It is guarantied that operations in all logs are eventually applied to their databases in the same order. However, due to possible latency and failures, the time of the application can be different, leading to different levels of consistencies. Applications have possibilities to declare their consistency and latency priorities, from strong consistency to a kind of weak consistencies. In this way, the server level agreement (SLA) is provided. To guarantee strong consistency, a consensus quorum algorithm is used meaning that an update (read) operation is treated successful if a write (read) consensus quorum is reached. Strong consistency ensures that the most up-to-date data is read. To guarantee a weaker consistency, Lorq algorithm utilizes timestamps, which are assigned to both data objects and databases. These timestamps are updated along with update and control operations performed over databases. The algorithm enforce dynamic selection of servers accessed by read operations to ensure required level of consistency and payment depending on consistency level.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Abadi, D.: Consistency tradeoffs in modern distributed database system design. IEEE Comput. 45(2), 37–42 (2012)
Amazon DynamoDB Pricing: (2014). http://aws.amazon.com/dynamodb/pricing
Asynchronous Programming with Async and Await (2014). http://msdn.microsoft.com/en-us/library/hh191443.aspx
Bernstein, P.A., Hadzilacos, V., Goodman, N.: Concurrency Control and Recovery in Database Systems. Addison Wesley Publishing Company, Boston (1987)
Burckhardt, S., Gotsman, A., Yang, H., Zawirski, M.: Replicated data types: specification, verification, optimality. In: ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2014, pp. 271–284 (2014)
Cattell, R.: Scalable SQL and NoSQL data stores. SIGMOD Rec. 39(4), 12–27 (2010)
Chang, F., Dean, J., Ghemawat, S., Hsieh, W.C., et al.: Bigtable: A distributed storage system for structured data. ACM Trans. Comput. Syst. 26(2), 1–26 (2008)
Chappell, D.: Understanding NoSQL on Microsoft Azure, pp. 1–15. Chappell & Associates, San Francisco (2014)
Cooper, B.F., Ramakrishnan, R., Srivastava, U., Silberstein, A., et al.: PNUTS: Yahoo!’s hosted data serving platform. PVLDB 1(2), 1277–1288 (2008)
Corbett, J.C., Dean, J., Epstein, M., et al.: Spanner: Google’s globally distributed database. ACM Trans. Comput. Syst. 31(3), 8 (2013)
DeCandia, G., Hastorun, D., Jampani, M., et al.: Dynamo: Amazon’s highly available key-value store. SIGOPS Oper. Syst. Rev. 41(6), 205–220 (2007)
Gafni, E., Lamport, L.: Disk paxos. In: Herlihy, M.P. (ed.) DISC 2000. LNCS, vol. 1914, pp. 330–344. Springer, Heidelberg (2000)
Gifford, D.K.: Weighted voting for replicated data. In: ACM SIGOpPS 7th Symposium on Operating Systems Principles, SOSP 2079, pp. 150–162 (1979)
Gilbert, S., Lynch, N.A.: Perspectives on the CAP Theorem. IEEE Comput. 45(2), 30–36 (2012)
Golab, W., Rahman, M.R., AuYoung, A., Keeton, K., Li, X.S.: Eventually consistent: Not what you were expecting? Commun. ACM 57(3), 38–44 (2014)
Lakshman, A., Malik, P.: Cassandra: A decentralized structured storage system. SIGOPS Oper. Syst. Rev. 44(2), 35–40 (2010)
Lamport, L.: Generalized consensus and paxos. In: Technical Report MSR-TR-2005-33, pp. 1–63. Microsoft Research (2005)
Lamport, L.: Fast paxos. Distrib. Comput. 19(2), 79–103 (2006)
Ongaro, D., Ousterhout, J.: In search of an understandable consensus algorithm. In: USENIX Annual Technical Conference, pp. 305–319 (2014)
Pankowski, T.: A consensus quorum algorithm for replicated NoSQL data. In: Kozielski, S., Mrozek, D., Kasprowski, P., Malysiak-Mrozek, B., Kostrzewa, D. (eds.) Beyond Databases, Architectures and Structures. CCIS, vol. 521, pp. 116–125. Springer, Heidelberg (2015)
Pankowski, T.: Consistency and availability of data in replicated NoSQL databases. In: ENASE 2015 - Proceedings of the 10th International Conference on Evaluation of Novel Approaches to Software Engineering, Barcelona, Spain, 29–30, pp. 102–109. SciTePress (2015), April 2015
Shapiro, M., Preguiça, N., Baquero, C., Zawirski, M.: Conflict-free replicated data types. In: Défago, X., Petit, F., Villain, V. (eds.) SSS 2011. LNCS, vol. 6976, pp. 386–400. Springer, Heidelberg (2011)
Terry, D.: Replicated data consistency explained through baseball. Commun. ACM 56(12), 82–89 (2013)
Terry, D.B., Prabhakaran, V., Kotla, R., Balakrishnan, M., et al.: Consistency-based service level agreements for cloud storage. In: ACM SIGOPS, SOSP 2013, pp. 309–324 (2013)
Vogels, W.: Eventually consistent. Commun. ACM 52(1), 40–44 (2009)
Wood, M.: An Introduction to Windows Azure Table Storage (2013). www.simple-talk.com/cloud/cloud-data/an-introduction-to-windows-azure-table-storage
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Pankowski, T. (2016). Lorq: A System for Replicated NoSQL Data Based on Consensus Quorum. In: Maciaszek, L.A., Filipe, J. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2015. Communications in Computer and Information Science, vol 599. Springer, Cham. https://doi.org/10.1007/978-3-319-30243-0_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-30243-0_4
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-30242-3
Online ISBN: 978-3-319-30243-0
eBook Packages: Computer ScienceComputer Science (R0)