NoSQL Database Benchmarking: Key/value in an Application-building Environment

Abstract

The proportion of data generated is constantly growing as the number and variety of connected devices increase, advances in data storage and mining supporting this evolution bring along the development of new techniques for searching and accessing data and realizing applications. This article was developed to carry out a comparative analysis of three databases: Redis, CouchBase, and Amazon DynamoDB to provide key characteristics to choose the right keyvalue NoSQL system for the type of applications, data used, and data processing. This was done through qualitative and quantitative research by expressing the results through comparative tables with characteristics that were obtained through a literature review and defined by the authors after the use of each of the databases. It can be concluded from the study of quantitative data that DynamoBD is highly rated for its ease of use, easy configuration, automatic retrieval, and data replication. However, in the qualitative data, CouchBase is the best option for the user considering it is cross-platform and can be adapted to websites, apps, etc.


Keywords: Redis, CouchBase, DynamonDB, Web Applications, NoSQL.


Resumen


La proporción de datos generados crece constantemente a medida que aumenta la cantidad y variedad de dispositivos conectados, los avances en el almacenamiento y la extracción de datos respaldan esta evolución, la cual trajo consigo el desarrollo de nuevas técnicas para buscar y acceder a los datos y realización de aplicaciones. Este artículo se desarrolló con el objetivo de realizar un análisis comparativo de tres bases de datos: Redis, CouchBase y Amazon DynamoDB. Con la finalidad de proporcionar características claves para elegir el sistema NoSQL clave-valor correcto para el tipo de aplicaciones, datos utilizados y procesamiento de datos. Se realizó mediante investigación de índole cualitativa y cuantitativa al expresar los resultados mediante cuadros comparativos con características que fueron obtenidas a través de una revisión bibliográfica y definidos por los autores posterior al uso de cada una de las bases de datos. Se puede concluir que con el estudio de los datos cuantitativos DynamoBD obtiene una alta calificación por su fácil uso, fácil configuración, recuperación automática y replicación de datos. No obstante, en los datos cualitativos CouchBase es la mejor opción para el usuario por ser de multiplataforma que se puede adaptar a sitios web, aplicaciones, etc.


Palabras Clave: Redis, Couchbase, DynamoDB, Aplicaciones Web, NoSQL.

References
[1] Pereira DA, Ourique de Morais W, Pignaton de Freitas E. NoSQL real-time database performance comparison. International Journal of Parallel, Emergent and Distributed Systems. 2018 Mar 4;33(2):144–156, doi: 10.1080/17445760.2017.1307367

[2] Matallah H, Belalem G, Bouamrane K. Evaluation of NoSQL Databases. International Journal of Software Science and Computational Intelligence. 2020 Sep 16;12(4):71– 91, doi: 10.4018/IJSSCI.2020100105

[4] Ouaknine K, Agra O, Guz Z. Optimization of RocksDB for redis on flash. In: ACM International Conference Proceeding Series. Association for Computing Machinery; 2017. p. 155–161, doi: 10.1145/3093241.3093278

[5] Yin Mok W. A feasible schema design strategy for Amazon DynamoDB: A nested normal form approach. En: 2020 IEEE International Conference on Industrial Engineering and Engineering Management (IEEM). IEEE; 2020.

[6] Tang W, Lu Y, Xiao N, Liu F, Chen Z. Accelerating redis with RDMA over infiniband. In: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). Springer Verlag; 2017. p. 472–483, doi: 10.1007/978-3-319-61845-6_47

[7] Diogo M, Cabral B, Bernardino J. Consistency models of NoSQL databases. Vol. 11, Future Internet. MDPI AG; 2019, doi: 10.3390/fi11020043

[8] Arturo C, Álvarez M, Surcolombiana U, De F, Sociales C, Humanas Y, et al. METODOLOGÍA DE LA INVESTIGACIÓN CUANTITATIVA Y CUALITATIVA Guía didáctica. 2011.

[9] Ferrari D, Carminati M, Polino M, Zanero S. NoSQL Breakdown: A Large-scale Analysis of Misconfigured NoSQL Services. In: ACM International Conference Proceeding Series. Association for Computing Machinery; 2020. p. 567–581, doi: 10.1145/3427228.3427260

[10] Truica CO, Apostol ES, Darmont J, Pedersen TB. The Forgotten Document-Oriented Database Management Systems: An Overview and Benchmark of Native XML DODBMSes in Comparison with JSON DODBMSes. Big Data Research. 2021 Jul 15;25.

