Vous êtes sur la page 1sur 2

El mundo real, donde todo está ricamente interconectado, se puede representar a través de grafos.

La mejor y la forma más natural de entender cualquier sistema que nos rodea y de representar sus
conexiones es a través de los grafos: los elementos del sistema se convierten en círculos (nodos,
entidades o vértices) y las relaciones entre los objetos se convierten en líneas (aristas).

Pues bien, esto lo supieron materializar y, por supuesto monetizar, empresas como Facebook,
Google y Twitter cuyo big data conectado es el centro de estos negocios y detrás de todo esto
surgen los grafos. Por ejemplo, el reino de Facebook construido por Mark Zuckerberg está basado en
el valor de las relaciones entre las personas capturando todas estas conexiones en un 'grafo social'.

Como bien se describe en Wikipedia, "los grafos permiten estudiar las interrelaciones entre unidades
que interactúan unas con otras"; en realidad no es nada nuevo saber que cualquier sistema puede
representarse mediante un grafo.

Los grafos y su teoría remontan 300 años atrás con Leonhard Paul Euler, el principal matemático del
siglo XVIII, y desde ese entonces han sido bien conocidos por su amplia aplicación en diversos
problemas, inicialmente pertenecientes al mundo de las ciencias exactas. Más sin embargo, solo
hasta hace poco se ha extendido su uso hacia otros campos, como el de la gestión de la información
en diversos sectores, específicamente en donde las conexiones son la razón fundamental de estudio.

Estamos tan acostumbrados a pensar en las bases de datos como tablas o conjuntos de información,
que nos resulta un poco complicado entender el concepto de bases de datos basadas en grafos. Sin
embargo, estas bases de datos pueden hacer cosas que otros tipos de bases de datos (como NoSQL),
no pueden. Si hacemos el esfuerzo en entender y utilizar este tipo de bases de datos a la larga
obtendremos un gran beneficio.

Características

No hay índices clásicos en las bases de datos basadas en grafos. Por el contrario, cada objeto
almacenado es representado por nodos (entidades) y aristas (relaciones). Un nodo es un registro
único que tiene al menos una propiedad. Las aristas definen las relaciones entre los nodos y los
nodos y sus relaciones tienen a su vez predefinidas conjuntamente propiedades. Los nodos pueden
tener múltiples aristas que definen los diferentes tipos de relaciones que tienen con otros nodos.

Las consultas en las bases de datos orientadas a grafos están diseñadas para empezar en un nodo
específico y explorar sus relaciones con otros nodos. Un ejemplo podría ser “Qué libros están
leyendo mis amigos que yo aún no haya leído”. Es por eso que este tipo de bases de datos están
frecuentemente asociadas con motores de recomendación que se usan con frecuencia en
aplicaciones sociales y de comercio electrónico.

A medida que las búsquedas se van haciendo más complejas, el tiempo de procesamiento va
aumentando. Es por eso que las bases de datos basadas en grafos aprenden e indexan las relaciones
más comunes con el objetivo de acelerar el tiempo de búsqueda.

Ventajas

Rapidez para conectar datos. En las bases de datos relacionales, el frecuente uso de joins hace que
las búsquedas sean lentas.

Sencillez de las consultas.

Rapidez en el manejo de consultas complejas que implican múltiples niveles de datos relacionados.

Desventajas

La búsqueda de nodos en diferentes máquinas puede ralentizar el proceso drásticamente.

Requiere un cambio conceptual para los desarrolladores, por lo que implica una curva de
aprendizaje.

Algunos casos de uso

Seguimiento de las fuentes de comida, desde su recogida hasta la mesa (Objectivity, Inc.)

Aplicaciones de colocación de anuncios.

Gestión de red.

Genealogía.