scieee Science in your language
[es] (orig)

Evaluación experimental de Neo4J para su aplicación en el dominio sanitario

Author: Franco Romero, Antonio
Year: 2025
Source: https://idus.us.es/bitstreams/401f465f-153d-4133-883a-ce77ca275542/download
i Equa ion Chap e 1 Sec ion 1
T abajo Fin de G ado
G ado en Ingenie ía de las Tecnologías de
Telecomunicación
E aluación expe imen al de Neo4J pa a su aplicación
en el dominio sani a io
Au o : An onio F anco Rome o
Tu o : Jo ge Cal illo A bizu
Dp o. de Ingenie ía Telemá ica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2025
iii
T abajo Fin de G ado
G ado en Ingenie ía de las Tecnologías de Telecomunicación
E aluación expe imen al de Neo4J pa a su
aplicación en el dominio sani a io
Au o :
An onio F anco Rome o
Tu o :
Jo ge Cal illo A bizu
P o eso Pe manen e Labo al
Dp o. de Ingenie ía Telemá ica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2025
T abajo Fin de G ado: E aluación expe imen al de Neo4J pa a su aplicación en el dominio sani a io
Au o :
An onio F anco Rome o
Tu o :
Jo ge Cal illo A bizu
El ibunal nomb ado pa a juzga el P oyec o a iba indicado, compues o po los siguien es miemb os:
P esiden e:
Vocales:
Sec e a io:
Acue dan o o ga le la cali icación de:
Se illa, 2025
El Sec e a io del T ibunal

ii
A mi amilia
A mis maes os
ix
Ag adecimien os
Quie o exp esa mi ag adecimien o a mis pad es po habe me b indado la opo unidad de es udia con la
anquilidad de sabe que cuen o con su espaldo y a mi pa eja que ha supues o un apoyo siemp e que lo he
necesi ado
Me gus a ía mos a mi más since o ag adecimien o a mi u o el p o eso Jo ge Cal illo A bizu, así como al
es o de p o eso es del G ado de Ingenie ía de las Tecnologías de Telecomunicación po compa i sus
conocimien os y es a ahí siemp e que lo he necesi ado.
An onio F anco Rome o
Se illa, 2025

x ii
ÍNDICE DE FIGURAS
Figu a 1: Visualización de nodos en Neo4j 6
Figu a 2: Nodos y elaciones de la base de da os 11
Figu a 3: Dependencias 12
Figu a 4: Inicialización del d i e de Neo4J 12
Figu a 5: Inicialización hilos 13
Figu a 6: n0 0 RAM 15
Figu a 7: n0 0 CPU 16
Figu a 8: n10 100 CPU 17
Figu a 9: n25 100 CPU 17
Figu a 10: n30 100 CPU 18
Figu a 11: n100 100 CPU 19
Figu a 12: n149 100 CPU 20
Figu a 13: n200 100 20
Figu a 14: n49 50 CPU 21
Figu a 15: n100 50 CPU 22
Figu a 16: n149 50 CPU 22
Figu a 17: n249 50 CPU 23
Figu a 18: n50 25 CPU 24
Figu a 19: n149 25 CPU 24
Figu a 20: n200 25 CPU 25
Figu a 21: P ueba inicio de hilos. 26
Figu a 22: 100 RAM 27
Figu a 23: 50 RAM 28
Figu a 24: 25 RAM 28
Figu a 25: CPU s RAM 100 29
Figu a 26: CPU s RAM 50 30
Figu a 27: CPU s RAM 25 30
Figu a 28: CPU s RAM 25_ 2 31
Figu a 29: Tabla de medias CPU y RAM 32
Figu a 30: Media de CPU s disposi i os 32
Figu a 31: Media de RAM s disposi i os. 33
Figu a 32: Función de ejecución de consul as 34
Figu a 33: Tiempos de espues a consul as 2 y 3 37
Figu a 34: Tiempos de espues a consul as 4,5 y 6 37
Figu a 35: Tiempos de espues a consul as 7,8 y 9 38
Figu a 36: Compa ación iempos de espues a consul as 4 y 7 39
Figu a 37: Tiempos de espues a consul as 13, 14 y 15 40
Figu a 38: Tiempos de espues a consul as 16, 17 y 18 41
Figu a 39: Compa ación iempos de espues a consul as 16 y 19 42
Figu a 40: Bo ado de elaciones 43
Figu a 41: Bo ado de nodos 43
Figu a 42: Media de CPU con el paso del iempo. 46
1
1 INTRODUCCIÓN
1.1 Mo i ación
En el mundo ac ual, g acias al desa ollo de in e ne y los a ances en las ecnologías, la elocidad de ansmisión
y el olumen de los da os ansmi idos no solo se han inc emen ado exponencialmen e, sino que siguen
aumen ando día a día. Ese al o olumen de da os ansmi idos a al a elocidad debe se ecepcionado y
almacenado pa a su pos e io explo ación. Es po eso que es impo an e desa olla soluciones adecuadas pa a
el almacenamien o de da os, eniendo en cuen a su conec i idad, disponibilidad, segu idad y iempos de
espues a.
En el ámbi o sani a io, como en o os sec o es, el núme o de disposi i os que ope an de mane a au ónoma (po
ejemplo, ealizando mediciones en pacien es) es cada día mayo . Pa a es os disposi i os, me ece la pena
in oduci el é mino IoMT (In e ne o Medical Things), que e ie e a la ed de disposi i os ísicos implicados
en la asis encia de los pacien es, po ejemplo, siendo capaces de cap a y ansmi i in o mación sob e los
pacien es o su en o no en iempo eal. Dicha ed de disposi i os pe mi e ealiza a amien os elemá icamen e
y la moni o ización de pacien es en iempo eal, en e o as capacidades [1].
Todos es os a ances suponen nume osas uen es de da os mandando in o mación simul áneamen e y en iempo
eal a un se ido . El olumen de da os puede se muy al o y, si es e se ido no es capaz de sopo a lo, pod ía
sa u a se y pe de in o mación, lo que supond ía un cuello de bo ella pa a soluciones po ejemplo de
moni o ización de pacien es en iempo eal.
Es po ello que las ca ac e ís icas de las soluciones que ecepcionen y almacenen da os de moni o ización de
pacien es en iempo eal son c í icas pa a ga an iza la escalabilidad de los sis emas y la conse ación de los
da os de salud de los pacien es. Po o o lado, el almacenamien o de los da os ambién es c ucial pa a la pos e io
explo ación de los da os y la gene ación de conocimien o a pa i de ellos (descub imien o de endencias de
iesgo, ala mas, e c.).
Las bases de da os elacionales se lle an usando en la indus ia desde los inicios de la e olución compu acional.
Sin emba go, poseen cie as limi aciones debido a su igidez es uc u al pa a cie os ámbi os de aplicación. Las
bases de da os basadas en g a os solucionan es e p oblema, dando igual impo ancia a la es uc u a y las
elaciones en e da os, que a los da os en sí. Es o supone soluciona los p oblemas de escalabilidad que ienen
las bases de da os elacionales [2]. En e las implemen aciones ac uales de bases de da os, Neo4J es una de las
más econocidas y u ilizadas. Su capacidad pa a maneja g andes olúmenes de da os y ealiza consul as
complejas de mane a e icien e la hace la elegida pa a aplicaciones con un g an olumen de da os y de elaciones.
Su lexibilidad pe mi e añadi elaciones nue as sin mayo complejidad.
La mo i ación de es e p oyec o es, po an o, analiza las p es aciones de una base de da os basada en g a os
(conc e amen e, Neo4J) pa a el almacenamien o de da os de moni o ización de pacien es.
1.2 Obje i os del p oyec o
El obje i o p incipal del p oyec o es el análisis de las p es aciones de Neo4J en di e en es escena ios de p ueba
modi icando an o el núme o de uen es que ansmi en da os como la ecuencia de en ío, así como los iempos
In oducción
2
de espues a del sis ema cuando a ía la can idad de da os almacenados.
Es e obje i o p incipal se conc e a en los siguien es subobje i os:
1. En p ime luga , es udio de Neo4j y su lenguaje de consul a (Cyphe ), analizando sus ca ac e ís icas,
capacidades y limi aciones.
2. Pos e io men e se ealiza á el diseño de la base de da os, indicando los ipos de nodos y las elaciones
en e ellos. A pa i de es e análisis, se desplega á la base de da os, especi icando los nodos, la
in o mación que con end án, y las elaciones en e ellos. Se desa olla á un p og ama en ja a, que
simule la inyección de da os en la base de da os. Es e p og ama debe á se capaz de a ia an o el
núme o de uen es de da os como la ecuencia de inyección.
3. Se ealiza án las p uebas pa a e cómo eacciona el sis ema an e di e en es si uaciones, a ando de
encon a su “pun o de up u a” (aquel en el que el sis ema deja de unciona co ec amen e).
4. Po úl imo se analiza án los iempos de espues a an e di e en es consul as, a iando el amaño de la
base de da os y la in o mación que con iene. Es o e alua á an o consul as simples como complejas, y
su endimien o bajo dis in as ca gas. El obje i o no se ía solo encon a el pun o de sa u ación, si no e
en qué condiciones el sis ema abaja de mane a óp ima.
1.3 Plan de abajo
En es e apa ado se an a de alla las a eas desa olladas pa a alcanza los obje i os de es e p oyec o. Incluyendo
las ho as de abajo, es imadas y eales, pa a cada a ea.
Ta ea 1: Búsqueda y ob ención de la in o mación. En es a ac i idad inicial se es udia á la documen ación de la
base de da os Neo4J.
Ta ea
Tiempo es imado (ho as)
Tiempo eal (ho as)
In es igación de las he amien as a usa
40
50
To al
40
50
Tabla 1: In es igación de neo4J
Ta ea 2: Ins alación de los di e en es componen es que se án usados a lo la go del abajo.
Ta ea
Tiempo es imado (ho as)
Tiempo eal (ho as)
Ins alación de so wa e
2
3
To al
2
3
Tabla 2: Ins alación de equipos
Ta ea 3: Es udio del lenguaje cyphe y uncionamien o de Neo4J. En es a a ea ambién se iene en cuen a el
es udio de los a chi os de con igu ación de Neo4J.
Ta ea
Tiempo es imado (ho as)
Tiempo eal (ho as)
Es udio del en o no de Neo4J
10
15
Es udio del lenguaje Cyphe
15
25
To al
25
35
Tabla 3: Es udio de Neo4J y cyphe
3
3
E aluación expe imen al de Neo4J pa a su aplicación en el dominio sani a io
Ta ea 4: Compa ación y decisión de he amien as a u iliza . En es a a ea se analiza á y decidi á el en o no pa a
p og ama , así como el lenguaje de p og amación. También se busca án he amien as pa a la medición de
consumo CPU y RAM y iempos de espues a.
Ta ea
Tiempo es imado (ho as)
Tiempo eal (ho as)
Compa ación y elección de lenguaje de
p og amación
10
12
Compa ación y elección de en o no de
p og amación
2
2
Compa ación y elección de he amien as de
medición de consumo.
5
8
Compa ación y elección de he amien as pa a
medición de iempos de espues a
2
2
Compa ación y elección de he amien as pa a
hace g á icas
2
4
To al
21
28
Tabla 4: Elección de he amien as
Ta ea 5: Es udio de las he amien as elegidas. Es a a ea incluye el es udio de la lib e ía de Neo4J pa a Ja a y el
es udio de la lib e ía OSHI pa a medición de CPU y RAM.
Ta ea
Tiempo es imado (ho as)
Tiempo eal (ho as)
Es udio de lib e ía de Neo4J
10
15
Es udio de lib e ía OSHI
5
9
Es udio de Tableau Desk op
5
8
To al
20
31
Tabla 5: Es udio de las he amien as
Ta ea 6: Desa ollo de he amien as pa a la au oma ización de las p uebas. Tan o pa a p uebas de consumo de
CPU y RAM como pa a en ío de da os, c eación de da os dummies, medición de iempos, e c.
Ta ea
Tiempo es imado (ho as)
Tiempo eal (ho as)
P og ama pa a inse ción de da os
25
35
P og ama de consumo de CPU y
RAM
10
16
P og ama pa a medición de
iempos
10
12
To al
45
63
Tabla 6: Tiempos de p og amación
Ta ea 7: Realización de p uebas. En es a a ea se incluyen las p uebas de CPU y RAM, así como las p uebas de