[11] Detti A, Rossi G, Melazzi NB. Exploiting information-centric networking to federate spatial databases. IEEE Access. 2019;7:165248–165261, doi: 10.1109/ACCESS.2019.2953043

[12] Gamal A, Barakat S, Rezk A. Integrated document-based electronic health records persistence framework [Internet]. Vol. 12, IJACSA) International Journal of Advanced Computer Science and Applications. Available from: www.ijacsa.thesai.org

[13] Davoudian A, Chen L, Liu M. A survey on NoSQL stores. ACM Computing Surveys. 2018 Apr 1;51(2). doi: 10.3390/mi11121075

[14] Borkar D, Mayuram R, Sangudi G, Carey M. Have your data and query it too: From key-value caching to big data management. In: Proceedings of the ACM SIGMOD International Conference on Management of Data. Association for Computing Machinery; 2016. p. 239–251. doi: 10.1145/2882903.2904443

[15] Potey MM, Dhote CA, Sharma DH. Homomorphic encryption for security of cloud data. In: Procedia Computer Science. Elsevier B.V.; 2016. p. 175–181. doi: 10.1016/j.procs.2016.03.023.

[16] Hoffmann J, Das A, Weng SC. Towards automatic resource bound analysis for OCaml. ACM SIGPLAN Notices. 2017 Jan 1;52(1):359–373, doi: 10.1145/3093333.3009842

[17] Cai X. Agricultural environment information management. International Journal of Agricultural and Environmental Information Systems. 2020 Jul 1;11(3):48–60, doi: 10.4018/IJAEIS.2020070104

[18] MIT World Peace University, Institute of Electrical and Electronics Engineers. Pune Section, Institute of Electrical and Electronics Engineers. 2019 IEEE Pune Section International Conference (PuneCon) : MIT World Peace University, Pune, India. Dec 18-20, 2019, doi: 10.1109/PuneCon46936.2019.9105762

[19] Chakrabarti S, Saha HN, Institute of Electrical and Electronics Engineers. New York Section, Institute of Electrical and Electronics Engineers. Region 1, IEEE-USA, Columbia University, et al. 2019 IEEE 10th Annual Ubiquitous Computing, Electronics & Mobile Communication Conference (UEMCON) : 10th-12th October, 2019, Columbia University, New York, USA, doi: 10.1109/UEMCON47517.2019.8992924

[20] Chawathe SS. Estimating Predicate Selectivities in a NoSQL Database Service. In: 2020 11th IEEE Annual Ubiquitous Computing, Electronics and Mobile Communication Conference, UEMCON 2020. Institute of Electrical and Electronics Engineers Inc.; 2020. p. 0414–20, doi: 10.1109/UEMCON51285.2020.9298056

[21] Hewasinghage M, Abelló A, Varga J, Zimányi E. A cost model for random access queries in document stores. VLDB Journal. 2021 Jul 1;30(4):559–578, doi: 10.1007/s00778-021-00660-x

[22] Lakshman S, Liang J, Mayuram R. Nitro: A fast, scalable in-memory storage engine for NoSQL Global Secondary Index. 2150, doi: 10.14778/3007263.3007278

[23] Ahn JS, Seo C, Mayuram R, Yaseen R, Kim JS, Maeng S. ForestDB: A fast key-value storage system for variable-length string keys. IEEE Transactions on Computers. 2016 Mar 1;65(3):902–915. doi: 10.1109/TC.2015.2435779

[24] Lu J, Holubová I. Multi-model databases: A new journey to handle the variety of data. Vol. 52, ACM Computing Surveys. Association for Computing Machinery; 2019, doi: 10.1145/3323214

[25] Chopade R, Pachghare V. A data recovery technique for Redis using internal dictionary structure. Forensic Science International: Digital Investigation. 2021 Sep 1;38. doi: 10.1016/j.fsidi.2021.301218

[26] el Hajj I, Merritt A, Zellweger G, Milojicic D, Achermann R, Faraboschi P, et al. SpaceJMP: Programming with multiple virtual address spaces. ACM SIGPLAN Notices. 2016 Apr 1;51(4):353–368. doi: 10.1145/2954679.2872366

[27] 2018 IEEE Intl Conf on Parallel & Distributed Processing with Applications, Ubiquitous Computing & Communications, Big Data & Cloud Computing, Social Computing & Networking, Sustainable Computing & Communications (ISPA/IUCC/BDCloud/SocialCom/SustainCom). IEEE; 2018.

[28] Yin Mok W. A feasible schema design strategy for Amazon DynamoDB: A nested normal form approach. In: IEEE International Conference on Industrial Engineering and Engineering Management. IEEE Computer Society; 2020. p. 903–907.

