Es probable que hayas empezado a escuchar o leer sobre las bases de datos de grafos, lo cual puede sonar un poco complicado. Si quieres saber para qué sirven o por que se llaman así este post te interesa.

Empecemos por definir que es una base de datos de grafos. Se les dio este nombre debido a que permiten almacenar la información como grafos y su relación con otros nodos (matemáticas¡¡¡ Teoría de Grafos), lo cual no implica que tengas que ser un experto en matemáticas para poder utilizarla.

Estas bases de datos pertenecen al grupo de las NoSQL por las siguientes características:

  • No utilizan un modelo relacional
  • Carece de un esquema fijo, podemos tener nodos con diferente número de atributos.
  • Mantienen la disponibilidad y acceso de la información
  • Son buenas en modelos en cluster

Pero… ¿Qué es un grafo? Antes de entender  las bases de datos debemos recordar que es un grafo.

Un grafo,está compuesto por dos elementos: nodos (vértices) y las relaciones (aristas). Cada nodo representa alguna información en el grafo, cada relación representa conexión entre dos nodos, estos también pueden ser dirigido o no dirigido, dependiendo de si las aristas tienen nodos origen y nodos destino.

nodos aristas

Los principales tipos de grafos que pueden ayudarnos a entender mejor mas adelante una BDOG son:

Grafos dirigidos:Contienen un identificador a las aristas (número) o un etiquetado a los vértices.Los artistas tienen una dirección clara.

grafodirigido

Completos: Cumple con las características de un grafo dirigido,adicionalmente cada par de nodos debe estar unido por un aristas.

grafoscompleto

Convexos: Tienen una condición especial, es posible formar un camino desde cualquier vértice a cualquier otro en el grafo.

grafo conexo

Etiquetados: Incorporan datos en los aristas.

Beneficios

Rendimiento. Como consecuencia de que las consultas se realizan iniciando un recorrido desde un segmento de datos del grafo, pasando por nodos y aristas necesarios para la consulta, la base de datos tiende a permanecer relativamente constante.

El tiempo de ejecución es proporcional únicamente al tamaño del grafo que se tenga que recorrer, no del tamaño total del grafo.

Flexibilidad.Son fáciles de aplicar a sistemas dinámicos donde es necesario la adaptación constante, esto debido a las propiedades de adición de nuevos aristas (relaciones), nodos y subgrafos al árbol de grafos. Permitiendo acomodarse a las necesidades sin alterar consultas.

Agilidad. Al ser libres de esquemas permite llevar a cabo un mantenimiento progresivo de los sistema.

Cuando usar una Base de Datos Orientadas a  Grafos.

Las BDOG están pensadas para ámbitos en donde lo importante es mantener un modelo extenso y amplio de la relación de la información. Estas surgieron como respuesta a la dificultad de representar sistemas complejos con altos volúmenes y concurrencia de datos.

Este modelo es útil cuando los datos a almacenar tienen multitud de interrelaciones entre sí, y cuando la importancia recae más en las interrelaciones que se establecen entre los datos,que en los propios datos en sí

Debido a esto algunos de  los casos de uso para las BDOG son:

Redes Sociales: Las personas o grupos  corresponden a nodos y las formas cómo interactúan dichos individuos generan las distintas relaciones.

Sistema de Recomendaciones:Se establecen relaciones entre individuos y productos para establecer intereses y por relación de similitud o proximidad de productos te ofrece otros.

Árboles jerárquicos: facilita los cálculos de rutas o cualquier obtención de información entre las ubicaciones en alguna red específica.son especialmente relevantes en las áreas de telecomunicaciones, logística, viajes, horarios y planificación de rutas

Controles de Acceso: La autorización del uso de recursos o aplicaciones sus flujos se pueden representar en grafos.

Detección de Fraude:Es más sencillo generar una relación representado empresas o usuarios en grafos que al tratar de relacionar diferentes tablas con un peso de información grande.

Esta es una pequeña introducción a las BDOG estamos preparando una serie de entradas sobre este  tema para adentrarnos más en el tema.

por Esther Lopez

Programadora, Experiencia en educación para niños en el ámbito de la robótica, conferencista y activista en grupos donde enseñen programación a mujeres y niños de forma fácil.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.