Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ESTUDIAR INFORMÁTICA
Norberto ZANIEWICZ1,
ORCID: 0000000295167529
Andrzej SALAMOŃCZYK1
ORCID: 0000000315626762
1
Universidad de Ciencias Naturales y Humanidades de Siedlce
Facultad de Ciencias Exactas y Naturales
Instituto de Informática ul. 3 Maja
54, 08110 Siedlce, Polonia
DOI: 10.34739/si.2022.26.04
Abstracto. Las bases de datos NoSQL están ganando cada vez más popularidad y son una alternativa importante a
las bases de datos relacionales. Ejemplos de tales bases de datos son Neo4j, MongoDB y ArangoDB. Estas bases
de datos se describen en este artículo, se comparan entre sí y se presentan los resultados de rendimiento para
agregar un objeto a la base de datos, eliminar un objeto, buscar y completar la base de datos. Los resultados muestran
que la base de datos más rápida es MongoDB, excepto por una medida de eliminación.
Introducción
Las soluciones de bases de datos, desde relacionales, pasando por redes, jerárquicas, orientadas a objetos
y no relacionales, se están desarrollando dinámicamente con el uso de nuevas tecnologías. Las empresas
adaptan constantemente sus soluciones a las necesidades de los clientes, intentando mantenerse por delante
de la competencia y obtener incluso una ventaja temporal. Por tanto, el entorno de bases de datos es uno de los
más progresistas. El rechazo del modelo de base de datos relacional por parte de los pioneros de las no relacionales.
Machine Translated by Google
62 N. Zaniewicz, A. Salamończyk
Solutions fue una respuesta a la demanda del mercado en el segmento de soluciones más eficientes con grandes
cantidades de datos. Empresas como Google y Facebook comenzaron a trabajar en diversas formas de abordar la
creciente cantidad de todo tipo de información que deben almacenar y procesar, lo que se ha vuelto cada vez más costoso
En el mismo período se desarrollaron sucesivos sistemas de bases de datos que satisfacían necesidades cada vez
más diferentes de almacenamiento de datos. Los gráficos, que facilitan el mapeo de relaciones y la búsqueda de patrones,
se utilizan actualmente como sistemas de creación de escenarios de compras, por ejemplo en eBay. Bases de datos de
documentos que facilitaron a los desarrolladores de aplicaciones el almacenamiento y procesamiento de documentos JSON.
sin necesidad de interferir en su estructura.
La aparición de bases de datos NoSQL también estuvo asociada con nuevos sistemas de gestión de bases de datos
y, lo que es más importante, nuevos lenguajes o estructuras de consulta, a menudo significativamente diferentes del SQL
estándar. El ejemplo emblemático son las bases de datos de gráficos, basadas en relaciones que se describen en los
bordes del gráfico entre nodos. Los lenguajes gráficos como Cypher, GraphQL, Gremlin y SPARQL fueron creados
especialmente para las necesidades de estas bases de datos. Las consultas en bases de datos de documentos parecen
un poco más amigables para los usuarios de SQL, donde el lenguaje de consulta es similar y, a veces, casi idéntico a su
Las adaptaciones de nuevas soluciones aportan beneficios mensurables en forma de ahorro de recursos o una
mejora significativa en la eficiencia operativa. Por lo tanto, se actualizan constantemente, pero intentan mantener sus
conceptos básicos sin cambios y muy a menudo son compatibles con versiones anteriores. Las bases de datos NoSQL
son un ejemplo de desarrollo dinámico, impulsado por el desarrollo de toda la industria de la tecnología de la información.
Las demandas debían recibir una respuesta adecuada. Podemos esperar la aparición de muchos sistemas o actividades
híbridos para la compatibilidad del funcionamiento de varias soluciones. En raras ocasiones, en soluciones grandes, un
enfoque de base de datos es suficiente. Por lo tanto, vale la pena comparar varios sistemas de bases de datos, incluida la
medición de su eficacia.
En este capítulo discutiremos tres ejemplos de bases de datos NoSql, son Neo4j, MongoDB, ArangoDB, que se
2.1. neo4j
Neo4j no es sólo un sistema de base de datos de gráficos, sino también la empresa responsable del mismo. En 2000,
los futuros fundadores de Neo4j, influenciados por los problemas de rendimiento encontrados en las relaciones
Machine Translated by Google
Comparación de bases de datos MongoDB, Neo4j y ArangoDB utilizando el generador de datos desarrollado… 63
bases de datos, comenzó a trabajar en un prototipo de base de datos gráfica. Los creadores formalizaron sus
actividades sólo después de siete años, fundaron la empresa y luego aparecieron las primeras versiones de esta
base de datos. Sin embargo, recién en 2010 apareció la versión 1.0, iniciando una nueva etapa de
Soluciones de bases de datos.
La base de datos implementada en Java se fue desarrollando dinámicamente y los años siguientes trajeron
versiones revisadas y enriquecidas con nuevas funcionalidades. Los creadores recaudaron cada vez más fondos
y grandes clientes utilizando su solución. Actualmente, Neo4j es la solución más popular entre las bases de
datos de gráficos. Esta posición en el mercado se debe a su rica funcionalidad.
Cumplimiento de ACID (Atomicidad, Consistencia, Aislamiento, Durabilidad), es decir, un conjunto de propiedades
que garantizan la ejecución consistente de transacciones en la base de datos, soporte para agrupación y facilidad
de escalado. Estas son las características que afectan la calidad cada vez mayor de esta base de datos de
gráficos.
La solución paga ofrecida, versión Enterprise, proporciona una excelente escalabilidad horizontal, es decir,
es muy fácil agregar recursos a través de nuevas máquinas en el grupo de recursos. El escalado se realiza
mediante dos tipos de agrupación, que son la agrupación de alta disponibilidad y la agrupación informal. El
primer tipo de agrupación permite el uso de máquinas distribuidas, donde uno de los servidores actúa como
supervisor de varias máquinas esclavas. En caso de falla, se selecciona un nuevo supervisor y la base de datos
opera continuamente, lo que produce una alta disponibilidad.
La agrupación informal, por otro lado, proporciona réplicas transferibles de solo lectura. Cuando falla una de
las instancias de la base de datos, los servidores primarios brindan acceso de lectura y escritura, incluida la
modificación de datos. Sin embargo, muy a menudo se utilizan bases de datos de gráficos para buscar
información, de ahí un número significativo de réplicas con funcionalidad de solo lectura. Esta estructura permite
una gestión eficiente de los recursos y garantiza una seguridad y disponibilidad de primer nivel. Esta solución
también cuenta con un equilibrador de carga para aumentar la comodidad de uso cargando uniformemente todos los disponibles.
recursos.
Para la comunicación entre la base de datos y las aplicaciones se utiliza el protocolo binario Bolt creado en
2015, que ganó mayor interés un año después al utilizarlo en la versión 3.0 del servidor Neo4j. Este protocolo,
que funciona sobre sockets TCP, permite enviar mensajes con parámetros.
El servidor responde a dicha consulta con un mensaje de respuesta con un flujo opcional de resultados. Las
bases de datos Neo4j pueden implementarse como soluciones de servidor y también integrarse localmente, por
ejemplo en una aplicación Java (Fig. 1). Esto significa que en el caso de soluciones locales o implementación
para dispositivos móviles, se reduce la carga de comunicación de red. Neo4j también proporciona API Java
nativa para la manipulación de datos en aplicaciones.
Machine Translated by Google
64 N. Zaniewicz, A. Salamończyk
Figura 1. Aplicación Java con instancia de base de datos Neo4j integrada localmente. Fuente: [8]
Proporcionar dicho soporte por parte del fabricante permite a los programadores crear fácilmente una aplicación
basada en la API proporcionada sin involucrar recursos del servidor. Neo4j adoptó un modelo de datos gráficos, es decir,
conjuntos de nodos y bordes entre ellos descritos con valores. Los nodos pueden almacenar información sobre el objeto
que representan. Los bordes son conexiones dirigidas y descritas de nodos en el gráfico. Dicha conexión le permite
realizar fácilmente operaciones como, por ejemplo, contar pasos entre los nodos de interés, así como devolver nodos
La característica distintiva de Neo4j es el uso de su propio lenguaje de consulta Cypher. Este lenguaje de consulta
Inicialmente, estaba destinado a ser el lenguaje de consulta nativo solo en Neo4j, pero en 2015 se transformó en la
iniciativa openCypher, cuyo objetivo es proporcionar al segmento de bases de datos de gráficos un lenguaje de consulta
universal completamente documentado para todos los conjuntos de datos de este tipo. Cypher es una traducción
sistematizada de la descripción de la relación de nodos y aristas en un gráfico a una consulta. Actualmente, utiliza muchas
palabras clave presentes en SQL, pero a menudo en un sentido diferente al de su competidor relacional. Todo el lenguaje
funciona con patrones relativamente costosos que, cuando se usan correctamente, permiten obtener resultados que no
Actualmente, las grandes tiendas online utilizan Neo4j para realizar sugerencias contextuales. Se realiza un
seguimiento de los cambios en el gráfico, como los elementos de la lista de deseos, y en función de ellos, se proponen
más. Se utiliza un mecanismo similar para sugerir artículos en sitios de subastas basándose en frases buscadas.
Machine Translated by Google
Comparación de bases de datos MongoDB, Neo4j y ArangoDB utilizando el generador de datos desarrollado… 65
2.2. MongoDB
MongoDB es una de las soluciones de documentos en el segmento de bases de datos NoSQL. Esto significa que el
sistema opera almacenando datos en documentos similares a JSON. La base de datos de documentos es popular. Lo
utilizan empresas tan grandes como Adobe, eBay y Electronic Arts. Se ofrece en varias versiones, incluida la comunitaria
gratuita y la empresarial de pago. La opción paga incluye más funciones de administración de bases de datos y opciones
de seguridad adicionales, por ejemplo, autenticación mediante el protocolo Kerberos. Al igual que sus competidores, ofrece
La escalabilidad de esta base de datos básicamente solo está limitada por la cantidad de recursos conectados en una
red distribuida. Gracias al uso del sistema de fragmentación de Google BigTable, es decir, la división en servidores maestro
y esclavo, los datos se dividen y distribuyen en varios servidores, que en teoría se pueden añadir infinitamente al conjunto
de recursos. La lectura de los datos está controlada por un proceso adecuado que conoce la localización de los datos y que
ejecuta la petición dirigida al servidor. El sistema de compartición automatiza muchos procesos de distribución y cuidado de
la carga, gracias a lo cual la lectura incluso desde diferentes servidores es rápida y puede realizarse simultáneamente desde
diferentes máquinas. Replicación: es decir, crear una copia del servidor para garantizar la redundancia basándose en la
misma solución que el escalado, los servidores esclavos tienen una copia de los datos de los servidores maestros, esto
Se pueden utilizar réplicas adicionales como servidores de lectura adicionales para aumentar el rendimiento.
MongoDB también proporciona controladores de bases de datos para muchos lenguajes de programación, incluidos C+
+, C#, Java, PHP o Python, lo que permite su amplia aplicación. La comunicación con el servidor se basa en la interfaz http
Los controladores más recientes permiten elegir el trabajo sincrónico o asincrónico con la base de datos y están desarrollados
MongoDB es una base de datos NoSQL y al igual que otras soluciones de este tipo, partió de ciertos supuestos
relacionales en favor de un sistema más eficiente. Esta base de datos utiliza documentos como principal unidad de
almacenamiento de datos. Tal como lo entiende este sistema de bases de datos, un documento es el equivalente a una fila
en las bases de datos relacionales, con la diferencia de que puede tener valores anidados, que en el caso de las bases de
datos estándar deben implementarse mediante claves foráneas y tablas adicionales. También existe la opción de utilizar
referencias a otros documentos, lo que facilita la asignación de esquemas de bases de datos relacionales en los que nos
esforzamos por normalizar los datos. El proceso de normalización consiste en crear tablas y relaciones adecuadas a las
reglas impuestas, con el fin de evitar redundancias y garantizar la coherencia de los datos.
Machine Translated by Google
66 N. Zaniewicz, A. Salamończyk
En el caso de MongoDB, los modelos de datos desnormalizados simplifican el trabajo , así es posible
manipular todo el documento en una sola operación. Un documento en una base de datos de este tipo es una
estructura de datos ordenada jerárquicamente que utiliza un formato apropiado, por ejemplo, JSON (JavaScript
El uso de documentos JSON hizo que el lenguaje de consulta predeterminado utilizado en MongoDB fuera
JavaScript. Además, cada controlador utiliza la estructura del idioma en el que fue escrito.
En la práctica, esto significa que la elección del idioma afecta la forma en que se crean las consultas.
2.3. ArangoDB
ArangoDB es el nombre de un sistema de base de datos bajo licencia gratuita y de código abierto, creado en
2011. Inicialmente se publicó con el nombre de AvocadoDB, lo que enfrentó problemas legales, y un año después
obtuvo su nombre actual. Propuesto por ArangoDB. El sistema de base de datos es uno de los más universales
La motivación para esta dirección de desarrollo fue la combinación de modelos que ya ofrecen las bases de
datos NoSQL en una sola solución. Neo4j usa gráficos, MongoDB usa documentos y los creadores de ArangoDB
decidieron crear una base con un enfoque multimodelo para superar la necesidad de usar diferentes soluciones
para diferentes tipos de datos. Este sistema de base de datos relativamente nuevo tiene muchos clientes, incl. se
trata de Cisco o Thomson Reuters, que es una de las empresas de entrega de mensajes más grandes. Utiliza
ArangoDB para construir su plataforma para el intercambio de información interna, el análisis y la gestión de
La motivación para esta dirección de desarrollo fue la combinación de modelos que ya ofrecen las bases de
datos NoSQL en una sola solución. Neo4j usa gráficos, MongoDB usa documentos y los creadores de ArangoDB
decidieron crear una base con un enfoque multimodelo para superar la necesidad de usar diferentes soluciones
para diferentes tipos de datos. Este sistema de base de datos relativamente nuevo tiene muchos clientes, incl. Se
trata de Cisco y Thomson Reuters, una de las empresas de distribución de noticias más grandes del mundo. Utiliza
ArangoDB para construir su plataforma para el intercambio de información interna, análisis y gestión de inteligencia,
A pesar de su corta edad, ArangoDB ha sido equipado con muchas funcionalidades que tienen los
competidores. Proporcionar, entre otras cosas, escalamiento vertical, es decir, el uso de servidores cada vez más
eficientes, y escalamiento vertical, es decir, la creación de clústeres a partir de muchos servidores. Al igual que
MongoDB y Neo4j, utiliza muchos servidores, cada uno de los cuales tiene algunos datos y dependiendo de él
puede ser un servidor líder (servidor principal) o un servidor esclavo. Todo el sistema también utiliza coordinadores que
Machine Translated by Google
Comparación de bases de datos MongoDB, Neo4j y ArangoDB utilizando el generador de datos desarrollado… 67
actuar como intermediario entre el cluster ArangoDB y los clientes, gracias al cual estos realizan toda o parte de
la consulta dependiendo de los datos que tengan. Una estructura de este tipo garantizará una fácil escalabilidad
al agregar nuevos servidores al conjunto de máquinas. El modelo utilizado también es un aspecto importante de
ArangoDB también soporta muchos lenguajes de programación, Java, JavaScript, PHP, .NET y Scala son
sólo algunos de ellos. En comunicación con el servidor, puede utilizar el protocolo http o el protocolo binario
VelocyStream introducido en la versión 3.2, que en algunas soluciones de consultas cortas gana ventaja sobre el
protocolo http. Para soportar muchos modelos y utilizar varios de ellos en una sola consulta, ArangoDB ha
implementado el AQL (ArangoDB Query Language) declarativo. Este idioma utiliza palabras en inglés como
palabras clave.
Actualmente, ArangoDB se está volviendo popular entre empresas indecisas que están en el proceso de
definir sus necesidades de almacenamiento de datos, o que confían en que una solución uniforme no satisfará
sus necesidades. Las bases de datos NoSQL discutidas se encuentran entre las más populares y se decidió
Al analizar la bibliografía en términos de comparación de bases de datos, lo más frecuente es que nos
encontremos con bases de datos SQL. Al examinar las bases de datos SQL, podemos tener en cuenta varios
factores como el rendimiento y la seguridad. Por ejemplo, Barczak et al., [1]. investigó la influencia de los métodos
de indexación en el funcionamiento efectivo de la base de datos y Skaruz, [2], analizó la seguridad de las bases
En [3] se describe una comparación del rendimiento de las bases de datos SQL y NoSQL. Li y Manoharan
implementados por bases de datos NoSQL y SQL. Sus resultados mostraron que no todas las bases de datos
NoSQL funcionan mejor que las bases de datos SQL.
Martins, Abbasi y Sá [4] describen estudios más detallados sobre el rendimiento. Probaron y evaluaron:
MongoDB; Casandra; HBase; OrientDB; Voldemort; Bases de datos Memcached y Redis. Tang y Fan [5] también
probaron cinco bases de datos NoSQL (Redis, MongoDB, Couchbase, Cassandra, HBase) utilizando una
Pereira et al. [6] probaron otro conjunto de bases de datos NoSQL (Couchbase, MongoDB y RethinkDB).
Probaron escenarios de un solo subproceso y de múltiples subprocesos. Los resultados muestran que Couchbase
68 N. Zaniewicz, A. Salamończyk
múltiples documentos e insertar documentos con múltiples subprocesos, operaciones en las que MongoDB produce mejores
resultados.
Gupta et al., [7], seleccionaron una base de datos para diferentes tipos de datos, MongoDB (almacenamiento de
documentos), Cassandra (almacenamiento de columnas anchas), Redis (almacenamiento de valores clave) y Neo4j (bases de
datos de gráficos) y los compararon entre sí. Sus resultados muestran que las operaciones de escritura y eliminación son
rápidas para las bases de datos MongoDB, Redis y Cassandra, mientras que la operación de lectura es comparativamente lenta en
Casandra.
Se puede observar que las comparaciones y los estudios de rendimiento de diferentes kits son populares y vale la pena
realizarlos. El conjunto de bases probadas depende de la popularidad actual y la utilidad en aplicaciones específicas. Zaniewicz,
[8], comparó las bases de datos MongoDB, Neo4j y ArangoDB en su tesis de maestría y algunos de los resultados se presentan
más adelante en este artículo. Para las pruebas utilizó un generador de datos desarrollado por el autor.
comunidad de científicos y personas que aprenden automáticamente que recopilan y comparten conjuntos de datos públicos. El
archivo antes mencionado contiene una colección de casi cinco mil películas, cada registro está descrito por 27 columnas que
contienen, entre otros datos, información como el nombre y apellido del director, título de la película, personalidad de los actores,
un enlace a una página en la base de datos de películas de IMDb, país de producción, presupuesto y muchos más.
El primer paso en el enfoque de diseño fue determinar en función de qué características se construirá cada base de datos
y qué datos darán resultados interesantes en el enfoque de gráficos y documentos. En la siguiente etapa de creación del
archivo, se adaptó el archivo a los requerimientos del programa, esto implica adoptar separadores adecuados y verificar que no
aparezcan en títulos de películas en inglés, porque algunos de ellos contienen punto y coma, dos puntos, puntos o apóstrofes.
Luego, cada registro se marcó con un número como identificador y, en los siguientes pasos, se redujeron los registros que
contenían valores en blanco para mantener la estabilidad de la solución implementada. Los datos de este formulario debían
guardarse en la memoria del programa para poder parametrizarlos a los efectos de las consultas que se realizaban, para evitar
De esta forma se obtuvo un conjunto de pruebas que se envió a consultas individuales y gracias al cual se crearon tres
bases de datos con enfoques muy diferentes, con más de tres mil registros.
Machine Translated by Google
Comparación de bases de datos MongoDB, Neo4j y ArangoDB utilizando el generador de datos desarrollado… 69
Resultados
La tarea difícil es elegir una característica que no favorezca una solución de base de datos específica. Cada uno de los sistemas
de bases de datos descritos en este documento fue creado para llenar el vacío de las necesidades de SBD con una especificación
específica. Para mantener resultados comparables, se probaron las características de tiempo básicas para todas las bases de datos,
como el tiempo de creación de la base de datos, el tiempo de ejecución de una consulta simple que busca un documento o nodo
El primer parámetro probado es el momento de crear la base de datos, teniendo en cuenta las bases de datos de documentos
utilizadas y la base de datos de gráficos, este es el momento en que se llena con el conjunto de datos de prueba y, en el caso de
Neo4j, también la creación del gráfico. borde, que es un elemento importante que genera una carga bastante grande. Otro parámetro
examinado es el tiempo de ejecución de una consulta simple seleccionando un registro por título de la película de cada una de las
bases de datos. Se probaron más a fondo el momento de eliminar un registro determinado y el momento de editarlo.
Todos estos parámetros también están presentes en las bases de datos relacionales tradicionales, lo que permite una
comprensión más accesible de los resultados obtenidos en función de las características y operaciones preferidas de soluciones
específicas. Todos los resultados estuvieron relacionados con información sobre las aplicaciones de cada una de las soluciones y
Todas las pruebas realizadas para obtener valores fiables se repitieron cien veces.
Con base en los resultados obtenidos se extrajeron las medias, valores máximos y mínimos. Todas las pruebas se realizaron en
Procesador CoreTM i56500 con frecuencia de 3,2 GHz, 16 GB de RAM DDR4 a 2133 MHz y disco duro WD Blue de 2 TB a 5400
rpm. Las bases de datos también utilizaron la configuración predeterminada sugerida sin optimizarla para mejorar el rendimiento.
La recopilación de los resultados anteriores le permite crear una comparación que presentará los resultados obtenidos por las
bases de datos probadas. Hay que tener en cuenta que a pesar de las enormes diferencias entre ellos, tienen el mismo objetivo:
La primera prueba es agregar un nuevo nodo/documento a la base de datos, es decir, su unidad organizativa principal, los
70 N. Zaniewicz, A. Salamończyk
Al analizar la pestaña. 1, se puede observar que todas las bases de datos, al crear sus propios tipos de unidades
organizativas, alcanzan tiempos bastante similares. Las diferencias en los tiempos medios son pequeñas, teniendo sólo
Pestaña. 2 muestra los resultados del tiempo de ejecución de la consulta eliminando el "registro" de las bases de
datos. Los resultados obtenidos en conjunto muestran que las soluciones individuales difieren significativamente de
entre sí.
Tabla 2. Resumen de los resultados de eliminar un nodo/documento de la base de datos. Fuente: [8]
Los resultados de esta consulta son diferentes a los de crear nodo, aunque ambas operaciones pueden considerarse
básicas para cada base de datos. Los tiempos de eliminación de MongoDB difieren significativamente de los resultados
El tiempo máximo de eliminación en el caso de MongoDB se desvía significativamente del resto de resultados y
afecta fuertemente el promedio, sin embargo, esta muestra, que constituye el 1% de todos los resultados, puede
considerarse un error estadístico causado, por ejemplo, por una falla temporal. carga del conjunto de prueba o conexión
al servidor MongoDB.
Sin embargo, todos los valores obtenidos se pueden tomar en la categoría rápida. El promedio de MongoDB, sin
tener en cuenta los valores atípicos dados, es de aproximadamente 0,6 ms, lo que hace que la base de datos sea la más
rápida en términos de eliminación. La siguiente prueba consistió en buscar un nodo o documento en una determinada
La búsqueda en bases de datos arrojó resultados bastante diversos, la base de documentos MongoDB fue la mejor
para esta tarea, la peor, lo que puede ser un resultado sorprendente, ArangoDB. La solución gráfica es bastante
El alto resultado de ArangoDB se debe a los tiempos más bajos alcanzados, una parte importante de los cuales
alcanza alrededor de 4 ms, lo que es un resultado cuatro veces mayor que el de la competencia, pero mantiene un tiempo
máximo mucho menor.
Machine Translated by Google
Comparación de bases de datos MongoDB, Neo4j y ArangoDB utilizando el generador de datos desarrollado… 71
El último parámetro tomado en cuenta fue la creación de la base de datos junto con la población.
Esta elección se hizo debido al poco tiempo necesario para crear las estructuras básicas de la base de datos:
la creación de una base gráfica o una colección de documentos se mide en milisegundos y este proceso a
menudo se realiza solo una vez.
Por esta razón, los resultados de la creación en sí tendrían un impacto marginal en la eficiencia, sin
embargo, teniendo en cuenta llenar la base de manera adecuada según los patrones adoptados, podemos
simular un cambio, por ejemplo, de la solución basada en la empresa. . Pestaña. 4 resume los resultados de
todas las bases de datos y dos variantes de la base de datos Neo4j, el primer factor notable es el cambio de
la unidad a segundos (el resultado de MongoDB se ha formateado correctamente para facilitar la lectura).
Tabla 4. Resumen de los resultados de la creación y llenado de bases de datos. Fuente: [8]
Neo4j
Parámetro Neo4j sin aristas MongoDB ArangoDB
con bordes
244,22
Significar 682,80 s s 204 s 0,42 segundos 2,79 s
mín. 382 s 0,4 segundos 2s
máx. 837s 480s 1,07 segundos 7 segundos
Conclusiones
En este trabajo se realizó una comparación de las bases de datos Neo4j, MongoDB y ArangoDB utilizando
datos generados en un generador de datos preparado para tal fin. El artículo también presenta una breve
descripción de estas bases de datos.
Para evaluar la efectividad se utilizó un generador de datos desarrollado para el tema, el cual a partir de
un conjunto de datos sobre películas del sitio web IMDB contenidos en un archivo .csv, creó una estructura
adecuada para crear las bases de datos mencionadas. llenarlos y probar algunos aspectos del rendimiento
que ofrecen las bases de datos NoSQL, lo que permitió realizar una comparación de bases de datos. Al
analizar los resultados presentados en la sección Resultados, queda claro que las bases de gráficos fueron
las que se formaron por más tiempo. Este resultado no sorprende debido a la complejidad de los gráficos y la
cantidad de nodos que contienen. El más corto fue la implementación de bases de datos basadas en un
formato de documento desnormalizado, es decir, MongoDB y ArangoDB.
Observando los promedios de los resultados se puede decir que la solución más rápida es MongoDB,
excepto por una medida de eliminación, que definitivamente sobrestimó el promedio alcanzado por la base.
Considerando la versatilidad de ArangoDB (también combina un motor de gráficos), se puede concluir que es
una implementación muy competitiva de una solución documental con posibilidad de utilizar gráficos. Es
importante en el análisis de los resultados tener en cuenta
Machine Translated by Google
72 N. Zaniewicz, A. Salamończyk
Tenga en cuenta que el proceso de creación de la base de datos generalmente se lleva a cabo una vez, las iteraciones
posteriores implican modificación o extensión de la solución. Por lo tanto, a pesar del considerable tiempo de
desarrollo, las bases de datos de gráficos siguen siendo una solución de almacenamiento de datos competitiva y deseable.
Referencias
doi.org/10.34739/si.2019.23.06
Martins P., Abbasi M., Sá F. "Un estudio sobre el rendimiento de NoSQL". En: Rocha Á., Adeli H., Reis L.,
WorldCIST'19 2019. Avances en sistemas inteligentes y computación, vol 930. Springer, Cham. https://doi.org/
10.1007/9783030161811_57
Tang E. y Fan Y., "Comparación de rendimiento entre cinco bases de datos NoSQL", Séptima Conferencia
Internacional sobre Computación en la Nube y Big Data (CCBD) de 2016, 2016, págs.
Pereira DA, Ourique de Morais W. y Pignaton de Freitas E. Comparación del rendimiento de bases de
datos en tiempo real NoSQL, Revista Internacional de Sistemas Paralelos, Emergentes y Distribuidos,
Gupta A., Tyagi S., Panwar N., Sachdeva S. y Saxena U., "Bases de datos NoSQL: análisis crítico y
comunicación para una nación inteligente (IC3TSN), 2017, págs. 293 299, DOI: 10.1109/
IC3TSN.2017.8284494
Zaniewicz N., "Comparación de bases de datos MongoDB, Neo4j y ArangoDB utilizando el generador de datos
desarrollado para bases de datos NoSQL", Tesis de maestría, Universidad de Ciencias Naturales y