Evaluación del motor de base de datos orientado a grafos Neo4j como soporte nativo de la memoria de trabajo de aplicaciones MDE/EMOF.
Evaluation of the graph database engine Neo4j as native memory support for MDE/EMOF applications.
Ver/ Abrir
Identificadores
URI: http://hdl.handle.net/10902/9387Registro completo
Mostrar el registro completo DCAutoría
Algorri Álvarez, Miguel
Fecha
2016-09Derechos
Atribución-NoComercial-SinDerivadas 3.0 España
Palabras clave
Ingeniería dirigida por modelos
EMOF
Base de datos basada en grafos
Neo4j
Evaluación de rendimiento
Model-driven engineering
Graph databases
Performance benchmark
Resumen/Abstract
RESUMEN: El avance constante de la tecnología ha provocado que la complejidad del software aumente. Ante la incapacidad de los lenguajes de programación actuales para dar solución a este problema se ideó la ingeniería dirigida por modelos. Ésta aporta un conjunto de lenguajes de modelado específicos para cada dominio y un conjunto de herramientas que permiten transformar los modelos facilitando el trabajo al desarrollador. PyEmofUC es una de estas herramientas. Esta permite la generación de código a partir de unos modelos definidos anteriormente. Sin embargo, PyEmofUC carece de escalabilidad puesto que almacena los modelos en objetos Python, lo cual implica que la aplicación está limitada por la memoria de la máquina en la que se ejecute. Como solución a este problema surge la idea de utilizar una base de datos basada en grafos que aportaría esa escalabilidad que le falta a la aplicación. Sin embargo, el hecho de utilizar una base de datos ralentiza los tiempos de respuesta. Por lo tanto, el objetivo del proyecto actual es el de evaluar ambas soluciones mediante el desarrollo de un benchmark con el fin de conocer si es viable utilizar una base de datos como capa de persistencia.
ABSTRACT: The continuous tech growth has made the software complexity to be increased. Due to the inability of current programming languages to give solution to this problem, model-driven engineering was created. It offers a set of specific modeling languages that depend on the domain and a group of tools that allow transforming models making the developers’ work easier. PyEmofUC is one of these tools. It allows generating code based on some defined models. However, PyEmofUC lacks of scalability because it stores the models in Python objects which means that the application is limited by the memory of the machine where it’s being run. As a solution to this problem the idea of using a graph database to make the scalability possible came up. Nevertheless, using a database makes response times slower. Therefore, the main target of this project is to evaluate both solutions by developing a benchmark in order to know if it’s viable using a database as a persistence layer.