In oducción
4
medición de iempos.
Ta ea
Tiempo es imado (ho as)
Tiempo eal (ho as)
P uebas de consumo de CPU
30
40
P uebas de consumo de RAM
30
35
P uebas de iempos de espues a
30
45
To al
90
120
Tabla 7: Realización de p uebas
Ta ea 8: Análisis de esul ados. En es a a ea se analiza án odos los esul ados ob enidos en las p uebas.
Ta ea
Tiempo es imado (ho as)
Tiempo eal (ho as)
Análisis de consumo de CPU
10
15
Análisis de consumo de RAM
10
15
Análisis de iempos de espues a
10
20
To al
30
50
Tabla 8: Análisis de esul ados
Ta ea 9: Redacción de la memo ia del abajo.
Ta ea
Tiempo es imado (ho as)
Tiempo eal (ho as)
Redacción de la memo ia
85
90
To al
85
90
Tabla 9: Redacción de la memo ia
Tiempos o ales
Ta ea
Tiempo es imado (ho as)
Tiempo eal (ho as)
To al
358
474
Tabla 10: Tiempos o ales
5
2 ESTADO DEL ARTE
n es e capí ulo se explica á oda la eo ía elacionada con el abajo, así como las he amien as que se han
u ilizado pa a su desa ollo.
2.1. Concep os cla e
• Tes ing de so wa e- El es ing de so wa e es una ac i idad que p e ende e alua el co ec o uncionamien o
de un sis ema y su endimien o. La e aluación se ealiza a a és de di e en es p uebas cen ándose cada
una en un aspec o conc e o. En es e caso nos cen a emos en las siguien es p uebas:
o P ueba de endimien o: Ponen a p ueba el endimien o de so wa e en iempo de ejecución. Se
cen an en busca los lími es del sis ema, e los pun os en los que alla y po qué.
o P uebas de ecupe ación: Fue zan el sis ema a alla de di e sos modos, y e i ica que la
ecupe ación es adecuada.
• Cuello de bo ella- En inglés “bo leneck”, se e ie e al pun o en el que la base de da os se alen iza o
sob eca ga. Ta da más iempo que lo que se conside a no mal en ealiza consul as o no admi e más da os.
2.2. In e ne o Medical Things (IoMT)
An es de en a a explica IoMT, con iene pone es e concep o en con ex o explicando p ime o el é mino
In e ne o Things (IoT). El In e ne de las Cosas (IoT) aba ca una ed de disposi i os, sis emas y senso es
in e conec ados que colabo an y se comunican en e sí, ap o echando los a ances en la po encia de
compu ación, la minia u ización de componen es elec ónicos y la e olución de las edes de in e ne . Una
ca ac e ís ica cla e del IoT es la capacidad de los disposi i os pa a ope a de o ma au ónoma, ecopilando y
p ocesando da os sin in e ención humana, lo que pe mi e op imiza p ocesos y mejo a la e iciencia en di e sos
en o nos. Es a ed es al amen e escalable, lo que pe mi e in eg a nue os disposi i os ácilmen e, y muchos de
ellos cuen an con la capacidad de ap ende y adap a se a su en o no a a és de in eligencia a i icial. Es as
ca ac e ís icas hacen del IoT una he amien a cla e pa a op imiza p ocesos, mejo a la e iciencia y omen a la
inno ación en una amplia a iedad de sec o es.
La implemen ación de es e ipo de ed busca mejo a la calidad de ida y acili a a eas. Aba can un g an abanico
de aplicaciones como “casas in eligen es” (po ejemplo, senso es y ac uado es domó icos), “ ehículos
in e conec ados” (comunicación en e ehículos de o ma au ónoma), e c., pe o la que nos impo a es la
aplicación al mundo sani a io [3].
E
Es ado del a e
6
Una pla a o ma IoMT es un “sis ema in eligen e” compues o de senso es y ci cui os elec ónicos pa a ob ene
señales biomédicas de un pacien e a a és de la ed pa a su pos e io almacenamien o ( empo al o pe manen e)
[3].
La aplicación de IoT en sanidad, pe mi e minimiza los e o es humanos, y ayuda a los p o esionales a
diagnos ica las en e medades más ácilmen e g acias a la moni o ización de las cons an es i ales en iempo
eal que p opo ciona es a ed de disposi i os.
2.3. Bases de da os basadas en g a os
Las bases de da os basadas en g a os no son más que o a mane a de ep esen a y de ini una base de da os. En
es e ipo de bases de da os, la in o mación se gua da en nodos, elaciones y p opiedades. Los da os se gua dan
en nodos, que pueden ene p opiedades, y cada nodo se elaciona con o os nodos a a és de las elaciones.
Dado que cada nodo en una base de da os basada en g a os iene un enlace di ec o a los nodos con los que es á
elacionado, no es necesa io c ea índices adicionales pa a busca o accede a esas conexiones. Es o signi ica
que, a di e encia de las bases de da os adicionales, donde se deben gene a índices pa a op imiza las búsquedas
y las consul as, en las bases de da os de g a os la es uc u a misma acili a la na egación y ecupe ación de da os
de mane a e icien e. Cada nodo ac úa como un pun o de acceso inmedia o a su ed de elaciones, lo que
simpli ica la ges ión y acele ación de las consul as complejas.
Figu a 1: Visualización de nodos en Neo4j
En la igu a se puede ap ecia cómo se ep esen a ía la in o mación en Neo4J, pe o da una idea de las bases de
da os basadas en g a os, en gene al. Vemos cada nodo con su in o mación, y cómo se elacionan en e ellos.
Tenemos 3 ipos de nodos en es e ejemplo: médico ( e de), hospi al ( osa) y pacien e (ma ón). Un pacien e
es a á asignado EN un hospi al y A un médico y el médico abaja á pa a un hospi al y end á asignados sus
espec i os pacien es.
Es e ipo de bases de da os se suele usa cuando las elaciones en e cada nodo cob an una i al impo ancia, po
eso es po lo que su uso se e mayo i a iamen e en edes sociales.
2.4. Recu sos so wa e u ilizados
2.4.1. Neo4J
Neo4j es conside ado el so wa e de e e encia en las bases de da os basadas en g a os y es una de las más
u ilizadas en á eas como la salud, el gobie no y el sec o mili a , en e o as. Es una base de da os de código
abie o implemen ada en Ja a. Es e so wa e se lanzó en 2007 y iene es ca ego ías: comunidad, gobie no y
emp esa. En es e abajo se u iliza á la e sión de comunidad. Neo4j pe mi e a los usua ios modela , almacena
y consul a da os al amen e conec ados de mane a e icien e, lo que es esencial pa a aplicaciones que equie en
7
E aluación expe imen al de Neo4J pa a su aplicación en el dominio sani a io
una ep esen ación ica de elaciones en e da os [2]. La a qui ec u a de Neo4j es á op imizada pa a maneja
millones de nodos y elaciones, p opo cionando espues as ápidas y escalabilidad ho izon al.
Además, Neo4j o ece una lib e ía de Ja a conocida como Neo4j Ja a D i e , que pe mi e a las aplicaciones
Ja a conec a se y comunica se con la base de da os Neo4j. Es a lib e ía acili a la ejecución de consul as Cyphe
y la manipulación de da os, p opo cionando una API in ui i a y ácil de usa . El d i e de Ja a maneja la
au en icación, la conexión y el manejo e icien e de sesiones, lo cual simpli ica signi ica i amen e la in eg ación
de Neo4j en aplicaciones basadas en Ja a [4].
Neo4j Desk op es una he amien a in eg al diseñada pa a in e ac ua de mane a e icien e con bases de da os
Neo4j. Funciona como una in e az g á ica de usua io (GUI) que acili a la adminis ación, explo ación y p ueba
de bases de da os Neo4j en un en o no local o emo o. Con Neo4j Desk op, los usua ios pueden c ea y
con igu a bases de da os, ejecu a consul as en Cyphe (el lenguaje de consul a de Neo4j), y isualiza los
esul ados en o ma de g a os in e ac i os, lo que mejo a la comp ensión y análisis de las elaciones en e los
da os.
2.4.2. Cyphe
Cyphe es el lenguaje de consul a decla a i o u ilizado po Neo4j. Simila al SQL en las bases de da os
elacionales, Cyphe es á diseñado especí icamen e pa a abaja con da os de g a os. Es e lenguaje pe mi e
exp esa consul as complejas de mane a simple y legible, acili ando la ex acción y manipulación de da os
conec ados. Cyphe sopo a pa ones de búsqueda, co espondencia de nodos y elaciones, así como la
ac ualización de da os. La capacidad de Cyphe pa a maneja consul as sob e g a os hace que Neo4j sea una
he amien a pode osa pa a el análisis de da os in e conec ados [5]. Además, Cyphe p opo ciona sopo e pa a
ope aciones de ansacciones y iene capacidades a anzadas pa a ges iona g andes olúmenes de da os.
Pa a en ende mejo es e lenguaje, eamos una consul a. Supongamos que es amos u ilizando una base de da os
Neo4j pa a modela una ed social y que emos encon a a odas las pe sonas que Alice conoce. Pa a log a lo,
u ilizamos una consul a en Cyphe como la siguien e:
MATCH (p:Pe son)-[:KNOWS]->( iend:Pe son)
WHERE p.name = 'Alice'
RETURN iend.name
Es a consul a iene a ios componen es que abajan jun os pa a ob ene el esul ado deseado. En p ime luga ,
el comando MATCH se u iliza pa a especi ica un pa ón de búsqueda en el g a o. En es e caso, el pa ón es á
buscando nodos e ique ados como Pe son (que ep esen amos como p) conec ados po una elación llamada
KNOWS hacia o os nodos, ambién e ique ados como Pe son ( ep esen ados como iend).
El il o WHERE p.name = 'Alice' se asegu a de que la consul a solo conside e los nodos que ienen un a ibu o
name con el alo "Alice". Es o nos pe mi e en oca nos únicamen e en las conexiones de Alice.
Finalmen e, el comando RETURN iend.name se u iliza pa a de ol e el nomb e de las pe sonas conec adas a
Alice a a és de la elación KNOWS.
Po ejemplo, si en la base de da os hay nodos pa a Alice, Bob y Ca ol, y exis en elaciones de KNOWS en e
Alice y es os dos, la consul a de ol e á los nomb es "Bob" y "Ca ol". Es o pe mi e comp ende ápidamen e las
conexiones de Alice en la ed social.
La g an en aja de Cyphe es su legibilidad. Su diseño decla a i o y cen ado en pa ones acili a la comp ensión
y el análisis de da os in e conec ados, haciendo que sea una he amien a pode osa pa a abaja con bases de
da os basadas en g a os como Neo4j.
2.4.3. Eclipse
Eclipse es un en o no de desa ollo in eg ado (IDE) ampliamen e u ilizado en la p og amación en Ja a y o os
lenguajes. Es una pla a o ma de código abie o que o ece un conjun o de he amien as ex ensibles pa a el
desa ollo de so wa e. Eclipse p opo ciona una in e az amigable y di e sas uncionalidades que ayudan en la
14
E aluación expe imen al
pa a asegu a que, en si uaciones eales, la base de da os uncione de mane a e icien e y sin con a iempos,
ga an izando la in eg idad y la iabilidad de los da os manejados.
3.3.4 Moni o ización
La moni o ización del endimien o del sis ema es un aspec o undamen al en cualquie p oyec o que implique
el p ocesamien o in ensi o de da os, como es el caso de la simulación y en ío de in o mación en bases de da os.
Du an e el desa ollo, su gió la necesidad de obse a en iempo eal el consumo de ecu sos del sis ema,
especí icamen e el uso de CPU y memo ia RAM, pa a asegu a que el sis ema pudie a maneja la ca ga sin
comp ome e su es abilidad y e iciencia.
Inicialmen e, se buscó algún so wa e de uso lib e que pe mi ie a medi es os pa áme os, pe o as una
exhaus i a búsqueda, no se encon ó ninguna he amien a que cumplie a con los equisi os especí icos del
p oyec o. Es o lle ó a la explo ación de al e na i as, esul ando en la elección de la lib e ía OSHI (Ope a ing
Sys em and Ha dwa e In o ma ion) en Ja a. OSHI es una biblio eca de código abie o que pe mi e accede a
in o mación de allada sob e el ha dwa e y el sis ema ope a i o del disposi i o en el que se ejecu a la aplicación.
Es a lib e ía esul ó se la solución ideal pa a el moni o eo, dado que pe mi e ecopila da os p ecisos sob e el
uso de CPU y memo ia, así como o os ecu sos del sis ema.
Pa a implemen a la moni o ización, se desa olló un sc ip en un p oyec o sepa ado de Eclipse que se ejecu a
en pa alelo al sc ip p incipal de en ío de da os. Es o se hizo con el obje i o de medi el consumo de ecu sos
en iempo eal mien as se ejecu an las p uebas. Es e sc ip se enca ga de medi el po cen aje de CPU y RAM
usados, mide cada medio segundo y los inse a en un a chi o CSV. A chi o que pos e io men e se ab e en
Tableau pa a pode isualiza las g á icas co espondien es.
3.4 Análisis de endimien o de CPU y RAM
Pa a pode en ende el compo amien o y sabe la e iciencia que iene Neo4j, hemos hecho es e análisis bajo
di e en es ca gas de abajo. En es e apa ado se examina á cómo la ca ga que le p opo cionemos a la base de
da os a ec a a los ecu sos que demanda la misma.
Pa a lle a a cabo es e análisis, se han ealizado p uebas simulando di e en es olúmenes de da os, lo que nos
lle a á a e el lími e de la base de da os.
Es e análisis no solo p opo ciona in o mación sob e la e iciencia de Neo4j, sino que ambién o ece
cla es sob e cómo op imiza la con igu ación del sis ema y las consul as Cyphe pa a mejo a el
endimien o. Se p esen a án g á icos y ablas con los esul ados ob enidos, seguidos de una discusión
sob e las posibles op imizaciones y mejo es p ác icas pa a ges iona los ecu sos de mane a e icien e
Pa a pone en con ex o, y explica la es uc u a que an a lle a a las g á icas, se mues an a
con inuación dos imágenes del consumo de CPU y RAM en la si uación en que no se manda ningún
ipo de da o. Es o nos pe mi i á conoce el pun o de pa ida del sis ema. En conc e o podemos obse a
que el consumo de CPU en eposo sí es bajo, pe o el de RAM es al o, aunque es é en eposo debido a
que el equipo del se up iene an solo 8Gb de RAM.

