Вы находитесь на странице: 1из 7

Bases de datos orientadas a grafos y su enfoque en el mundo real

Washington A. Velásquez Vargas


Escuela Técnica Superior de Ingenieros en Telecomunicaciones (ETSIT - UPM)
Teléfono: +34603746400
Email: wavelasq@gmail.com

Abstract. This article presents a brief description of what are the graphs database and its use in the
real world, how for example, the social networks, geolocation, communication among other, that
actually are being very used in some applications that governing in the diary life and what without the
graphs database may not be well received in the current market.

Keywords: Bases de datos orientadas a grafos, Cypher, NoSQL, Neo4j

1. Introducción razón, si entendemos los beneficios de usar grafos en


el mundo real podríamos dar respuesta a algunos
En la actualidad existe una gran polémica alrededor interrogantes. Actualmente esta es una de las
del tema relacionado con la gestión de la información tecnologías utilizadas principalmente para la
digital que se necesita almacenar, para su posterior persistencia transaccional en línea (OLTP), que
recuperación y análisis por parte de los diseñadores, permite acceder a información en tiempo real usando
arquitectos y desarrolladores de aplicaciones alguna aplicación y que, por lo general, usan la teoría
informáticas de cualquier tipo. Por un lado, están los de grafo como estructura de datos. A esta tecnología
tradicionales sistemas de gestión de bases de datos que permite la gestión de métodos para crear, leer,
relacionales (RDBMS, por sus siglas en inglés) y, por actualizar y eliminar datos del grafo (CRUD), se le
otro, los prometedores sistemas de bases de datos no conoce con el nombre de bases de datos orientadas a
relacionales y distribuidos conocidos como NoSQL grafos (BDOG) [1].
(Not only SQL). Dada la alta demanda requerida al
momento de almacenar información y la gran 2. Bases de Datos Orientadas a
capacidad que se necesita en las aplicaciones Grafos
informáticas cuando realizan consultas sobre ellas, ha
generado la búsqueda de nuevas herramientas Las bases de datos orientadas a grafos representan la
tecnológicas que ayuden a tener una mejor gestión de información como nodos de un grafo y sus relaciones
los datos. Recordemos que en muchas ocasiones los como las aristas del mismo. De esta forma, se puede
datos necesitan ser analizados e interpretados para usar una teoría de grafos para recorrer la base de
convertirlos en información útil y provechosa, tal datos cuando ésta puede describir atributos de los
situación ha propiciado una creciente necesidad por nodos (entidades) y de las aristas (relaciones).
técnicas/herramientas computacionales que nos
ayuden en estas tareas. Por lo tanto, si pudiéramos Una base de datos orientada a grafos debe estar
representar los datos y las relaciones entre objetos absolutamente normalizada, lo que significa que cada
como un solo conjunto de datos, podríamos generar tabla tendría una sola columna y cada relación tan
patrones de conocimiento que describan nuestro solo dos. Con esto, se consigue que cualquier cambio
conjunto de datos conteniendo estos elementos de en la estructura de la información tenga un efecto tan
manera conjunta. Para tal efecto se presentan las solo local. Lo que nos indica que un sistema de
bases de datos en grafos que son lo suficientemente gestión de base de datos gráficas se construye
flexibles y poderosos para representar estos generalmente para el uso transaccional de sistemas,
elementos. La estructura de control “grafos”, optimizar el rendimiento, integridad de los datos y
utilizada define al grafo como un par G = (V, E), en disponibilidad operacional. El campo de la
donde, V denota un conjunto finito de elementos investigación de esta tecnología debe considerar dos
llamados vértices y E es un conjunto de arcos. Ambos propiedades importantes de las bases orientadas a
permiten representar relaciones binarias entre pares grafos, que son las siguientes:
de objetos; es decir, un grafo es una colección de
vértices y de aristas, donde las aristas representan la
 Almacenamiento Subyacente
