Definición de base de datos orientada a grafos

Una base de datos orientada a grafos es una plataforma especializada y de un solo propósito para crear y manipular grafos. Los grafos contienen nodos, bordes y propiedades que se utilizan para representar y almacenar datos de una forma que no permiten las bases de datos relacionales.

La analítica de grafos es otro término de uso común y hace referencia específicamente al proceso de analizar datos en un formato de grafo utilizando los puntos de datos como nodos y las relaciones como bordes. Para la analítica de grafos se precisa una base de datos que admita formatos de grafos; por ejemplo, una base de datos orientada a grafos especializada o una base de datos convergente que admita varios modelos de datos, incluidos los grafos.

Tipos de bases de datos orientadas a grafos

Hay dos modelos comunes de bases de datos orientadas a grafos: grafos de propiedades y grafos RDF. Los grafos de propiedades se centran en el análisis y las consultas, y los RDF se centran en la integración de datos. Ambos tipos de grafos consisten en un conjunto de puntos (vértices) y de las conexiones entre esos puntos (bordes). Sin embargo, también tienen diferencias.

Gráficos de propiedades

Los grafos de propiedades se utilizan para modelar las relaciones entre los datos y permiten hacer análisis y consultas sobre los datos en función de estas relaciones. Un grafo de propiedades tiene vértices que pueden contener información detallada sobre un tema, así como bordes para resaltar la relación entre esos vértices. Los vértices y los bordes pueden tener atributos (llamados propiedades) a los que están asociados.

En este ejemplo, se representa como un grafo de propiedades a un conjunto de compañeros y a las relaciones entre ellos.

¿Qué es una base de datos orientada a grafos?

Debido a su versatilidad, los grafos de propiedades se utilizan en una amplia gama de industrias y sectores, como finanzas, fabricación, seguridad pública, venta minorista y muchos más.

Grafos RDF

Los grafos RDF (Resource Description Framework) cumplen con un conjunto de estándares W3C (Worldwide Web Consortium) diseñados para representar declaraciones; son la mejor opción a la hora de representar metadatos complejos y datos principales. Se suelen utilizar para datos vinculados, integración de datos y grafos de conocimiento. Pueden representar conceptos complejos en un dominio, así como ofrecer una semántica rica e inferencias sobre datos.

En el modelo RDF, una sentencia está representada por tres elementos: dos vértices conectados por un borde que representa el sujeto, el predicado y el objeto de una oración; esto se conoce como tripleta RDF. Cada vértice y borde se identifica con un URI exclusivo (identificador único de recurso). El modelo RDF aporta un método para publicar datos en un formato estándar y con una semántica bien definida, lo que facilita el intercambio de información. Las entidades estatales de estadísticas, las empresas farmacéuticas y las organizaciones sanitarias utilizan los grafos RDF de manera generalizada.

Cómo funcionan los grafos y las bases de datos orientadas a grafos

Los grafos y las bases de datos orientadas a grafos proporcionan modelos de grafos para representar las relaciones en los datos. Gracias a estas, los usuarios pueden hacer consultas transversales basadas en conexiones y aplicar algoritmos de grafos a fin de encontrar patrones, rutas, comunidades, factores influyentes, puntos únicos de fallo y otras relaciones. Esto permite un análisis más eficiente a gran escala con cantidades masivas de datos. El poder de los grafos reside en la analítica, los conocimientos que aportan y su capacidad para vincular fuentes de datos dispares.

En el análisis de grafos, los algoritmos exploran las rutas y la distancia entre los vértices, la importancia de estos y su agrupación. Por ejemplo, para determinar la importancia, los algoritmos suelen fijarse en los bordes de entrada, la importancia de los vértices circundantes y otros indicadores.

Los algoritmos de grafos —operaciones diseñadas específicamente para analizar relaciones y comportamientos entre datos en grafos— permiten comprender cosas que resultan difíciles de ver con otros métodos. En el análisis de grafos, los algoritmos exploran las rutas y la distancia entre los vértices, la importancia de estos y su agrupación. A fin de determinar la importancia, los algoritmos suelen fijarse en los bordes de entrada, la importancia de los vértices circundantes y otros indicadores. Por ejemplo, los algoritmos de grafos pueden identificar qué individuo o elemento está más conectado con otros en las redes sociales o los procesos comerciales. Los algoritmos pueden identificar comunidades, anomalías, patrones comunes y rutas que conectan individuos o transacciones relacionadas.