15
E aluación expe imen al de Neo4J pa a su aplicación en el dominio sani a io
Como se e en la g á ica, el consumo medio es bas an e al o, po lo que el consumo de RAM no se
e á bien e lejado en es e es udio. El eje ho izon al indica el iempo (en segundos) en el que se ealizó
la medida, y el eje e ical, el po cen aje de consumo (RAM o CPU, dependiendo del caso). En las
g á icas de consumo de RAM además se ha añadido una línea de endencia, indicando el consumo
p omedio.
Con iene acla a la no ación del í ulo de las g á icas, como en n0 0. El núme o de ás de la “n” indica
el núme o de disposi i os desde los que se mandan da os, mien as que el núme o de ás de la “ ”
indica la ecuencia
2
a la que se en ían los mismos.
2
Aunque se u ilice el é mino “ ecuencia” en el documen o, nos e e imos al iempo anscu ido en e dos da os consecu i os pa a el mismo
disposi i o.
Figu a 6: n0 0 RAM
16
E aluación expe imen al
Figu a 7: n0 0 CPU
La Figu a 7 e leja lo que se espe aba: un consumo de CPU bajo en las condiciones iniciales de eposo sin
ac i idad.
An es de p ocede al análisis, es p eciso comen a que, cuando la asa de en ío es al a puede da p oblemas de
concu encia a la ho a de esc ibi los da os. Se ha ob iado es e p oblema a la ho a de hace las p uebas y los
esul ados, ya que el núme o de da os pe didos e a meno al 1% y se ha conside ado que su e ec o en el
endimien o es desp eciable.
3.4.1 Consumo de CPU con ecuencia 100 ms
El p ime bloque de p uebas se lle ó a cabo con una ecuencia de 100 ms po da o, y se inc emen ó el núme o
de disposi i os de mane a g adual. En un p incipio, se escogió un aumen o del núme o de disposi i os
conse ado , haciéndolo de o ma inc emen al pa a e i a sob eca ga el sis ema ápidamen e. Sin emba go,
p on o ue e iden e que, con es a ecuencia, se necesi aba un núme o conside able de disposi i os pa a que el
impac o en el consumo de CPU ue a no able.
17
E aluación expe imen al de Neo4J pa a su aplicación en el dominio sani a io
En compa ación con la g á ica an e io , se e idencia que, de media, consume más CPU (1,21% s 5,7%) y
llegando a picos más al os (7,88% s 20,56%). Pe o nada signi ican e, un cambio no mal dado que an es la base
de da os no es aba abajando p ác icamen e.
Las p uebas con 15 y 20 disposi i os daban picos simila es 17,28% y 20,87, espec i amen e. Lo que indica que
oda ía es o no suponía un es ue zo pa a Neo4J po que además el consumo medio de CPU bajó a 3,68% con 20
disposi i os.
Al ele a los disposi i os a 25 man eniendo la ecuencia en 100 ms se pudie on obse a compo amien os
in e esan es (Figu a 9).
Figu a 8: n10 100 CPU
18
E aluación expe imen al
Figu a 9: n25 100 CPU
Es no able e el pico que hay en el segundo 3 de es a ansmi iendo da os, sin emba go, es algo ins an áneo ya
que pos e io men e uel e a unos alo es más azonables. Es in e esan e, ya que en la Figu a 10 con 30
disposi i os no llega a un pico an al o, ni se ace ca di ec amen e. Alcanza un máximo de 53,8%, insigni ican e
en compa ación con los 95,29% alcanzados en el an e io g á ico.
Figu a 10: n30 100 CPU
19
E aluación expe imen al de Neo4J pa a su aplicación en el dominio sani a io
En la Figu a 11 se ep esen a el consumo de CPU con 100 disposi i os y misma ecuencia, sin ob ene cambios
no ables. Se puede comp oba como sigue acep ando bien la can idad de da os, sin llega a sa u a demasiado.
La si uación comienza a cambia cuando aumen amos el núme o de disposi i os a 149 (Figu a 12) ya que es la
p ime a ez que se man iene po encima de 75% al ededo de 3 segundos, llegando a un pico de 97,33% de uso
de CPU, algo que se pod ía conside a pelig oso en el caso en el que es u ié amos hablando de se ido es.
Pos e io men e, obse amos con 200 disposi i os un pico de 97,88%, pe o un pico momen áneo que se es abiliza
ápidamen e (Figu a 13).
Figu a 11: n100 100 CPU