relación que existe entre los vértices.
Algunas bases de datos utilizan el
Los grafos son muy útiles para poder tener una mayor
almacenamiento nativo que se ha optimizado y
comprensión de una amplia gama de datos, tales
diseñado para el almacenamiento y gestión de los
como la ciencia, el gobierno y los negocios. Por esa
grafos, aunque no todas las bases de grafos la
utilizan para el almacenamiento. Sin embargo, No existe un consenso general sobre la terminología
algunos serializan los datos en una base de datos del área de grafos, pues hay muchos tipos diferentes
relacional, base de datos orientada a objetos o de modelos de grafos. Sin embargo, se están
alguna base de datos de uso general. realizando algunos esfuerzos para crear el modelo de
Grafo de Propiedad, que unifica la mayoría de las
 Motor de Procesamiento diferentes implementaciones de grafos. De acuerdo
con este Modelo, la información en un grafo de
Se debe tener muy presente el concepto de propiedad se modela utilizando tres elementos
aristas y vértices cuando se estudia esta básicos:
tecnología, debido a que las bases orientadas a
 El nodo (vértice)
grafos usan un concepto más amplio de los
 La relación (arista) con dirección y tipo
mismo; aunque, desde la perspectiva del usuario,
(etiquetado y dirigido).
se comportan como un grafo normal que permite
 La propiedad (atributo) en los nodos y en las
hacer (CRUD) sobre una base de datos.
relaciones.
Interesa resaltar que el almacenamiento y
procesamiento de una base orientada a grafos no 2.1 Fortalezas de una BDOG
se debe catalogar como bueno ni malo. Son
simplemente implementaciones de ingeniería que A pesar de que cualquier cosa puede ser modelada en
ayudan al rendimiento de unas ciertas una base de datos orientada a grafos, debido a que
aplicaciones pero, así mismo, perjudican otras. usa los grafos como estructuras de control, pero que
El beneficio del almacenamiento en grafos, y su una base de datos orientada a grafos ofrezca una
principal objetivo, es el de tener un alto poderosa y novedosas técnicas de modelado de datos
rendimiento y facilidad de escalabilidad. no constituye una justificación suficiente para la
sustitución de una técnica bien conocida, como lo son
Por definición, una base de datos orientada a grafos las bases de datos tradicionales.
es cualquier sistema de almacenamiento que permite
la adyacencia libre de índice. Esto quiere decir que En las bases de datos con grafos existen ciertos casos
cada elemento contiene un puntero directo a sus donde el uso de datos en una aplicación mejora el
elementos adyacentes por lo cual no es necesario rendimiento en uno o más pedidos si se lo
realizar consultas por índices. implementa con grafos, y cuya latencia es menor en
Otro punto a tener en cuenta, es que las relaciones comparación al procesamiento por lotes tradicional.
entre entidades son parte de la teoría de los grafos; Además de este beneficio, las bases de datos con
por tanto, la base de datos orientada a grafos facilita grafos ofrecen un modelo de datos muy flexible, y un
el manejo de sus relaciones. Al reunir unas simples modelo para la entrega de datos con la agilidad que
abstracciones de los nodos y las relaciones en las necesita el software, como son [1]:
estructuras que se tiene por las aristas, las bases de
datos orientadas a grafos nos permiten construir  Rendimiento
modelos sofisticados que se asignan arbitrariamente a
nuestro dominio del problema. Por tanto, los modelos Una razón importante para el uso de bases de
resultantes son más simples y al mismo tiempo más datos con grafos es su mayor rendimiento, en
expresivos que los producidos en las bases de datos comparación con las bases de datos relacionales
relacionales tradicionales y otras bases NoSQL. y otras NoSQL.
Este tipo de base de datos está diseñada para los datos A diferencia de las bases de datos relacionales,
cuyas relaciones son bien representadas en forma de
cuyos rendimientos se deterioran en las consultas
grafo. Es decir, los datos son elementos
intensivas y con un procesamiento de datos muy
interconectados con un número no determinado de alto; las bases de datos con grafos ofrecen un
relaciones entre ellos. La información a gestionar en rendimiento que tiende a permanecer constante,
este tipo de almacenamiento podría ser: relaciones así como el crecimiento de los datos. Esto se
sociales, transporte público, mapas de carreteras o debe a que las consultas se realizan de manera
topologías de red, entre otros ejemplos.
gráfica, recorriendo entre las relaciones (aristas)
que posea la base. Como resultado, el tiempo de
A pesar de que las estructuras de datos en forma de ejecución de esta consulta es proporcional solo al
grafos son en teoría normalizables, incluso en tamaño de la parte grafica que tenga que recorrer
sistemas relacionales, esto tendría serias para satisfacer esta consulta, en lugar del tamaño
implicaciones en el rendimiento de las consultas global del grafo.
debido a las características de implementación de los
RDBMS, donde cada operación sobre una relación
 Flexibilidad
