menu EXPLORA
history RECIENTE

Base de datos orientada a grafos o graph database

La crecida exponencial de generación de datos ha forzado la creación de nuevas bases de datos más eficientes y potentes. En el artículo de hoy veremos un nuevo tipo de base de datos llamado base de datos de grafos o BDOG el cual hace uso de un objeto matemático llamado grafo.

Veremos que son las bases de datos orientadas a grafos, que características tienen, cual es su uso y algunas de las aplicaciones que tienen actualmente en la sociedad.

¡Quédate y descubre más!

herramientas de business intelligence

Herramientas de business intelligence

Las tecnologías de business intelligence o inteligencia de negocio están creciendo en todo el mundo. Aprende cuales son las mejores herramientas BI.

Ver artículo

¿Qué son las bases de datos orientadas a grafos o BDOG?

Las bases de datos de grafos o BDOG son un tipo de base de datos no relacionales o NoSQL que modelan la información usando unos objetos matemáticos llamados grafos.

Un grafo se define por un conjunto de nodos relacionados entre sí a través de aristas. En los nodos encontramos los datos y las aristas representan las relaciones que se establecen entre dichos nodos.

esquema de base de datos orientada a grafos

Gracias a este tipo de modelaje podemos trabajar con datos con relaciones complejas entre ellos usando la teoría matemática de grafos.

Este tipo de BBDD no tienen relacionado un esquema (a diferencia de las bases de datos relacionales) con lo que nos permite trabajar de forma efectiva con un gran volumen de datos.

Aunque es un modelo de base de datos bastante reciente muchas empresas ya han empezado a incorporarlo en sus estrategias de big data. Algunas de estas grandes compañías son Walmart el cual las usa para el análisis de ventas de clientes para saber las preferencias de cada cliente o Ebay en optimización de rutas de servicio.

Otros posts que te gustarán

  1. Qué son los procesos ETL
  2. Base de datos relacional, descubre el modelo relacional y algunos ejemplos

Normalmente para hacer peticiones a este tipo de base de datos se usa un lenguaje llamado PGQL ( Property Graph Query Language ), parecido al lenguaje declarativo SQL, pero más enfocado a las bases de datos orientadas a grafos.

Aplicaciones de las Bases de Datos de Grafos

Como hemos visto, este tipo de BBDD funcionan muy bien para operar con grandes cantidades de datos con complejas relaciones entre ellos. Un ejemplo de aplicación son las redes sociales.

Los nodos son los usuarios de la red social mientras que las aristas son las relaciones que se establecen entre ellos como, por ejemplo, los likes de las fotos, las amistades que se tienen entre otras.

Los sistemas de anuncios también hacen uso de las relaciones entre nodos para hacer sugerencias personalizadas para cada usuario en base a sus gustos y preferencias.

ejemplo de una red social

Otra aplicación muy importante es la detección de fraudes en el mundo bancario. Gracias al análisis de las relaciones en grafos usando la teoría de grafos se pueden detectar de forma efectiva patrones de blanqueo y otros fraudes.

Las graph databases pueden también ser usadas para el cálculo de rutas de logística. Las empresas que gestionan envíos les interesa calcular la ruta más rápida y eficiente para aumentar el número de entregas por hora.

Calcular la ruta más rápida puede hacerse usando el algoritmo de Dijkstra el cual se aplica en grafos.

Ventajas y desventajas de usar las BDOG

Cómo cada tipo de base de datos, las BDOG tienen sus ventajas y sus desventajas. Por esta razón es importante conocer bien sus características para determinar si es necesario implementar una base de datos orientada a grafos a nuestro proyecto o si, por el contrario, necesitamos una BBDD tipo relacional o una base de datos orientada a documentos.

Ventajas

  • Rendimiento: pueden manejarse grandes cantidades de datos relacionados de forma rápida y efectiva.
  • Flexibilidad: La teoría de grafos en que se basan las BDOG permite solucionar múltiples problemas encontrando la solución más óptima.
  • Escalabilidad: las bases de datos orientadas a grafos permiten una buena escalabilidad gracias a que se pueden añadir nuevos nodos y nuevas relaciones entre ellos.

Desventajas

  • Baja comunidad: al ser un tipo de BBDD bastante reciente, la comunidad aún no es muy grade y, por lo tanto, cuesta encontrar soporte a los distintos problemas que se pueden dar.
  • Inexistencia de lenguaje estandarizado: cada plataforma de BDOG tiene un lenguaje de peticiones diferente por lo que no hay un lenguaje estandarizado para realizar peticiones a diferencia de las bases de datos relacionales con el SQL ( Structure Query Language ).
  • Ineficiencia para peticiones transaccionales: las bases de datos de grafos no funcionan bien para peticiones transaccionales a diferencia de las BBDD relacionales.

Ejemplos de bases de datos orientadas a grafos

Existen varias plataformas, tanto de pago como gratuitas que permiten incorporar este tipo de base de datos. Si estás buscando ejemplos para saber cual se adapta más a tu proyecto te dejamos algunas para que tengas una idea de que BDOG existen actualmente.

Neo4j

Esta BBDD orientada a grafos es muy popular en el mundo Big Data utilizada por empresas de la talla de Ebay o IBM. Está pensada para manipular datos conectados de forma rápida y sencilla ayudando al análisis de la información. Tiene una gran comunidad por lo que es ideal para empezara a usar este tipo de bases de datos.

ArangoDB

ArangoDB es una de las BDOG multi modelo open source más usadas del momento. Combina el modelo de grafos con el de clave-valor además de tener un completo motor de búsqueda de texto dando al usuario la posibilidad de combinar diferentes modelos de datos y realizar consultas a través de un lenguaje declarativo parecido a SQL.

Amazon Neptune

Amazon Neptune es una base de datos de grafos de alto rendimiento con una baja latencia de realización de consultas. Permite almacenar información con millones de relaciones además de poder realizar predicciones de datos usando el módulo de aprendizaje autónomo Amazon Neptune ML.

FlockDB

FlockDB es una base de datos open-source orientada a grafos pensada para escalar de forma horizontal y no tanto de forma vertical. Al tener una menor capacidad que otro tipo de BBDD es usada en proyectos que requieren operaciones con una alta rapidez y baja latencia. Fue usada en sus inicios por Twitter para establecer relaciones entre los usuarios de su plataforma.

X

Aprende más sobre física, tecnología y programación en nuestra newsletter

Estamos preparando la newsletter... los 1000 primeros que se apunten tendrán regalos exclusivos.