Inferring NoSQL data schemas with model-driven engineering techniques= Inferencia de esquemas en bases de datos NoSQL por medio de ingeniería dirigida por modelos

Author

Feliciano Morales, Severino

Director

García Molina, Jesús Joaquín

Sevilla Ruiz, Diego

Date of defense

2017-06-08

Pages

183 p.



Department/Institute

Universidad de Murcia. Departamento de Ingeniería y Tecnología de Computadores

Abstract

La ausencia de un esquema explícito (schemaless) es una característica necesaria en los sistemas NoSQL debido a que proporciona la flexibilidad requerida por los cambios frecuentes en la estructura de los datos. Sin embargo, los desarrolladores necesitan comprender el esquema implícito cuando escriben código y las herramientas de bases de datos requieren conocer dicho esquema para soportar funcionalidades básicas. El objetivo principal de esta tesis es la definición de una estrategia de ingeniería inversa destinada a descubrir los esquemas implícitos en bases de datos NoSQL “basadas en agregación” y la construcción de herramientas que aprovechen los esquemas inferidos para ofrecer funcionalidades que ayuden a los desarrolladores. Estas herramientas permitirán que la flexibilidad obtenida no suponga perder los beneficios importantes que proporcionan los esquemas. Tanto el proceso de inferencia como las herramientas se han implementado con técnicas de la Ingeniería del Software Dirigida por Modelos (MDE). La existencia de versiones de las entidades almacenadas en bases de datos NoSQL ha sido el principal reto en el diseño del proceso de inferencia y de las herramientas. Metodología. Se ha seguido la metodología ``Design Science Research'' (DSRM) que define un proceso que consiste de seis actividades: (1) Identificación del problema y motivación, (2) Definir los objetivos, (3) Diseño y desarrollo de la solución, (4) Demostración, (5) Evaluación y (6) Conclusiones y difusión. Se trata de un proceso iterativo en el que el conocimiento producido a lo largo del proceso, por medio de la construcción y evaluación de nuevos artefactos, sirve como realimentación que permite mejora los artefactos creados con anterioridad hasta completar la solución final. Los detalles que implican estas actividades se introducen cuidadosamente a lo largo de esta Tesis. Resultados. Se ha definido un proceso de inferencia que representa los esquemas descubiertos como modelos que conforman al metamodelo NoSQL_Schema que es independiente de la plataforma. Las principales diferencias con respecto a otros enfoques propuestos son: (i) se extraen las versiones de cada entidad; (ii) se descubren todas las relaciones entre las versiones de entidad extraídas: agregación y referencias; y (iii) se considera la escalabilidad y el rendimiento del algoritmo de inferencia aplicando una operación MapReduce. El enfoque ha sido validado por medio de una base de datos MongoDB generada a partir de los datos de StackOverflow. Esta validación ha mostrado que el algoritmo escala bien con respecto al número de objetos. Se ha mostrado la utilidad de los esquemas versionados por medio del desarrollo de tres herramientas: visualización de esquemas, generación de código para Object-Document mappers (ODM), y generación de código para validar datos tanto al ser almacenados como al ser leídos. Contribuciones. El enfoque de inferencia presentado es el primero que maneja esquemas versionados para bases de datos NoSQL. Se han definido varios tipos de esquemas versionados: esquema de una versión, esquema de una entidad, esquema global de la base de datos y esquema de entidades de la base de datos. Se han propuesto representaciones visuales para cada tipo de esquema definido que se basan en los diagramas de clases UML. Se han construido tres utilidades para mostrar cómo los esquemas inferidos son útiles para la generación de código de aplicaciones NoSQL. El desarrollo de estas utilidades y del proceso de inferencia han mostrado los beneficios de las técnicas MDE en el área de la Ingeniería de Datos, en particular, el meta-modelado y las transformaciones de modelos.


The absence of an explicit schema (schemaless) is a convenient feature in NoSQL systems because it provides the required flexibility when the data structure varies often. However, developers need to keep in mind the implicit schema when they write code. Also, some database tools require knowing the schema to tailor their functionality to the existing data. The main objective of this thesis is the definition of a reverse engineering strategy aimed to discover the inherent schemas in aggregate-oriented NoSQL databases, and building tools that take advantage of the inferred schema to offer capabilities that assist developers. These tools will bring the benefits of schemas without losing the flexibility gained by being schemaless. The existence of entity versions in NoSQL databases is the main challenge to be addressed in the schema inference process. With regard to the implementation of the inference process and the database tools, Model-Driven Software Engineering (MDE) techniques have been applied. Methodology. In order to achieve the objectives of this thesis, we have followed the “Design Science Research Methodology” (DSRM), which consists of six activities: (1) Problem identification and motivation, (2) Define the objectives of a solution, (3) Design and development, (4) Demonstration, (5) Evaluation, and (6) Conclusions and communication. This is an iterative process in which the knowledge produced throughout the process by constructing and evaluating new artifacts serves as feedback for a better design and implementation of the final solution. The details entailing these activities are introduced thoughtfully through this Thesis. Results. We have defined a schema discovering approach that has been implemented as a model-driven reverse engineering process. The schema inferred is represented as a model that conforms to the NoSQL_Schema metamodel, which is NoSQL system-independent. The main differences of our inference strategy with respect to other proposed approaches are the following: (i) to extract the versions of each entity; (ii) to discover all the relationships among the entity versions extracted: aggregation and references; and (iii) to consider the scalability and performance of the inference algorithm by applying a MapReduce operation. The approach has been validated with a real case study, in particular we have created a MongoDB database from the open data Stackoverflow dataset. This validation showed that the inference algorithm scaled well with respect to the number of objects. The utility of the inferred schemas has been shown by developing three database utilities: schema visualization, code generation for Object-Document mappers (ODM), and code generation to validate data when they are read or written from/to the database. Contributions. We have defined the first approach that infers database schemas from NoSQL databases discovering all the versions of the inferred entities and their relationships. Several kinds of versioned schemas have been proposed: version schema, entity version, complete database schema, and entity database schema. We have proposed the first visual representations for these schemas, which are based on UML class diagrams. Three database utilities have shown how the inferred schemas are useful to generate code for NoSQL database applications. The development of these utilities has evidenced the benefits of the MDE techniques in the Data Engineering area, more specifically meta-models and model transformations.

Keywords

Bases de datos; Tecnología de la información

Subjects

0 - Science and knowledge. Organization. Computer science. Information. Documentation. Librarianship. Institutions. Publications; 00 - Prolegomena. Fundamentals of knowledge and culture. Propaedeutics; 004 - Computer science and technology. Computing. Data processing

Knowledge Area

Ingeniería

Documents

TSFM.pdf

3.442Mb

 

Rights

ADVERTENCIA. El acceso a los contenidos de esta tesis doctoral y su utilización debe respetar los derechos de la persona autora. Puede ser utilizada para consulta o estudio personal, así como en actividades o materiales de investigación y docencia en los términos establecidos en el art. 32 del Texto Refundido de la Ley de Propiedad Intelectual (RDL 1/1996). Para otros usos se requiere la autorización previa y expresa de la persona autora. En cualquier caso, en la utilización de sus contenidos se deberá indicar de forma clara el nombre y apellidos de la persona autora y el título de la tesis doctoral. No se autoriza su reproducción u otras formas de explotación efectuadas con fines lucrativos ni su comunicación pública desde un sitio ajeno al servicio TDR. Tampoco se autoriza la presentación de su contenido en una ventana o marco ajeno a TDR (framing). Esta reserva de derechos afecta tanto al contenido de la tesis como a sus resúmenes e índices.

This item appears in the following Collection(s)