resultaría en una operación de unión para el gestor de
datos, lo cual es un proceso lento y no escalable ante
un creciente número de tuplas en estas tablas. Al desarrollador de aplicaciones le interesa
conectar los datos permitiendo una estructura
donde el esquema que surja del conjunto de
interés pueda crecer sin ningún problema. Las de grandes cantidades de información. En eso, son
bases de datos orientadas a grafos abordan similares a otras tecnologías de análisis de datos,
directamente este tema, porque su modelo de como la minería de datos y OLAP, que son familiares
datos se expresa y se acomoda a las necesidades en el mundo relacional. Mientras que algunos
del negocio de tal manera que se permite mover motores de cómputo gráfico incluyen una capa de
a mayor velocidad en el problema. almacenamiento, los demás (y posiblemente más) se
ocupan estrictamente del procesamiento de datos que
Los grafos son aditivos, lo que significa que se se alimenta desde una fuente externa, y así mismo la
pueden añadir nuevos tipos de relaciones, y devolución de los resultados.
nuevos nodos y sub-grafos a una estructura ya
existente sin alterar las consultas y la La teoría de grafos ha demostrado ser de una gran
funcionalidad de la aplicación. Y, en general, utilidad y pertinencia en muchos problemas de miles
esto tiene consecuencias positivas para el de dominios. Los algoritmos de grafos más teóricos
desarrollador debido a la flexibilidad del modelo aplicados, incluyen varios tipos de cálculos como: el
con grafos, lo que también tiene tendencia a camino más corto, rutas geodésicas, medidas de
realizar menos migraciones para poder reducir centralidad como PageRank, centralidad del vector
los gastos de mantenimiento y el riesgo que propio, cercanía, intermediación, HITS, y muchos
conlleva. otros más. Sin embargo, la aplicación de estos
algoritmos, se limitó generalmente a la investigación,
 Agilidad ya que en la práctica no ha existido ningún producto
comercial para escenarios de alto rendimiento en
A medida que la aplicación vaya creciendo, cuanto a implementaciones de bases de datos
también se precisa que el modelo de datos orientadas a grafos. Afortunadamente, en los últimos
evolucione para adaptarse a las nuevas años esto ha cambiado. Hoy existen varios proyectos
necesidades. Las bases de datos nos equipan para que se han desarrollado teniendo en cuenta los
llevar a cabo el mantenimiento progresivo de los grandes escenarios de producción como:
sistemas, en particular, la naturaleza sin
 Neo4j
esquema, junto con la comprobación de las
 Infinite Graph
aplicaciones y el lenguaje de consulta, damos
 InfoGrid
paso para que evolucionen las aplicaciones en un
entorno controlado.  HyperGraphDB
 DEX
Al mismo tiempo, como son libres de esquemas,  GraphBase
las bases de datos con grafos carecen de la clase  Trinity
de mecanismos que son familiares en las bases
de datos relacionales. Pero esto no es un riesgo
debido a que estas se alinean al desarrollo ágil
del software, lo que permite respaldar la
evolución que tienen las aplicaciones
actualmente para que se acoplen al ritmo
cambiante del entorno de negocio.
2.2 Motores de Modelamiento Gráfico
Los modelos de bases de datos gráficas se pueden
definir como aquellos cuyas estructuras de datos se
modelan en forma de gráficos o generalizaciones de
ellos. Además, aquí la manipulación de datos se
expresa por operaciones orientadas a gráficos que
poseen sus propios tipos de constructores [3]. Figura 1 - Visión General de las BDOG [1]