[29] MIT World Peace University, Institute of Electrical and Electronics Engineers. Pune Section, Institute of Electrical and Electronics Engineers. 2019 IEEE Pune Section International Conference (PuneCon) : MIT World Peace University, Pune, India. Dec 18-20, 2019.

[30] Chakrabarti S, Saha HN, Institute of Electrical and Electronics Engineers. New York Section, Institute of Electrical and Electronics Engineers. Region 1, IEEE-USA, Columbia University, et al. 2019 IEEE 10th Annual Ubiquitous Computing, Electronics & Mobile Communication Conference (UEMCON) : 10th-12th October, 2019, Columbia University, New York, USA.

[31] Deese A. Implementation of unsupervised k-means clustering algorithm within Amazon web services lambda. In: Proceedings - 18th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing, CCGRID 2018. Institute of Electrical and Electronics Engineers Inc.; 2018. p. 626–632, doi: 10.1109/CCGRID.2018.00093

[32] Younes G, Shoker A, Almeida PS, Baquero C. Integration challenges of pure operation-based CRDTs in Redis. In: ACM International Conference Proceeding Series. Association for Computing Machinery; 2016.

[33] Zhang H, Marius Tudor B, Chen G, Chin Ooi B. Efficient in-memory data management: An Analysis. Vol. 7, doi: 10.14778/2732951.2732956

[34] Sanka AI, Chowdhury MH, Cheung RCC. Efficient high-performance FPGA-Redis Hybrid NoSQL caching system for blockchain scalability. Computer Communications. 2021 Mar 1;169:81–91, doi: 10.1016/j.comcom.2021.01.017

[35] Gade AN, Larsen TS, Nissen SB, Jensen RL. REDIS: A value-based decision support tool for renovation of building portfolios. Build Environ. 2018 Sep 1;142:107–118, doi: 10.1016/j.buildenv.2018.06.016

[36] Pan C, Wang X, Luo Y, Wang Z. Penalty-and locality-aware memory allocation in Redis using enhanced AET. Vol. 17, ACM Transactions on Storage. Association for Computing Machinery; 2021, doi: 10.1145/3447573

[37] el Hajj I, Merritt A, Zellweger G, Milojicic D, Achermann R, Faraboschi P, et al. SpaceJMP: Programming with multiple virtual address spaces. ACM SIGPLAN Notices. 2016 Apr 1;51(4):353–368.

[38] Xie G, Chung YC. Bucket-based expiration algorithm: Improving eviction efficiency for InMemory key-value database. In: ACM International Conference Proceeding Series. Association for Computing Machinery; 2020. p. 248–259, doi: 10.1145/3422575.3422797

[39] Wang Y, Yang J, Wang Z. Dynamically configuring LRU replacement policy in Redis. In: ACM International Conference Proceeding Series. Association for Computing Machinery; 2020. p. 272–280, doi: 10.1145/3422575.3422799

[40] Butgereit L. Four NoSQLs in four fun fortnights: Exploring NoSQLs in a corporate IT environment. In: ACM International Conference Proceeding Series. Association for Computing Machinery; 2016.

[41] Sadooghi I, Hernandez Martin J, Li T, Brandstatter K, Maheshwari K, Pitta De Lacerda Ruivo TP, et al. Understanding the performance and potential of cloud computing for scientific applications. IEEE Transactions on Cloud Computing. 2017 Apr 1;5(2):358– 371.

[42] Ahn JS, Seo C, Mayuram R, Yaseen R, Kim JS, Maeng S. ForestDB: A fast key-value storage system for variable-length string keys. IEEE Transactions on Computers. 2016 Mar 1;65(3):902–915.

[43] Couchbase: The modern database for enterprise applications [Internet]. Couchbase Website. 2022 [citado el 29 de noviembre de 2022]. Disponible en: https://www.couchbase.com/

[44] Redis [Internet]. Redis. [citado el 29 de noviembre de 2022]. Disponible en: https://redis.io/

[45] Amazon.com. [citado el 29 de noviembre de 2022]. Disponible https://aws. amazon.com/es/dynamodb/?trk=74365dcd-ec2d-40b2-a201-8d654d09350d&sc_ channel=ps&s_kwcid=AL!4422!3!590500029985!e!!g!!dynamodb&ef_id= Cj0KCQiA-dynamodb

[46] www.g2.com. [citado el 29 de noviembre de 2022]. Disponible en: https://www.g2.com/compare/couchbase-vs-redis-vs-aws-amazon-dynamodb