Debido a que las bases de datos de grafos almacenan relaciones de forma explícita, las consultas y los algoritmos que utilizan la conectividad entre vértices se pueden ejecutar en fracciones de segundo, y no en horas o días. Los usuarios no necesitan ejecutar un montón de combinaciones, y es mucho más fácil usar los datos para el análisis y el aprendizaje automático a fin de descubrir cosas sobre el mundo que nos rodea.

Ventajas de las bases de datos orientadas a grafos

El formato de grafo proporciona una plataforma más flexible para detectar conexiones distantes o analizar datos en función de aspectos como la fuerza o la calidad de la relación. Los grafos le permiten explorar y descubrir conexiones y patrones en redes sociales, IdC, big data, almacenes de datos y también datos de transacciones complejas para múltiples casos de uso comercial, lo que incluye la detección de fraudes en la banca, el descubrimiento de conexiones en redes sociales y la vista integral del cliente. En la actualidad, las bases de datos orientadas a grafos se utilizan cada vez más como parte de la ciencia de datos a fin de clarificar las conexiones en las relaciones.

Debido a que las bases de datos de grafos almacenan relaciones de forma explícita, las consultas y los algoritmos que utilizan la conectividad entre vértices se pueden ejecutar en fracciones de segundo, y no en horas o días. Los usuarios no necesitan ejecutar un montón de combinaciones, y es mucho más fácil usar los datos para el análisis y el aprendizaje automático a fin de descubrir cosas sobre el mundo que nos rodea.

Las bases de datos orientadas a grafos son una herramienta extremadamente flexible y potente. Gracias al formato del grafo, se pueden determinar relaciones complejas para obtener información más completa con mucho menos esfuerzo. Las bases de datos de grafos generalmente ejecutan consultas en lenguajes como Property Graph Query Language (PGQL). El siguiente ejemplo muestra la misma consulta en PGQL y SQL.

Uso del análisis de grafos

Como se ve en el ejemplo anterior, el código PGQL es más simple y mucho más eficiente. Dado que los grafos enfatizan las relaciones entre los datos, resultan ideales para varios tipos de análisis diferentes. En particular, las bases de datos orientadas a grafos destacan por:

  • Encontrar la ruta más corta entre dos nodos
  • Determinar los nodos que crean la mayor actividad/influencia
  • Analizar la conectividad para identificar los puntos más débiles de una red
  • Analizar el estado de la red o comunidad según la distancia/densidad de conexión en un grupo

El funcionamiento de la analítica y las bases de datos orientadas a grafos

Un ejemplo sencillo de las bases de datos orientadas a grafos es lo que se puede ver en la siguiente imagen, el famoso juego “Seis grados de Kevin Bacon”. Para los que no lo conozcan, este juego consiste en establecer conexiones entre Kevin Bacon y otro actor en función de una secuencia de películas en las que hayan trabajado juntos. Este énfasis en las relaciones lo convierte en la forma ideal de mostrar la analítica de grafos.

Imagine un conjunto de datos con dos categorías de nodos: todas las películas que se han hecho y todos los actores que han participado en esas películas. A continuación, con el grafo, ejecutamos una consulta pidiendo conectar a Kevin Bacon con la teleñeco Cerdita Peggy. El resultado sería el siguiente:

Conjunto de datos mediante grafos

En este ejemplo, los nodos disponibles (vértices) son tanto actores como películas y las relaciones (bordes) son el estado de "ha actuado". A partir de aquí, la consulta devuelve los siguientes resultados:

  • Kevin Bacon actuó en Río salvaje con Meryl Streep.
  • Meryl Streep actuó en Una serie de catastróficas desdichas de Lemony Snicket con Billy Connolly.
  • Billy Connolly actuó en Los teleñecos en la Isla del Tesoro con la Cerdita Peggy.

Con las bases de datos orientadas a grafos se pueden consultar muchas relaciones diferentes con este ejemplo de Kevin Bacon; por ejemplo:

  • "¿Cuál es la cadena más corta para conectar a Kevin Bacon con la Cerdita Peggy?" (análisis de la ruta más corta, de la forma utilizada en el juego del Número de Bacon anterior)
  • "¿Quién ha trabajado con el mayor número de actores?" (grado de centralidad)
  • "¿Cuál es la distancia media entre Kevin Bacon y todos los demás actores?" (centralidad de cercanía)