Un motor de modelado gráfico es una tecnología que La figura 1 muestra distintos motores de bases de
permite a los algoritmos de grafos ser ejecutados datos orientadas a grafos, donde vemos a Neo4j en
contra un conjunto de datos. Estos motores están un lugar destacado dado su alto rendimiento para
diseñados para identificar los grupos de datos y almacenar y procesar datos, respecto a otros motores.
responder algunas preguntas tales como: “el número
de relaciones que posee”, el “número de amigos que Neo4j es un robusto (totalmente ACID) altamente
puede tener en una red social” [3], entre otras escalable nativo de base de datos orientadas a
interrogantes. grafos. Neo4j se utiliza en aplicaciones de misión
crítica por miles de nuevas empresas líderes,
Debido a su énfasis en las consultas globales, los empresas y gobiernos de todo el mundo [4].
motores de computación gráfica se optimizan
normalmente para la digitalización y procesamiento
Debido al énfasis en las consultas globales, 3.1 Modelo de datos usando Grafos
normalmente los motores se optimizan para la
digitalización y procesamiento de grandes cantidades Las bases de datos orientadas a grafos tienen un nivel
de información. de abstracción de manera lógica/usuario y el enfoque
de información mediante relaciones. Como podemos
observar claramente en la figura 3, el esquema de
usuarios con relaciones, estas pueden ser: amigos,
colegas, jefe, amor, entre otras. De esta manera
podemos establecer relaciones entre todos los
usuarios tan solo teniendo un nuevo enlace.
Figura 2 - Despliegue típico del motor [1]

La Figura 2 muestra una arquitectura común de un


motor de bases de datos con grafos, que incluye un
sistema de registro (SOR), base de datos con
propiedades OLTP (Como MySQL, Oracle o Neo4j),
que recibe peticiones y las responde en un tiempo de
ejecución adecuado.

3. Modelado de Datos en Grafos


Durante varias décadas, los desarrolladores han
tratado de acomodar y semi-estructurar un conjunto
de datos dentro de las bases de datos relacionales.
Pero, mientras que las bases de datos relacionales se
diseñaron inicialmente para codificar los formularios
en papel y tabular estructuras - algo que hacen en
extremo bien en su lucha de intentar modelar las
relaciones. Irónicamente, las bases de datos Figura 3 - Modelamiento en Grafos
relacionales se tratan mal con las relaciones, debido a
que se necesita fusionar (en adelante, abreviado como Hasta ahora hemos observado todo de forma gráfica,
‘joins’) las tablas del modelo relacional para poder y -como toda tecnología que vaya a ser aplicada
especificar las relaciones que existen entre ellas. Los sobre una base de datos- necesitamos un mecanismo
joins provocan la multiplicación de datos cuya para: manipular, consultar y crear datos. Para esto
estructura general se vuelve más compleja y menos usamos CYPHER, que es un lenguaje de consulta
uniforme; por tanto, el modelo relacional se convierte gráfica diseñado para ser fácilmente entendible por el
en una carga al unir tablas [1]. desarrollador y demás profesionales de bases de
datos. Su facilidad de uso se deriva del hecho que se
Por otro lado, las bases de datos relacionales tienen concuerda con la forma en que intuitivamente se
un nivel de abstracción lógico, con estructura de describen los gráficos, usando diagramas. Como se
datos relacional y enfoque de la información puede observar en la figura 4, donde un nodo conoce
mediante atributos. Sin embargo, el aumento de las a otro mediante la relación “Knows”.
conexiones se traduce en el mundo relacional como
un incremento de joins, que impiden rendimientos
más óptimos y hacen que sea difícil evolucionar una a
base de datos existente en respuesta a las necesidades
empresariales del momento. KNOWS KNOWS

En comparación con las bases de datos relacionales,