20
E aluación expe imen al
Figu a 12: n149 100 CPU
Figu a 13: n200 100
Cuando se alcanzan los 300 disposi i os sí se puede empeza a obse a un cuello de bo ella, en el que se
man iene el consumo de CPU po encima del 80% du an e 6,5 segundos.
21
E aluación expe imen al de Neo4J pa a su aplicación en el dominio sani a io
En la p ime a e apa de p uebas, emos que la base de da os empieza a sa u a se iamen e con 300 disposi i os,
lo que son en o al unos 3000 da os en iados po segundo. Cada da o en iado es un nue o nodo c eado y dos
elaciones nue as.
3.4.2 Consumo de CPU con ecuencia 50 ms
La segunda pa e de las p uebas se ealiza on mandando un da o cada 50 ms, es deci , cada disposi i o manda
20 da os po segundo.
Empezamos con 49 disposi i os (Figu a 14). Dada la es abilidad del consumo, ob iamos las p uebas con menos
disposi i os, ya que no se e nada in e esan e en los esul ados. En la Figu a 15 podemos obse a un pico de
62,57% pe o que ápidamen e disminuye, conse ando un p omedio de 5,89%. Tiene sen ido que aguan e la
base de da os a pesa del inc emen o de ecuencia, ya que aho a mismo se es a ían mandado 980 da os po
segundo
3
cuando, an e io men e el p oblema empezó a los 3000 d/s.
3
A pa i de es e momen o, se le ab e ia á da os po segundo a “d/s” pa a una mayo b e edad.
Figu a 14: n49 50 CPU
22
E aluación expe imen al
Siguiendo con el siguien e g á ico:
Figu a 15: n100 50 CPU
Los da os que nos p esen a es e g á ico nos pe mi en e dos picos al os de 92% y 86%, espec i amen e, pe o
que no pe du an en el iempo. Sal o el o o pico de 60%, la base de da os sopo a es a can idad de disposi i os
y esa ecuencia de en ío.
La siguien e p ueba nos pe mi e e dos picos en ez de uno, lo que indica que Neo4j empieza a necesi a más
Figu a 16: n149 50 CPU
23
E aluación expe imen al de Neo4J pa a su aplicación en el dominio sani a io
ecu sos pa a pode p ocesa la in o mación (Figu a 16).
En es e pun o casi hemos alcanzado el pun o de up u a an e io , mandando 2980 d/s. Pe o pa ece se que a es a
ecuencia el sis ema aguan a mejo .
Figu a 17: n249 50 CPU
Pe o llegados a es e pun o sí que alcanzamos un pun o c í ico en el sis ema. Con una asa de 4980 d/s el sis ema
se pasa 4,5 segundos po encima del 95% y emos que pos e io men e la ecupe ación es mucho más len a de
lo que enía siendo en las an e io es p uebas.
3.4.3 Consumo de CPU con ecuencia 25 ms
La e ce a, y úl ima ecuencia p obada, es un da o cada 25 ms. Lo que se aduce a que cada disposi i o manda
40 d/s.
30
E aluación expe imen al
Figu a 26: CPU s RAM 50
En la Figu a 26, pa a una ecuencia de 50 ms, se obse a que la línea azul, que ep esen a el uso p omedio de
CPU, mues a un inc emen o con inuo y más sua e en compa ación con la g á ica an e io . Es e compo amien o
indica que, a medida que aumen a el núme o de disposi i os, la ca ga de p ocesamien o en la CPU sigue
c eciendo de mane a lineal. El pa ón e leja un aumen o consis en e en la demanda de p ocesamien o,
p obablemen e debido al p ocesamien o de los da os que cada disposi i o es á en iando en in e alos co os.
Es impo an e no a que, aunque el inc emen o es lineal, la endencia apun a a una ca ga signi ica i a a medida
que se alcanzan los 360 disposi i os, llegando a un uso de CPU al ededo del 40%. Es e inc emen o sugie e que,
si se con inúa aumen ando el núme o de disposi i os, el sis ema pod ía ace ca se a un pun o donde la capacidad
de la CPU pod ía ol e se un ac o limi an e, equi iendo posibles op imizaciones o mejo as en la capacidad de
p ocesamien o pa a e i a p oblemas de endimien o.
Figu a 27: CPU s RAM 25