Este es, por supuesto, un ejemplo más divertido que la mayoría de los usos de la analítica de grafos. Pero este enfoque funciona en casi todos los big data, en cualquier situación en la que un gran número de registros muestre una conectividad natural entre sí. Algunos de los usos más populares de la analítica de grafos son el análisis de redes sociales, las redes de comunicación, el tráfico y el uso de sitios web, los datos reales de carreteras y las transacciones y cuentas financieras.

Caso práctico de la base de datos orientada a grafos: blanqueo de dinero

Caso de uso de las bases de datos orientadas a grafos

El concepto del blanqueo de dinero es sencillo. El dinero negro se va distribuyendo a fin de combinarlo con fondos legítimos, y luego se convierte en activos tangibles. Este es el tipo de proceso que se utilizó en el análisis de los papeles de Panamá.

Es decir, mediante una transferencia circular de dinero, un delincuente se envía a sí mismo grandes cantidades de dinero negro, pero lo oculta a través de una larga y compleja serie de transferencias válidas entre cuentas consideradas normales. Estas cuentas “normales” son, en realidad, cuentas creadas con identidades artificiales. Suelen tener en común cierta información porque se generan a partir de identidades robadas (direcciones de correo electrónico, direcciones postales, etc.). Esta información relacionada es la que hace que el análisis orientado a grafos sea una buena opción para revelar el origen fraudulento.

Para simplificar la detección de fraudes, los usuarios pueden crear un grafo a partir de transacciones entre entidades o entre entidades que comparten cierta información, lo que incluye direcciones de correo electrónico, contraseñas, direcciones postales, etc. Tras crear el grafo, basta con ejecutar una consulta simple para buscar a todos los clientes con cuentas que tengan información similar, desvelando así qué cuentas se están enviando dinero entre sí.

Caso práctico de la base de datos orientada a grafos: análisis de medios sociales

Las bases de datos orientadas a grafos se pueden usar en muchos escenarios diferentes, pero normalmente se utilizan para analizar redes sociales. De hecho, las redes sociales son el caso de uso ideal, ya que en ellas intervienen un gran volumen de nodos (cuentas de usuario) y conexiones multidimensionales (interacciones en muchas direcciones diferentes). En un análisis de grafos de una red social se puede determinar:

  • ¿Qué actividad tienen los usuarios? (número de nodos)
  • ¿Qué usuarios tienen mayor influencia? (densidad de conexiones)
  • ¿Quién tiene el compromiso más bidireccional? (dirección y densidad de conexiones)

Sin embargo, esta información no resulta útil si los bots la sesgan de forma no natural. Afortunadamente, la analítica de grafos puede ser un método excelente para identificar y filtrar bots.

En un caso de uso real, el equipo de Oracle utilizó Oracle Marketing Cloud para evaluar la publicidad y las tracciones de redes sociales, en particular para identificar las cuentas de bot falsas que sesgaban los datos. El comportamiento más habitual de estos bots consistía en retuitear las cuentas objetivo, inflando así su popularidad artificialmente. Un análisis de patrones sencillo permitió evaluar el uso de la cuenta de retweets y la densidad de conexiones con los vecinos. Se detectó que las cuentas populares de manera natural tenían relaciones diferentes con los vecinos que las cuentas controladas por bots.

Esta imagen muestra cuentas populares de manera natural.

Caso práctico de la base de datos orientada a grafos: análisis de medios sociales

Esta imagen muestra el comportamiento de una cuenta controlada por un bot.

Caso práctico de la base de datos orientada a grafos: análisis de medios sociales

La clave aquí es usar las capacidades de la analítica de grafos para diferenciar un patrón natural de un patrón de bot. A partir de ahí, es tan simple como filtrar esas cuentas, aunque también es posible profundizar para examinar la relación entre los bots y las cuentas retuiteadas.

Las redes hacen todo lo posible por eliminar las cuentas de bot, ya que afectan la experiencia general de su base de usuarios. Para verificar que este proceso de detección de bots era preciso, las cuentas marcadas se verificaron transcurrido un mes. Los resultados fueron los siguientes:

  • Suspendidas: 89 %
  • Suprimidas: 2,2 %
  • Aún activas: 8,8 %