también existen las bases de datos NoSQL, ya sea KNOWS
clave-valor-documento, o columna-orientado- b c
almacenamiento estas se colocan de manera separada
documentos/valores/columnas. Esto dificulta la
conexión de datos y grafos en estas bases de datos,
Figura 4 - Grafo, expresando el uso de diagramas
donde una estrategia bien conocida para agregar
relaciones es el uso de claves foráneas. Pero esto
Como todo lenguaje de consulta, cypher está
requiere hacer joins de tablas a nivel de aplicación, lo
compuesto por clausulas, las más comunes para
que se convierte rápidamente en muy costoso cuando
codificar simples queries con la cláusula de inicio de
los datos se encuentran distribuidos y, a su vez, la
la consulta START, seguida de MATCH y terminada
consulta requiera demasiada información.
con RETURN. A continuación se muestra un ejemplo
de Cypher para encontrar a los amigos de Michael.
START a=node:user(name=’Michael’) MATCH 4. Grafos en el Mundo Real
(a)-[:KNOWS]->(b)-[:KNOWS]->(c),(a)-
[:KNOWS]->(c) RETURN b,c
Cuando las aplicaciones de bases de datos pretenden
solucionar un problema del mundo real, surgen
3.2 Cláusulas Básicas de Cypher ciertas limitaciones de técnicas y negocios al querer
usarlas. Por tanto, el rendimiento de consultas y
A continuación se describen las cláusulas básicas de capacidad de respuesta son parte de las
Cypher para realizar consultas a la base de datos. preocupaciones de muchas organizaciones con
respecto a sus plataformas de datos. Sistemas
START. Especifica uno o más puntos de partida, que transaccionales en línea, aplicaciones web grandes en
pueden ser nodos o relaciones en un grafo. Estos particular, deberán responder al usuario final en
puntos de partida se obtienen a través de los índices, milisegundos para que resulten exitosas.
aunque también se pueden acceder directamente a los
nodos y relaciones a través de sus identificadores. Las aplicaciones exitosas raramente permanecen tal
cual como fueron creadas inicialmente. Los cambios
MATCH. Esta cláusula utiliza caracteres ASCII para surgen dependiendo del comportamiento del usuario,
representar los nodos y las relaciones. Ella describe y ello exige a las organizaciones tener mucho cuidado
los datos que interesan del grafo, utiliza paréntesis al realizar las migraciones de datos. La naturaleza de
para representar a los nodos y flechas para las las bases de datos sin esquema grafico podrían
relaciones entre nodos. ocasionar problemas al realizar estas actualizaciones.
Sin embargo, una solución gráfica permite que los
RETURN. Esta cláusula especifica los nodos, datos evolucionen a medida que evoluciona el
relaciones y propiedades del MATCH que deben ser negocio, lo que reduce los riesgos y el tiempo de
devueltos a la consulta. lanzamiento al mercado. Actualmente, las bases de
datos orientadas a grafos se están usando en los
WHERE. Proporciona criterios para filtrar las siguientes casos:
búsquedas.
 SOCIAL.
CREATE. Crea nodos y relaciones.
Estamos empezando a descubrir el poder de los
DELETE. Borra nodos, relaciones y propiedades. datos sociales, como dicen Nicholas Christakis y
James Fowler [5]. Allí se muestran cómo, a pesar
SET. Inserta valores a las propiedades de no saber nada acerca de un individuo, se
puede predecir su comportamiento mejor si
UNION. Une los resultados de dos o más consultas. sabemos con quién está conectado, que lo que
podríamos saber por la acumulación de hechos
Cypher pretende ser muy simple para ayudar al históricos acerca de él.
desarrollador que trabaja con bases de datos gráficas,
pero -a su vez- debe ser diferente para saber que se Un ejemplo de bases de datos gráficas es la
trata de un conjunto no relacional. La figura 5 aplicación de Facebook que usa modelos de
muestra un modelado de usuarios como empleados de datos gráficos como un paso natural del dominio
un ingeniero. centrado en las relaciones, debido a que las redes
sociales ayudan a identificar las relaciones
directas e indirectas entre las personas, los
grupos y las cosas con las que interactúan, lo que
permite a los usuarios valorar, revisar y describir
uno a uno las cosas que le preocupan. Al
entender quién interactúa con quién, cómo puede
estar conectada la gente para –así- saber las
afinidades que se pueden tener en común con
otras personas.

 SOFTWARE DE RECOMENDACIÓN
