giis-uniovi / modevo

Model-driven approach to maintain data integrity for evolution of column family DBMSs
Apache License 2.0
1 stars 2 forks source link
cassandra-database column-family column-store database-migrations databases model-driven schema schema-evolution

Status Quality Gate Status

MoDEvo - Model-driven approach to maintain data integrity for evolution of column family DBMSs

This repository contains the modules of the Model-driven engineering approach MoDEvo, which provides the data migrations required to maintain data integrity in a column family DBSM when the database evolves:

Quick Start

Currently, MoDEvo can be used by importing it as a Maven project in Eclipse. MoDEvo transforms the the input models of MoDEvo (Schema, Schema Evolution and Conceptual Model) requires into a Data Migration model by executing ATL transformations. There are two possible ways to execute these transformations:

Java ```Java Main class import giis.modevo.transformations.MainTransformations; public static void main (String[] args){ new MainTransformations().createDataMigrationModelAndScript("pathSchema.xml", "pathConceptuaModel.xml", "pathSchemaEvolution.xml", "outputPath.xml"); } ``` ```Java Test Case @Test public void testExample () { new MainTransformations().createDataMigrationModelAndScript("pathSchema.xml", "pathConceptuaModel.xml", "pathSchemaEvolution.xml", "outputPath.xml"); } ```

Modules

MoDEvo is composed of the following modules:

modevo-transform module

Determines the data migrations required to maintain the data integrity in a column family DBMS . It determines these migration through the execution of ATL transformations that are located in the package giis.modevo.transformations.atl. In order to execute these transformations, MoDEvo requires of the following input models in xml format:

Given these three inputs models, MoDEvo transforms them into a Data Migration model:

In addition, Java objects of each of the input and output models are created to be used in the MoDEvo-script module.

modevo-script module

Transforms the data migration model generated in the MoDEvo-transformation module into a script that can be executed against a column family DBSM. Currently it supports the most used column family DBSM, Apache Cassandra. In order to execute this transformation, MoDEvo requires the Schema, Schema Evolution and Data Migration models as Java objects.

Given these objects, MoDEvo creates one script for each table that requires data migrations in two ways:

Citing this work

TODO

Related work

Suárez-Otero, P., Mior, M. J., Suárez-Cabal, M. J., & Tuya, J. (2023). CoDEvo: Column family database evolution using model transformations. Journal of Systems and Software, 111743.

Suárez-Otero González, P., Mior, M. J., Suárez Cabal, M. J., & Tuya González, P. J. (2023, March). Data migration in column family database evolution using MDE. In Workshop Proceedings of the EDBT/ICDT 2023 Joint Conference (March 28-March 31, 2023, Ioannina, Greece). George Fletcher and Verena Kantere.

Suárez-Cabal, M. J., Suárez-Otero, P., de la Riva, C., & Tuya, J. (2023). MDICA: Mainte-nance of data integrity in column-oriented database applications. Computer Standards & In-terfaces, 83, 103642.