31
E aluación expe imen al de Neo4J pa a su aplicación en el dominio sani a io
En la Figu a 27, la CPU mues a un compo amien o más i egula en compa ación con las g á icas an e io es.
Si bien exis e una endencia gene al ascenden e en el uso de la CPU a medida que aumen a el núme o de
disposi i os, ambién se obse an picos y caídas signi ica i as, especialmen e al ededo de los 180 disposi i os
y luego una disminución al ededo de los 220 disposi i os. Es e pa ón, se debe a lo que imos p e iamen e en
el consumo de CPU, que al sa u a se la base de da os se de iene y disminuye d ás icamen e el consumo de CPU.
Figu a 28: CPU s RAM 25_ 2
Lo que se comen aba p e iamen e se puede ap ecia en la g á ica de la Figu a 28, la cual es la misma que la
Figu a 27, pe o aumen ando los segundos de medición (pasando de 25 segundos a 50). Aquí se puede e más
cla a la endencia, y que a medida que se mandan más da os desde más disposi i os el sis ema iende a sa u a .
Pe o los picos y caídas indican que el sis ema pod ía es a expe imen ando momen os de al a demanda seguidos
de momen os de ali io. Es o pod ía se esul ado de cómo se ges ionan las a eas en la CPU, quizás debido a un
algo i mo de dis ibución de ca ga que no dis ibuye de mane a uni o me en odos los casos.
Podemos e ambién los esul ados en una abla (Figu a 29). La abla e leja la media de CPU y RAM a medida
que aumen a el núme o de disposi i os. Hay que ene en cuen a que con un mismo núme o de disposi i os se
han hecho p uebas a dis in as ecuencias y es a abla ecoge la media de odas las medidas.
En la p ime a columna se e leja el núme o de disposi i os, la segunda la media de CPU y la e ce a la media de
RAM.
32
E aluación expe imen al
Figu a 29: Tabla de medias CPU y RAM
Como hemos is o du an e odo el análisis, el p omedio de CPU aumen a poco a poco de mane a lógica, mien as
que el p omedio de RAM a a iando sin un c i e io apa en e. Pa a isualiza eso mejo , podemos ayuda nos de
las dos g á icas siguien es.
Figu a 30: Media de CPU s disposi i os
Como hemos comen ado a pa i de la abla, la media de CPU a aumen ado aco de al núme o de disposi i os,
sal o con 25 y 30 disposi i os. Es o puede debe se a que en esos casos haya más mues as de mayo ecuencia.
33
E aluación expe imen al de Neo4J pa a su aplicación en el dominio sani a io
Figu a 31: Media de RAM s disposi i os.
En cuan o a la media de RAM se e de nue o mucha alea o iedad, siemp e un consumo al o pe o sin un
c ecimien o aco de al núme o de disposi i os.
3.4.4 Conclusiones sob e los expe imen os de RAM y CPU
Las p uebas ealizadas han e elado de mane a cla a y de allada las capacidades y limi aciones del sis ema Neo4j
cuando se en en a a di e en es ca gas de abajo, ca ac e izadas po a iaciones en la ecuencia de en ío de
da os y el núme o de disposi i os conec ados. A con inuación, se esumen las obse aciones y conclusiones más
ele an es de es e análisis.
F ecuencia de 100 ms po da o:
• Capacidad Inicial del Sis ema: Al p incipio, el sis ema maneja adecuadamen e has a 300 disposi i os
con una ecuencia de 100 ms po da o. Du an e es as p uebas, se obse an picos de consumo de CPU
po encima del 80%, pe o el sis ema no llega a sa u a se.
• P ime os Signos de Sob eca ga: Se iden i ican picos aislados, como con 25 disposi i os, donde se
alcanza un 95,29% de uso de CPU, pe o es os picos son momen áneos y no indican una sa u ación
sos enida.
• Conclusión: A es a ecuencia, el sis ema mues a una obus ez conside able, ges ionando
e icien emen e has a 300 disposi i os con un olumen de 3000 da os po segundo.
F ecuencia de 50 ms po da o:
• Inc emen o de la Demanda: Al educi la ecuencia a 50 ms, el olumen de da os se inc emen a,
alcanzando has a 4980 da os po segundo con 249 disposi i os.
• Pun o C í ico Iden i icado: A es e ni el de ca ga, el sis ema mues a signos cla os de es és, con la CPU
man eniéndose po encima del 95% du an e a ios segundos y una ecupe ación más len a.
• Conclusión: Aunque el sis ema aún maneja la ca ga, se ap oxima a su lími e ope a i o, sugi iendo que
una mayo op imización o un inc emen o en la capacidad de p ocesamien o pod ía se necesa io pa a
e i a p oblemas de endimien o.
F ecuencia de 25 ms po da o:
• Sob eca ga del Sis ema: Es a p ueba, la más ag esi a, e ela que el sis ema se en en a a su lími e
máximo con 149 disposi i os en iando da os a 25 ms. El consumo de CPU se ele a a ni eles
insos enibles, y se obse a un compo amien o e á ico, con pe íodos de casi inac i idad que sugie en
un einicio o in e upción en el p ocesamien o.
• Es abilidad de la RAM: A pesa de las a iaciones en la ca ga de la CPU, el consumo de RAM se
man iene ela i amen e es able en odas las p uebas, lo que indica que la memo ia no es el p incipal
ac o limi an e en es e escena io.
• Conclusión: A ecuencias an ele adas como 25 ms po da o, el sis ema alcanza ápidamen e un cuello
34
E aluación expe imen al
de bo ella, mos ando que la capacidad de p ocesamien o es insu icien e pa a maneja ca gas an al as
de mane a sos enida.
Compa ación Gene al:
• Uso de CPU s RAM: Se ha obse ado que, mien as la CPU p esen a un compo amien o más a iable
y suscep ible a la ca ga de abajo, la RAM man iene un consumo al o pe o es able. Es o sugie e que,
en es as condiciones de p ueba, la CPU es el ecu so que p ime o alcanza su lími e, ac uando como el
p incipal cuello de bo ella del sis ema.
• Op imización Necesa ia: Dado que el sis ema mues a una capacidad de ecupe ación más len a a
medida que aumen a la ca ga, se ía necesa io conside a op imizaciones en la ges ión de a eas, la
dis ibución de ca ga o incluso mejo as en el ha dwa e si se p e ende escala el núme o de disposi i os
conec ados o la ecuencia de en ío de da os.
3.5 Análisis del iempo de espues a
Pa a analiza los iempos de espues a, se ealizó un p og ama en Ja a que pe mi ió au oma iza las consul as y
a su ez añadi más da os a la base de da os as una consul a (ayudándonos del código p e iamen e c eado
P uebaDemo.ja a).
El nue o código es Tes Time.ja a. La unción p incipal y la que más nos in e esa pa a es as p uebas es
‘execu eQue y’:
Figu a 32: Función de ejecución de consul as
Es a unción ejecu a la consul a p opo cionada como pa áme o, midiendo el iempo an es y después de
ejecu a la.
Las consul as que se han p obado han sido las siguien es:
Nº de la
consul a
Consul a
Desc ipción
1
MATCH c = sho es Pa h((p:Pe son:Pacien e {dni:
'dniEjemplo100'})-[:ASIGNADO_A*..]-
>(m:Pe son:Medico))
RETURN leng h(c) AS pa hLeng h, nodes(c) AS
pa hNodes
ORDER BY pa hLeng h DESC
LIMIT 10
Es a consul a ue diseñada en un
p ime momen o pe o desca ada
pos e io men e. Se man iene aquí
pa a no a ia la nume ación del
es o.
2
MATCH (p:Pe son:Pacien e)
RETURN p.dni AS pacien eDNI, d.modelo AS
disposi i oModelo, coun (o) AS can idadObse aciones
ORDER BY can idadObse aciones DESC
Recupe a el DNI de cada pacien e, el
modelo del disposi i o que usa y la
can idad de obse aciones
egis adas pa a ese pacien e. Luego,
o dena los esul ados en o den
35
E aluación expe imen al de Neo4J pa a su aplicación en el dominio sani a io
descenden e según la can idad de
obse aciones, mos ando p ime o a
los pacien es con más obse aciones.
3
MATCH(m:Pe son:Medico)<-[:ASIGNADO_A]-
(p:Pe son:Pacien e)
WITH m, coun (p) AS nume oDePacien es
ORDER BY nume oDePacien es DESC
LIMIT 5
RETURN m.nomb e AS medicoNomb e,
nume oDePacien es
Iden i ica a los cinco médicos con
más pacien es asignados. Cuen a la
can idad de pacien es asignados a
cada médico, o dena los esul ados
en o den descenden e y mues a el
nomb e del médico jun o con el
núme o de pacien es que iene.
4
MATCH(o:Obse acion)-[ :PERTENECE_A]-
>(p:Pacien e)
WHERE oIn ege (o.da o) > 560
RETURN p
De uel e los pacien es cuyas
obse aciones supe en un cie o
umb al
5
MATCH (o:Obse acion)
WHERE da e ime(o. imeS amp) > da e ime('2024-10-
27T11:35:21')
RETURN o
De uel e odos los da os ecopilados
después de cie a echa
6
MATCH (n)
RETURN n
De uel e odos los nodos
7
Igual a consul a 4
8
Igual a consul a 5
9
Igual a consul a 6
10
MATCH (a)-[ :PERTENECE_A]->(b)
WITH LIMIT 200000
DELETE
Elimina 200.000 elaciones
PERTENECE_A
11
MATCH (c)-[ 2:REALIZADA_POR]->(d) "
WITH 2 LIMIT 200000
DELETE 2
Elimina 200.000 elaciones
REALIZADA_POR
12
MATCH (a2:Obse acion)
WITH a2 LIMIT 200000
DELETE a2
Elimina 200.000 nodos Obse ación
13
Igual a consul a 4
14
Igual a consul a 5

36
E aluación expe imen al
15
Igual a consul a 6
16
Igual a consul a 4
17
Igual a consul a 5
18
Igual a consul a 6
19
MATCH (p1:Pe son:Pacien e)<-[:PERTENECE_A]-
(o1:Obse acion), (p2:Pe son:Pacien e)<-
[:PERTENECE_A]-(o2:Obse acion)
WHERE o1.da o=o2.da o
RETURN p1.dni AS Dni1, p2.dni AS Dni2
De uel e el dni de los Pacien es que
engan nodos Obse ación con el
mismo alo en el campo da o
Tabla 11: Consul as u ilizadas
Es de no a cómo se han epe ido las consul as 4, 5 y 6 a ias eces. Es o se ha hecho po que se han p obado
a ios mé odos a la ho a de ealiza las p uebas.
3.5.1 Mé odo 1
El p ime mé odo que se usa á pa a analiza los iempos de espues a es el siguien e:
- Se ejecu an las consul as desde el p oyec o en eclipse. Cada consul a es medida en é minos de iempo
de ejecución (ms), cap u ando los esul ados pa a su pos e io análisis.
- Jus o después, se ejecu a p uebaDemo, pa a gene a nodos y elaciones en la base de da os.
- Aho a, con más nodos y elaciones que en la i e ación an e io , uel a a empeza .
Los esul ados de las p uebas 2 y 3 ue on:
37
E aluación expe imen al de Neo4J pa a su aplicación en el dominio sani a io
Figu a 33: Tiempos de espues a consul as 2 y 3
En la Figu a 33, en el eje Y enemos el iempo de ejecución en ms y en el eje X el núme o de nodos. En la
esquina supe io de echa enemos la leyenda que indican el colo de las consul as. Las p óximas g á icas end án
la misma es uc u a que es a, sal o que se indique lo con a io.
Re omando de nue o los esul ados, las consul as 2 y 3 llegan a su máximo en la p ime a consul a, con apenas
778 nodos. El máximo es de 78ms pa a la consul a 2 y de 65 pa a la consul a 2.
A medida que el núme o de nodos aumen a, los iempos de ejecución se si úan mayo men e en 0, 1 y 2 ms, sal o
en algunos picos pun uales que sí que supe an los 10 ms en la consul a. Es o mo i ó a hace p uebas con o o
ipo de consul as y llegando has a un mayo núme o de nodos, pa a e si se man enía es a endencia.
Figu a 34: Tiempos de espues a consul as 4,5 y 6
La Figu a 34 mues a los esul ados de las consul as 4, 5 y 6. A pesa de llega a un mayo núme o de nodos, el
38
E aluación expe imen al
pa ón se epi e, mayo men e ob end emos iempos desp eciables como esul ado de la ejecución de las
consul as. Decidimos esumi los da os en una abla, pa a una mejo comp esión. El desglose queda de la
siguien e mane a: la p ime a columna indica el ipo de consul a y la segunda el núme o de consul as de ese ipo
que se han ealizado. Los iempos de espues a se ag upan en las columnas siguien es.
Consul a
To al medidas
0 ms
1 ms
2 ms
o os
4
150
9
109
22
10
5
150
22
111
8
9
6
150
31
98
12
9
Tabla 12: Resul ados mé odo 1
Podemos e como las medidas de 0, 1 y 2 ms son las dominan es en e odos los casos, suponiendo el 93% pa a
la consul a núme o 4, el 94% pa a las consul as núme o 5 y 6. Mien as que odas las medidas que oman un
iempo supe io a amen e se epi en.
Algo que llama la a ención a simple is a es que los picos se encuen an odos ubicados en el mismo momen o,
lo que da que pensa que la memo ia caché es á jugando un papel en es os esul ados. Es po eso po lo que se
diseñó y expe imen ó con un segundo mé odo pa a la ealización de es as p uebas.
3.5.2 Mé odo 2
Es as p uebas siguen el mismo p ocedimien o a las p uebas an e io es, pe o la memo ia caché se edujo de 50MB
a 10MB, con la in ención de e si el iempo se eía in luenciado con es a educción.
Pe o, como podemos e en la igu a 35 el pa ón que sigue es el mismo.
Figu a 35: Tiempos de espues a consul as 7,8 y 9
Podemos comp oba que los picos siguen coincidiendo de unas consul as con o as, y, si emos la abla que
analizamos el caso an e io el esul ado sigue siendo pa ecido:
Consul a
To al medidas
0 ms
1 ms
2 ms
o os
39
E aluación expe imen al de Neo4J pa a su aplicación en el dominio sani a io
7
200
57
131
4
8
8
200
69
118
5
8
9
200
78
111
3
8
Tabla 13: Resul ados mé odo 2
Siendo el po cen aje de medidas de 0, 1 y 2ms suponen un 96% pa a las es consul as. Lo que sigue siendo un
esul ado que ampoco p opo ciona mucha in o mación.
Algo que si p opo ciona algo más de in o mación, es la compa ación de las consul as con dis in a memo ia
caché:
Figu a 36: Compa ación iempos de espues a consul as 4 y 7
Si compa amos las consul as 4 y 7, eniendo que cuen a que son la misma consul a, pe o con dis in a memo ia
caché, se obse a pe ec amen e cómo la posición de los picos cambia, pe o el iempo de las consul as sigue
siendo bas an e pa ecido. Así que, sabemos que es o sí que se debe a la memo ia caché.
La in o mación ecopilada, nos lle a á a los mé odos 3 y 4 en los que in en amos ob ene unos esul ados que
nos pe mi an un mejo análisis.
3.5.3 Mé odo 3
T as analiza los esul ados an e io es e in es iga el lenguaje Cyphe , encon amos una sen encia que pod ía
ayuda nos en nues o caso, pa a pode analiza el iempo de cada consul a sin que in luya la memo ia caché.
Es e mé odo segui á el mismo p ocedimien o que el mé odo 1, con la adición de la sen encia ‘CALL
db.clea Que yCaches();’ as añadi los nodos y elaciones a la base de da os. Es e mé odo se u ilizó pa a las
p uebas 13, 14 y 15.
Pa a la Figu a 37 se ha usado en el eje X una escala loga í mica, debido a que se alcanzó un al o núme o de
nodos y es o pe mi e una mejo isualización la g á ica. A pesa de es a usando la sen encia pa a bo a la caché,
los iempos pa ece que ambién es án siguiendo un pa ón, con muchas subidas y bajadas en los iempos. Lo que
nos da la sensación al e es a g á ica es que los iempos a los que sube y a los que baja pa ece que es án ondando
los mismos alo es.

47
4 CONCLUSIONES Y LÍNEAS FUTURAS
4.1 Conclusiones
El p esen e abajo ha pe mi ido e alua de o ma expe imen al el endimien o de la base de da os Neo4J en un
en o no simulado de moni o ización de pacien es, ep esen ando escena ios p opios del ámbi o sani a io. A lo
la go del abajo se han ealizado p uebas de inse ción masi a de da os, simulando lo que se ía el lujo de
in o mación que se gene a en sis emas IoMT. Las conclusiones que podemos saca del abajo ealizado se
exponen a con inuación.
4.1.1 Consumo de CPU
A medida que se inc emen ó el núme o de disposi i os simulados y la ecuencia de en ío de da os, se obse ó
un aumen o p og esi o en el consumo de CPU. Si bien el sis ema man u o un endimien o es able du an e la
mayo ía de las p uebas, con asas supe io es a 3000 da os po segundo comenzó a mos a signos de sa u ación.
Es impo an e des aca , que a pesa de que haya llegado a sa u a se en muchos casos, el sis ema siemp e se
adap a y con el paso del iempo educe d ás icamen e el consumo de CPU, lo que indica que el sis ema pod ía
pe de algunos da os en los p ime os segundos, pe o con el iempo se es abiliza y ecepciona los da os sin
p oblema.
La igu a 42 ep esen a la media de odas las p uebas con espec o al paso del iempo. No il a po disposi i os
ni ecuencia.
Si nos ijamos en la igu a 42, se obse a lo que es amos comen ando, con el paso del iempo el consumo de
CPU iende a disminui .
Figu a 42: Media de CPU con el paso del iempo.
En p uebas más ag esi as, el sis ema alcanzó picos supe io es al 95% de uso de CPU, p o ocando cuellos de
48
Conclusiones y líneas u u as
bo ella y alen ización en la inse ción de da os. El mayo cuello de bo ella encon ado ue con 200 disposi i os
a ecuencia de 25 ms, en la g á ica imos que se sa u ó al p incipio y de epen e el consumo cayó po comple o
du an e unos 5 segundos pa a pos e io men e ol e a ene un consumo al o. En ello se iden i ica un cuello de
bo ella.
Es e compo amien o e idencia la necesidad de op imiza el uso de ecu sos y mejo a la capacidad de Neo4J
pa a maneja ca gas de abajo más pesadas sin comp ome e la in eg idad de los da os.
4.1.2 Consumo de memo ia
El uso de memo ia RAM se man u o ele ado de o ma cons an e, lo que sugie e que Neo4J ealiza una ges ión
ag esi a de memo ia pa a op imiza el endimien o de las consul as. Sin emba go, es a es a egia puede
con e i se en una limi ación en sis emas con ecu sos de ha dwa e limi ados. A pesa de es e ele ado consumo,
la base de da os man u o su es abilidad, lo que indica que Neo4J p io iza la disponibilidad y elocidad de las
consul as po encima del aho o de memo ia.
4.1.3 Manejo de consul as
Las p uebas de consul a a oja on esul ados posi i os incluso con bases de da os de g an amaño, lo que sub aya
la capacidad de Neo4j pa a op imiza búsquedas y ealiza consul as complejas de o ma e icien e. Es e
compo amien o pe mi e su aplicación en en o nos c í icos donde el acceso a in o mación en iempo eal es i al.
Las consul as que in oluc an múl iples elaciones en e nodos se ejecu a on con apidez, lo que sugie e que el
mo o de búsqueda de Neo4j es á bien adap ado pa a abaja con da os densamen e conec ados.
Neo4j ha demos ado se una he amien a obus a pa a ges iona g andes olúmenes de da os in e conec ados,
o eciendo iempos de espues a adecuados en escena ios de baja a media ca ga de abajo. La e iciencia de las
consul as basadas en elaciones complejas esal a la idoneidad de es e ipo de base de da os pa a sis emas donde
las conexiones en e en idades son c uciales. La es uc u a de g a os acili a la ecupe ación de da os y el análisis
de edes complejas, lo que pe mi e de ec a pa ones y co elaciones que se ían di íciles de iden i ica median e
bases de da os elacionales adicionales.
El mayo incon enien e en cuan o a las consul as se ía el en o no g á ico de Neo4j, que añade un e aso de
has a 100 eces el iempo de la consul a en los casos que se necesi a ep esen a una g an can idad de nodos y
elaciones. Es a es icción desapa ece cuando se p escinde del en o no g á ico.
En gene al, Neo4j ha demos ado se una opción iable y e icien e pa a sis emas sani a ios que equie en el
análisis y almacenamien o de da os in e elacionados. No obs an e, es necesa io conside a la escalabilidad y el
consumo de ecu sos en implemen aciones a g an escala. Es e abajo p opo ciona una base sólida pa a u u as
in es igaciones que busquen mejo a la in aes uc u a de bases de da os en el ámbi o sani a io.
4.2 Líneas u u as
A pa i de los esul ados ob enidos, se iden i ican di e sas líneas u u as que pod ían con ibui a mejo a y
amplia el alcance del p oyec o:
• Rendimien o:
Pa a lle a más al lími e la base de da os se ía in e esan e hace una base de da os con más elaciones, es deci ,
ene una es uc u a más compleja, además de p oba consul as más complejas. Todo es o con el in de lle a
más al lími e la base de da os.
• Pa alelización y dis ibución de ca ga:
Una de las mayo es es icciones que ha enido es e abajo ha sido el uso de un solo disposi i o. Tan o la base
de da os como los “disposi i os” es aban alojados en el mismo o denado . Pa a in es igaciones u u as se ía
49
E aluación expe imen al de Neo4J pa a su aplicación en el dominio sani a io
in e esan e aloja la base de da os en un Docke , de es a mane a end ía más capacidad de compu ación que la
que end ía en un o denado .
Se ía in e esan e ambién implemen a un en o no dis ibuido que pe mi a el p ocesamien o en pa alelo de los
da os, de mane a que no se localicen odos los hilos desde un mismo disposi i o. Es a dis ibución de ca ga
pod ía lle a a un mayo núme o de disposi i o mandando desde dis in as localizaciones, es o se ace ca más a
la ealidad y el endimien o mejo a ía.
• In eg ación con sis emas eales de IoMT:
Pa a comp oba de ini i amen e su posible implemen ación, la ealización de p uebas de campo en un en o no
eal se ía indispensable. Realiza p uebas con disposi i os médicos eales mandando los da os a la base de da os
(idealmen e i ualizada en un Docke ) acili a ía la alidación del sis ema en si uaciones ope a i as eales,
iden i icando posibles limi aciones que en un en o no simulado no pod íamos de ec a .
• Es udio de soluciones híb idas:
En el caso de que algún es udio u u o no dé los esul ados deseados, o no sean óp imos, o o posible es udio
se ía la combinación de bases de da os basadas en g a os con o os sis emas elacionales o NoSQL, lo que pod ía
o ece un equilib io en e el endimien o y la lexibilidad, pe mi iendo almacena da os c í icos de o ma
e icien e y ealiza consul as complejas sob e g a os. El desa ollo de a qui ec u as híb idas pe mi i ía
ap o echa lo mejo de ambos mundos, u ilizando bases de da os elacionales pa a da os es uc u ados y Neo4J
pa a da os con elaciones densas.
Es as líneas u u as no solo con ibui án a mejo a el endimien o del sis ema, sino que ambién amplia án su
aplicabilidad en en o nos c í icos donde la moni o ización y el análisis de da os juegan un papel undamen al en
la oma de decisiones médicas.
50
Re e encias
REFERENCIAS
[1]
Rose, K., Eld idge, S., & Chapin, L. (2015). The in e ne o hings: An o e iew. The in e ne socie y
(ISOC), 80(15), 1-53.
[2]
Robinson, I., Webbe , J., & Ei em, E. (2015). G aph Da abases: New Oppo uni ies o Connec ed Da a.
O'Reilly Media.
[3]
Vishnu, S., Ramson, S. J., & Jegan, R. (2020, Ma ch). In e ne o medical hings (IoMT)-An o e iew. In
2020 5 h in e na ional con e ence on de ices, ci cui s and sys ems (ICDCS) (pp. 101-104). IEEE.
[4]
Neo4j, Inc. (2021). Neo4j Ja a D i e 4.3 - Use Manual. Re ie ed om h ps://neo4j.com/docs/ja a-
manual/cu en /
[5]
Pa ne , C. (2014). Neo4j in Ac ion. Manning Publica ions.
[6]
Gamma, E., & Beck, K. (1999). Con ibu ing o Eclipse: P inciples, Pa e ns, and Plugins. Addison-Wesley
P o essional.
[7]
Smi h, W. (2014). OSHI: Ope a ing Sys em and Ha dwa e In o ma ion. A ailable:
h ps://gi hub.com/OSHI/OSHI
[8]
"Tableau So wa e: Da a Visualiza ion o Business In elligence," Tableau So wa e, 2023. [Online].
A ailable: h ps://www. ableau.com/