Figura 5 - Usuarios como empleados de un Ingeniero
Las Recomendaciones efectivas son un excelente
ejemplo de la generación de valores para el
Considerando la figura 5, la representación en cypher usuario final, a través de la aplicación de una
de “ian como empleado de un ingeniero” sería como capacidad inferencial o sugestiva. Mientras que
sigue: las aplicaciones de línea de negocio suelen
(ian)-[:EMPLOYMENT]->(employment)-[:EMPLOYER]- aplicar algoritmos de cálculo de nómina
>(neo),(employment)-[:ROLE]->(engineer) deductivo y preciso, aplicando impuestos, y así
sucesivamente generar valor para el usuario
final; los algoritmos de recomendación son se implementan, e identificar las dependencias
inductivos y sugerentes, personas que entre ellos. Estructuras conectadas en forma
identifican, productos o servicios de una persona gráfica, junto a un lenguaje de consulta como
o grupo. Los algoritmos de recomendación Cypher, nos permiten llevar a cabo sofisticados
establecen relaciones entre las personas y las análisis de impacto, respondiendo a preguntas
cosas: la gente, los productos, los servicios, los tales como:
medios de comunicación el contenido que sea
o ¿De qué partes de la red dependen
relevante para el dominio en el que se emplea la
las aplicaciones, servicios,
recomendación. Las relaciones se establecen en
máquinas virtuales, las máquinas
base a los comportamientos de los usuarios, ya
físicas, centros de datos, routers,
sea comprar, producir, consumir, habilitación o
switches y fibra-do?
la revisión de los recursos en cuestión. El motor
puede identificar recursos de interés para un o Las aplicaciones y los servicios, y
individuo en particular o grupos de individuos en última instancia, los clientes, en
que puedan tener algún interés en un recurso en la red se verán afectados si en una
particular. red en particular alguno de sus
elementos llegase a fallar, ya sea un
 GEO router o un switch.

Geo es el caso original del uso de datos en o ¿Hay redundancia en toda la red
grafos: Euler resolvió los siete puentes de para los clientes más importantes?
Königsberg, un problema postulando un teorema
matemático que más tarde llegó a ser la base de Soluciones de bases de datos gráficas
la teoría de grafos. Aplicaciones geoespaciales complementan las herramientas de gestión y
de las bases de datos orientadas a grafos van análisis de redes existentes. Al igual que con la
desde el cálculo de rutas entre ubicaciones en gestión de datos maestros, utilizados para reunir
una red abstracta como una red de carreteras y los datos de los sistemas de inventario,
ferroviaria, la red del espacio aéreo, o red proporcionando una visión única de la red y su
logística para operaciones espaciales, tales como: consumo, desde el elemento de red más pequeña
encontrar todos los puntos de interés en un área de todo el camino a la aplicación, los servicios y
limitada, encontrar el centro de una región, y los clientes que la utilizan. Una representación
calcular la intersección entre dos o más regiones. gráfica de la base de datos de la red también se
puede usar para enriquecer la inteligencia
Operaciones geoespaciales dependen de operativa basado en correlaciones de eventos:
estructuras de datos específicos, que van desde siempre que un motor de correlación de eventos
las relaciones ponderadas y dirigidas simples, a infiere un evento complejo de una corriente de
través de índices espaciales, como el de los eventos de red de bajo nivel, puede evaluar el
Trees, que representan propiedades impacto de ese evento con el modelo gráfico, y
multidimensionales utilizando estructuras de posteriormente, desencadenar cualquier
datos de control de árboles. Como índices, estas compensación necesaria o acciones de
estructuras de datos, naturalmente, tienen la mitigación.
forma de un gráfico, por lo general en forma
jerárquica, y como tales, son una buena opción Hoy en día, las bases de datos orientadas a grafos
para una base de datos gráfica. Debido a la se están empleando con éxito en las áreas de
naturaleza sin esquema de las bases de datos telecomunicaciones, la gestión y el análisis de
orientadas a grafos, los datos geoespaciales redes, gestión de plataforma en la nube, centro
pueden residir en la base de datos junto a otros de datos, la gestión de activos de TI, y el análisis
tipos de datos de la red social, por ejemplo, lo de impacto en la red.
que permite consultas complejas
multidimensionales a través de varios dominios.  CONTROLES DE ACCESO
(COMUNICACIONES).
Las aplicaciones geoespaciales de las bases de
datos orientadas a grafos son especialmente Información de soluciones de autorización y
relevantes en las áreas de: telecomunicaciones, control de acceso a ciertas aplicaciones por parte
logística, viajes, horarios y planificación de de usuarios (por ejemplo, administradores,
rutas. unidades organizativas, usuarios finales) y los
recursos (por ejemplo, archivos, recursos
 REDES Y CENTRO DE GESTIÓN DE compartidos, dispositivos de red, productos,
DATOS. servicios, convenios), junto con las normas que
rigen el acceso a esos recursos; que luego se
La representación gráfica de una red nos permite aplican estas reglas para determinar quién puede
catalogar los activos, visualizar la forma en que acceder o manipular un recurso. El control de
acceso que tradicionalmente se ha aplicado ya
sea usando los servicios de directorio o mediante [2] Manuel Pach Palacio, Jesus A. Gonzales, Robert
la construcción de una solución personalizada Laurini, Anne Tchouniki, Minería de Datos
dentro del backend de la aplicación. Estas Espaciales usando un Enfoque de Grafos,
estructuras de directorios jerárquicos, no pueden Universidad de las Américas, Puebla, Instituto
hacer frente a las estructuras de dependencia de Nacional de Astrofísica Óptica y Electrónica
recursos y organización no jerárquicas que http://www.academia.edu/449894/Mineria_De_
caracterizan a las cadenas de suministro Datos_Espaciales_Usando_Un_Enfoque_De_Gr
distribuidas multipartidistas. Soluciones liadas a afos
mano, especialmente las desarrolladas en una
base de datos relacional, sufren al querer unirse [3] Modelos de base de datos de Grafo y RDF -
cuando el tamaño del conjunto de datos crece, lo Renzo Angles Roja, Universidad de Chile,
que provoca que cada vez sea más lento y no presentado en el año 2009
responda a las consultas, con esto, se tendría una http://www.tesis.uchile.cl/tesis/uchile/2009/angl
experiencia de usuario final pobre. es_r/html/index-frames.html

