As more and more application systems related to big data were developed, NoSQL (Not Only SQL) database systems are becoming more and more popular. In order to add transaction features for some NoSQL database systems, many scholars have tried different techniques. Unfortunately, there is a lack of research on Redis’s transaction in the existing literatures. This paper proposes a transaction model for key-value NoSQL databases including Redis to make possible allowing users to access data in the ACID (Atomicity, Consistency, Isolation and Durability) way, and this model is vividly called the surfing concurrence transaction model. The architecture, important features and implementation principle are described in detail. The key algorithms also were given in the form of pseudo program code, and the performance also was evaluated. With the proposed model, the transactions of Key-Value NoSQL databases can be performed in a lock free and MVCC (Multi-Version Concurrency Control) free manner. This is the result of further research on the related topic, which fills the gap ignored by relevant scholars in this field to make a little contribution to the further development of NoSQL technology.
Carlson, J.L. and Sanfilippo, S. (2013) Redis in Action. Manning Publications Co., Greenwich, CT.
Chodorow, K. (2013) MongoDB: The Definitive Guide. O’Reilly Media Inc., USA.
George, L. (2011) HBase: The Definitive Guide. O’Reilly Media Inc., USA.
Vukotic, A., Watt, N., Abedrabbo, T., Fox, D. and Partner, J. (2014) Neo4j in Action. Manning Publications Co., Greenwich, CT.
Pokorny, J. (2013) NoSQL Databases: A Step to Database Scalability in Web Environment. International Journal of Web Information Systems, 9, 278-283. https://doi.org/10.1108/17440081311316398
Ickert, F., Fabro, M., Almeida, E. and Scherzinger, S. (2013) NoSQL Data Model Evaluation on App Engine Datastore. The 28th Brazilian Symposium on Databases, 2013, 1-6.
Cruz, F., Gomes, P., Rui, O. and Pereira, J. (2011) Assessing NoSQL Databases for Telecom Applications. The 2011 IEEE 13th Conference on Commerce and Enterprise Computing, Luxembourg, 5-7 September 2011, 267-270. https://doi.org/10.1109/CEC.2011.48
Shao, B. (2015) Are NoSQL Data Stores Useful for Bioinformatics Researchers. International Journal on Recent and Innovation Trends in Computing and Communication, 3, 1704-1708. https://doi.org/10.17762/ijritcc2321-8169.1503176
Xiong, W., Hawley, D. and Monismith, D. (2015) NoSQL in Database Education: Incorporating Non-Relational Concepts into a Relational Database Course: Panel Discussion. Journal of Computing Sciences in Colleges, 30, 151-152.
Costa, C. and Santos, M.Y. (2016) Reinventing the Energy Bill in Smart Cities with NoSQL Technologies. In: Ao, S., Yang, G.-C. and Gelman, L., Eds., Transactions on Engineering Technologies, Springer, Singapore, 383-396. https://doi.org/10.1007/978-981-10-1088-0_29
Lawrence, R. (2014) Integration and Virtualization of Relational SQL and NoSQL Systems Including MySQL and MongoDB. IEEE Conference on Computational Science and Computational Intelligence, Las Vegas, NV, 10-13 March 2014, 285-290. https://doi.org/10.1109/CSCI.2014.56
Han, J., Haihong, E., Le, G. and Du, J. (2011) Survey on NoSQL Database. 6th International Conference on Pervasive Computing and Applications, Port Elizabeth, 26-28 October 2011, 363-366.
Tbhuvan, N. and Sudheep, E.M. (2015) A Technical Insight on the New Generation Databases: NoSQL. International Journal of Computer Applications, 121, 24-26. https://doi.org/10.5120/21553-4578
Cattell, R. (2010) Scalable SQL and NoSQL Data Stores. ACM SIGMOD Record, 39, 12-27. https://doi.org/10.1145/1978915.1978919
Ferro, D., Junqueira, F., Kelly, I., Reed, B. and Yabandeh, M. (2014) Omid: Lock-Free Transactional Support for Distributed Data Stores. 2014 IEEE 30th International Conference on Data Engineering, Chicago, IL, 31 March-4 April 2014, 676-687. https://doi.org/10.1109/ICDE.2014.6816691
Padhye, V. and Tripathi, A. (2015) Scalable Transaction Management with Snapshot Isolation for NoSQL Data Storage Systems. IEEE Transactions on Services Computing, 8, 121-135. https://doi.org/10.1109/TSC.2013.47
Ramesh, D., Jain, A.K. and Kumar, C. (2012) Implementation of Atomicity and Snapshot Isolation for Multi-Row Transactions on Column Oriented Distributed Databases Using RDBMS. 2012 International Conference on Communications, Devices and Intelligent Systems (CODIS), Kolkata, India, 28-29 December 2012, 298-301. https://doi.org/10.1109/CODIS.2012.6422197
Cai, P. and Ni, L. (2012) An Approach of Multi-Row Transaction Management on HBase with Serializable Snapshot Isolation. Proceedings of 2012 2nd International Conference on Computer Science and Network Technology, Changchun, China, 29-31 December 2012, 1741-1744. https://doi.org/10.1109/ICCSNT.2012.6526257
Cruz, F., Vilaça, R., Oliveira, R., Pereira, J. and Coelho, F. (2014) pH1: A Transactional Middleware for NoSQL. 2014 IEEE 33rd International Symposium on Reliable Distributed Systems, Nara, Japan, 6-9 October 2014, 115-124. https://doi.org/10.1109/SRDS.2014.23
Ogunyadeka, A., Younas, M., Zhu, H. and Aldea, A. (2016) A Multi-Key Transactions Model for NoSQL Cloud Database Systems. 2016 IEEE Second International Conference on Big Data Computing Service and Applications, Oxford, UK, 29 March-1 April 2016, 24-27. https://doi.org/10.1109/BigDataService.2016.32
Peng, D. and Dabek, F. (2010) Large-Scale Incremental Processing Using Distributed Transactions and Notifications. Usenix Symposium on Operating Systems Design and Implementation, Vancouver, 4-6 October 2010, 4-6.
Baker, J., Bond, C., Corbett, J., Furman, J., Khorlin, A., Larson, J., et al. (2011) Megastore: Providing Scalable, Highly Available Storage for Interactive Services. CIDR 2011, Fifth Biennial Conference on Innovative Data Systems Research, Asilomar, CA, USA, 9-12 January 2011, 223-234.
Rao, J., Shekita, E.J. and Tata, S. (2011) Using Paxos to Build a Scalable, Consistent, and Highly Available Datastore. Proceedings of the Vldb Endowment, 4, 243-254. https://doi.org/10.14778/1938545.1938549
Kanwar, R., Trivedi, P. and Singh, K. (2013) NoSQL, a Solution for Distributed Database Management System. International Journal of Computer Applications, 67, 6-9. https://doi.org/10.5120/11365-6602
Dharavath, R., Jain, A., Kumar, C. and Kumar, V. (2014) Accuracy of Atomic Transaction Scenario for Heterogeneous Distributed Column-Oriented Databases. Intelligent Computing, Networking, and Informatics, 243, 491-501. https://doi.org/10.1007/978-81-322-1665-0_47
Dharavath, R. and Kumar, C. (2015) a Scalable Generic Transaction Model Scenario for Distributed NoSQL Databases. Journal of Systems and Software, 101, 43-58. https://doi.org/10.1016/j.jss.2014.11.037
Lotfy, A., Saleh, A., El-Ghareeb, H. and Ali, H. (2015) A Middle Layer Solution to Support ACID Properties for NoSQL Databases. Journal of King Saud University—Computer and Information Sciences, 28, 133-145. https://doi.org/10.1016/j.jksuci.2015.05.003