El porcentaje extremadamente alto de cuentas sancionadas (91,2 %) mostró la precisión tanto de la identificación de patrones como del proceso de limpieza. Este proceso habría sido mucho más largo con una base de datos tabular estándar. Sin embargo, con el análisis de grafos, se pueden identificar patrones complejos de forma rápida.

Caso práctico de la base de datos orientada a grafos: fraude con tarjetas de crédito

Las bases de datos orientadas a grafos se han convertido en una herramienta muy potente para detectar el fraude en la industria de las finanzas. A pesar de los avances en la tecnología antifraude, como el uso de chips integrados en las tarjetas, el fraude aún puede producirse de diversas formas. Los dispositivos de rastreo pueden robar los datos de las bandas magnéticas, una técnica que se usa comúnmente en lugares que aún no han instalado lectores de chips. Una vez que se almacenan esos datos, se pueden cargar en una tarjeta falsa para realizar compras o retirar dinero.

La identificación de patrones suele ser la primera línea de defensa de los medios de detección de fraudes. Los patrones de compra esperados se basan en la ubicación, la frecuencia, los tipos de tiendas y otros elementos que se ajustan al perfil de un usuario. Cuando algo parece totalmente anómalo —por ejemplo, una persona que normalmente se encuentra en el área de la Bahía de San Francisco y que, de repente, hace compras nocturnas en Florida— se marca como potencialmente fraudulento.

La potencia informática requerida para ello se simplifica mucho con la analítica de grafos. La analítica de grafos es excelente para definir patrones entre nodos; en este caso, las categorías de nodos se definen como cuentas (titulares de tarjetas), ubicaciones de compra, categoría de compra, transacciones y terminales. Es fácil identificar patrones de comportamiento naturales; por ejemplo, en un mes determinado, una persona podría:

  • Comprar comida para mascotas (categoría de compra) en diferentes tiendas de mascotas (terminales)
  • Pagar en restaurantes durante los fines de semana (metadatos de transacciones) en la región (lugares de compra)
  • Comprar artículos de bricolaje (categoría de compra) en una ferretería local (ubicación de la cuenta, ubicación de compra)

La detección de fraude generalmente se realiza con aprendizaje automático, pero la analítica de grafos puede complementar esta tarea para crear un proceso más preciso y eficiente. Gracias al enfoque en las relaciones, los resultados se han convertido en indicadores efectivos para determinar y marcar registros fraudulentos, seleccionando y preparando los datos antes de que puedan utilizarse.

El futuro de las bases de datos orientadas a grafos

Las bases de datos orientadas a grafos y las técnicas de grafos han ido evolucionando a medida que la potencia informática y el big data ha ido creciendo durante la última década. De hecho, cada vez está más claro que se convertirán en la herramienta estándar para analizar un nuevo mundo de relaciones complejas entre los datos. A medida que las empresas y las organizaciones continúan impulsando las capacidades de los big data y el análisis, la posibilidad de obtener información de formas cada vez más complejas hace que las bases de datos orientadas a grafos resulten imprescindibles para las necesidades actuales y los éxitos del mañana.

Con Oracle, es mucho más fácil adoptar tecnologías orientadas a grafos. Oracle Database y Oracle Autonomous Database incluyen una base de datos y un motor de análisis orientados a grafos para que los usuarios puedan descubrir más información sobre sus datos gracias al poder de los algoritmos de grafos, las consultas de coincidencia de patrones y la visualización. Los grafos forman parte de la base de datos convergente de Oracle, que admite requisitos multimodelo, multicarga de trabajo y multiinquilino, todo ello en un solo motor de base de datos.

Aunque todas las bases de datos orientadas a grafos afirman tener un gran rendimiento, lo que Oracle ofrece en el campo de los grafos resulta eficaz tanto con consultas como con algoritmos, y está totalmente integrado en la base de datos Oracle. Esto facilita que los desarrolladores añadan análisis de grafos en aplicaciones existentes, además de poner a su alcance la escalabilidad, la uniformidad, la recuperación, el control de acceso y la seguridad que la base de datos proporciona de forma predeterminada.