5. Conclusiones [4] Documentación oficial de Neo4j @2013


http://docs.neo4j.org
Las bases de datos relacionales están ampliamente
extendidas y cuentan con potentes herramientas que [5] Nicholas Christakis and James Fowler,
facilitan su interacción. Existe además, una Connected: The Amazing Power of Social
documentación en línea y una gran comunidad de Networks and How They Shape Our Lives
usuarios entorno a ellas. Numerosas aplicaciones de (HarperPress, 2011).
diversos propósitos salen al mercado preparadas para
integrarse fácilmente con este tipo de bases de datos, [6] Graph based local recoding for data
como CMS, ITS, entre otras. A diferencia, las bases anonymization by K. Venkata Ramana and
de datos NoSQL son relativamente incipientes y V.Valli Kumari, Department of Computer
disponen de pocas herramientas de gestión que no Science and Systems Engineering, Andhra
ofrecen muchas de las prestaciones que tienen las University, Visakhapatnam, India, August 2013
herramientas para la gestión de las bases de datos
relacionales.

Las bases de datos orientadas a grafos son una clara


alternativa a las bases de datos relacionales, sobre
todo para algunas aplicaciones sociales y web que
requieren elevada escalabilidad. Estas bases de datos
no son idóneas para todo, de hecho en la mayoría de
los casos las bases de datos relacionales deberían
seguir siendo la primera opción, debido a la
capacidad de hacer joins y ciertas garantías que son
muy importantes en algunas aplicaciones.

Interesa destacar que debido al uso de las bases de


datos orientadas a grafos es muy posible que las
bases de datos tradicionales actuales evolucionen
para incorporar capacidades NoSQL y así mejorar los
motores de bases de datos obteniendo una
persistencia transaccional políglota.

En la mayoría de los casos, el trabajo con bases de


datos de orientadas a grafos requiere conocer bien el
negocio que se desea modelar para definir
adecuadamente la estructura donde se van a
almacenar los datos. No obstante, este aspecto marca
la diferencia en el rendimiento de las consultas, a
favor de las NoSQL en comparación con las
relacionales.

Referencias
[1] Ian Robinson, Jim Webber, and Emil Eifrem
“Graph Database”.Edition First 2013. Published
by O’Reilly Media, Inc., 1005 Gravenstein
Highway North, Sebastopol, CA 95472

Вам также может понравиться