¿Qué son las Bases de Datos orientadas a Grafos?


En esta entrada vamos a ver qué son y para qué se usan las bases de datos orientadas a grafos, ya que en los últimos tiempos han aparecido muchas, y se empiezan a usar como alternativa a las documentales.

¿Qué es una Base de Datos Orientada a Grafos?

Las Base de Datos Orientadas a Grafos o BDOG, parten de la Teoría de Grafos, representando la información en Vértices y Aristas. Seguro que más de uno le suena el Algoritmo de Dijkstra.

Las BDOG, están compuestas por nodos y relaciones, a un nodo se le podría identificar como una entidad que almacena información y una relación o arista, es la forma en la que estos nodos se relacionan. Las aristas siempre tienen un inicio y un final, mientrás que los nodos tienen un número exacto de relaciones.

Cuando hablamos de este tipo de Bases de Datos, tenemos dos conceptos habituales en cuanto a su estructura  Labeled-Property Graph (grafo de propiedades etiquetadas )y  Resource Description Framework (marco de descripción de recursos, RDF).

Cuando la estructura del grafo atiende a estructura  Labeled-Property Graph, se asignan propiedades concretas tanto a los nodos como a las aristas; y si es de tipo Resource Description Framework, su estructura se regula haciendo uso de tripels (esquema nodo-borde-nodo)  quads(tienen información de contexto adicional).

¿Cuándo usar una Base de Datos Orientada a Grafos?

Se pueden usar en un amplio abanico de casos, ya que permite un buen análisis de la información y aprovechamiento de los nodos y las relaciones.

Quizás el caso más típico de uso una BDOG, sea para el uso de análisis de las relaciones que existe entre los usuarios de las redes sociales, así se pueden realizar recomendaciones de compra o amigos. Otro caso también bastante típico es para los análisis de riesgos o detección de fraudes fiscales. Otro buen uso es para cálculo en rutas, ya que pueden obtener el camino más corto aplicando algoritmos como Kruskar o Dijkstra.

Cualquier cosa que te venga a la cabeza, que puedas representar con nodos, puede ser modelado con una Base de Datos de Grafos, como una rede neuronal, red de ordenadores, etc…

Características

Este tipo deLas BDOG pertenecen al grupo de las NoSQL y siguiendo el teorema de CAP, se podrían clasificar como CA (Consistency, Availability) o PA (Partitioning, Availability). Esto se debe, a que dependiendo del motor de base de datos que se use, se puede sacrificar una en función de la otra, como por ejemplo Neo4j, que es ACID y es transaccional, pero es penalizada en particionamiento.

Ventajas y desventajas

Ventajas

  • Difícil de escalar ya que están orientadas a un servidor.
  • Sin lenguaje de consulta definido.

Desventajas

  • Ofrecen resultados en tiempo real.
  • Estructuras flexibles.
  • La velocidad depende del número de relaciones, no del volúmen de datos como podría pasar en una relacional.
  • Aunque hemos dicho que son difíciles de escalar, podemos mejorar aportar nodos en cualquier momento con lo que podemos mejorar rendimiento.

Ejemplos de Bases de Datos orientadas a Grafos

  • Neo4j: Es la más conocida y popular, es de código abierto.
  • Amazon Neptun: base de datos de gráficos que puede usarse a través de AWS.
  • OrientDB: Ofrece una gran rápidez.

Conclusión

Aunque no hemos entrado en detalles técnicos ni ejemplos de desarrollo, en esta entrada de ¿Qué son y para qué se usan las Bases de Datos orientadas a Grafos?, hemos podido ver algunas pinceladas sobre su uso y entender mejor en que consiste.


Deja una respuesta

Tu dirección de correo electrónico no será publicada.