A unified data metamodel for relational and NoSQL databasesschema extraction and query

  1. Fernández Candel, Carlos Javier
Dirigida por:
  1. Jesús Joaquín García Molina Director/a
  2. Diego Sevilla Ruiz Director/a

Universidad de defensa: Universidad de Murcia

Fecha de defensa: 30 de junio de 2022

Tribunal:
  1. Antonio Vallecillo Moreno Presidente/a
  2. José Ramón Hoyos Barceló Secretario/a
  3. Pablo Javier Tuya González Vocal

Tipo: Tesis

Resumen

Objetivos. Esta tesis aborda: (i) la definición de un modelo de datos unificado con el objetivo de integrar el modelo relacional con los modelos de datos de los cuatro paradigmas más comunes de NoSQL: columnar, documento, clave-valor y grafos; (ii) La definición de mappings bidireccionales entre el modelo de datos unificado y cada uno de los modelos de datos de cada sistema de base de datos; (iii) La implementación de una estrategia común para la extracción de esquemas de diferentes tipos de bases de datos implementando los mappings definidos; (iv) El desarrollo de un proceso Model-Driven Engineering de análisis de código de aplicaciones para obtener el esquema de la base de datos y realizar un refactoring de la base de datos; (v) El diseño e implementación de un lenguaje de consultas de esquema genérico, que permite lanzar consultas sobre los esquemas representados en el modelo de datos unificado; (vi) La creación de notación gráfica para visualizar los esquemas; y (vii) la realización de un estudio para explorar el uso del modelo de datos unificado para definir un lenguaje de consulta genérico. Metodología. Para lograr los objetivos de la tesis, se ha seguido la metodología Design Science Research Methodology (DSRM). Esta metodología propone procesos de investigación iterativos organizados en varias etapas o actividades para lograr un objetivo. Las actividades que constituyen estos procesos son: (i) Identificación del problema y motivación, (ii) Definición de los objetivos de la solución, (iii) Diseño y desarrollo, (iv) Demostración, (v) Evaluación, y (vi) Conclusiones y comunicación. En un proceso DSRM el conocimiento producido en cada iteración se utiliza como retroalimentación para mejorar el diseño e implementación del artefacto. Resultados. Esta tesis aborda los principales problemas que surgen en el desarrollo de herramientas genéricas de bases de datos que integran los modelos de datos más relevantes: los modelos relacionales y NoSQL: (i) La definición de un metamodelo unificado que integre modelos de datos relacionales y NoSQL; (ii) La construcción de extractores de esquemas lógicos para cada modelo de datos. Debido a que la mayoría de los enfoques de extracción de esquemas han aplicado análisis de datos, hemos investigado el análisis estático de código como alternativa; (iii) Se ha construido una herramienta genérica de gestión de esquemas que incluye un lenguaje de consulta genérico de esquemas y un visualizador de esquemas. Al abordar estos problemas, nos hemos enfrentado a los desafíos que plantea una propuesta de esquema lógico que incluye variaciones estructurales y las relaciones más comunes entre las entidades de las bases de datos NoSQL. Contribuciones. Esta tesis contribuye con (i) El primer metamodelo lógico unificado que integra los paradigmas de base de datos más utilizados: Relacional y NoSQL. Esto implicó la definición de dos modelos de datos lógicos para sistemas NoSQL: uno para sistemas basados en agregados y otro para grafos; (ii) La especificación formal de mappings bidireccionales entre el modelo unificado y los modelos de datos individuales; (iii) La definición de una arquitectura con componentes reutilizables para crear un extractor de esquemas para cualquier sistema Relacional y NoSQL; (iv) Un enfoque Model-Driven Engineering para extracción de esquemas lógicos y refactoring a partir del análisis de código; (v) Un lenguaje de consulta genérico diseñado que permite a los desarrolladores lanzar consultas sobre los esquemas lógicos; (vi) La creación de una notación gráfica para visualizar los esquemas que incluye variaciones estructurales; (vii) Un estudio sobre la utilidad del modelo unificado para crear un lenguaje genérico para consultar datos de cualquier tipo de sistema de bases de datos; y una comparación de diferentes modelos genéricos.