CoDEvo: column family database evolution using model transformations

In recent years, software applications have been working with NoSQL databases as they have emerged to handle big data more efficiently than traditional databases. The data models of these databases are designed to satisfy the requirements of the software application, which means that the models must...

Descripción completa

Detalles Bibliográficos
Autores: Suárez-Otero González, Pablo|||0000-0003-3282-5456, Mior, Michael J., Suárez Cabal, María José|||0000-0001-8262-2871, Tuya González, Pablo Javier|||0000-0002-1091-934X
Tipo de recurso: artículo
Fecha de publicación:2023
País:España
Institución:Universidad de Oviedo (UNIOVI)
Repositorio:RUO. Repositorio Institucional de la Universidad de Oviedo
Idioma:inglés
OAI Identifier:oai:digibuo.uniovi.es:10651/68358
Acceso en línea:http://hdl.handle.net/10651/68358
https://dx.doi.org/10.1016/j.jss.2023.111743
Access Level:acceso abierto
Palabra clave:Software requirements
Consistency
MDE
Model transformation
NoSQL
Evolution
Descripción
Sumario:In recent years, software applications have been working with NoSQL databases as they have emerged to handle big data more efficiently than traditional databases. The data models of these databases are designed to satisfy the requirements of the software application, which means that the models must evolve when the requirements of the software application change. To avoid mistakes during the design and evolution of these NoSQL models, there are several methodologies that recommend using a conceptual model. This implies that consistency between the conceptual model and the schema must be maintained when either evolving the database or the software application. In this work, we propose CoDEvo, a model-driven engineering approach that uses model transformations to address the evolution of a NoSQL column family DBMS schema when the underlying conceptual model evolves due to software requirement changes, aiming to maintain consistency between the schema and conceptual model. We have addressed this problem by defining transformation rules that determine how to evolve the schema for a specific conceptual model change. To validate these transformations, we applied them to conceptual model changes from 9 open-source software applications, comparing the output schemas from CoDEvo with the schemas that were defined in these applications.