Compartir a través de


¿Qué es una base de datos de grafos?

Nota:

Esta característica actualmente está en su versión preliminar pública. Esta versión preliminar se ofrece sin un contrato de nivel de servicio y no es aconsejable usarla para cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure.

Las bases de datos de Grafos ofrecen una manera eficaz de modelar y consultar datos conectados. A diferencia de las bases de datos relacionales tradicionales que almacenan datos en tablas, las bases de datos de grafos representan información como nodos (entidades) y bordes (relaciones), lo que facilita la exploración más flexible de las conexiones y patrones complejos.

El tipo de base de datos de grafos más usado implementa el modelo de gráfico de propiedades etiquetado (LPG): las entidades (nodos) y las relaciones (bordes) pueden tener etiquetas y propiedades (pares clave-valor). Este modelo flexible permite diseños opcionales y controlados por esquemas, y permite expresar una semántica enriquecida. Dado que las conexiones se almacenan explícitamente como bordes, las consultas atraviesan las relaciones siguiendo los bordes en lugar de calcular combinaciones costosas en el momento de la consulta.

Importante

Este artículo utiliza exclusivamente el conjunto de datos de ejemplo de grafos de redes sociales.

Conceptos básicos de la base de datos de Graph

  • Los nodos representan entidades como personas, productos o lugares. Los nodos pueden tener etiquetas y propiedades que describen sus atributos. Por ejemplo, un nodo Person podría tener propiedades como firstName, lastName y age.
  • Los bordes representan cómo se conectan las entidades, por ejemplo, FRIENDS_WITH, PURCHASED o LOCATED_IN. Los bordes también pueden llevar propiedades y etiquetas para codificar metadatos de relación.
  • Properties adjuntan detalles a nodos y aristas (por ejemplo, el nombre de una persona o la fecha de inicio de una arista). Dado que las relaciones se almacenan explícitamente como bordes, las consultas navegan por el gráfico siguiendo las conexiones en lugar de calcularlas en el momento de la consulta.

Funcionamiento de las relaciones de consulta

Las consultas de grafos recuperan información conectada atravesando desde un nodo inicial hasta sus vecinos, luego hasta los vecinos de estos, etc. El esfuerzo que realiza un recorrido está vinculado al número de bordes que toca (el vecindario local), no al tamaño total del conjunto de datos. Esto hace que plantear preguntas sobre caminos, conexiones y patrones, como amigos de amigos, caminos más cortos o dependencias de varios saltos, sea fácil de expresar de manera natural y eficiente.

Las bases de datos de grafos usan lenguajes de consulta basados en patrones, como el lenguaje de consulta de Graph (GQL) cada vez más adoptado, para describir estos recorridos de forma concisa. GQL está siendo estandarizado por el mismo grupo de trabajo internacional que supervisa SQL (ISO/IEC 39075), alineando las consultas de grafos con estándares de base de datos establecidos.

Ejemplo (coincidencia de patrones con GQL):

MATCH (p:Person {firstName: "Annemarie"})-[:knows]->(friend)-[:likes]->(c:Comment)
RETURN c
ORDER BY c.creationDate
LIMIT 100

Este patrón se interpreta como: comenzando en el nodo Persona de Annemarie, sigue los bordes :knows hasta cada nodo amigo y luego sigue los bordes :likes hasta los nodos relacionados :Comment. Devuelve el 100 más reciente de esos comentarios ordenados por su fecha de creación.

Modelado y esquema

Los modelos de datos de grafos son opcionales en el esquema: puede trabajar con un esquema fijo cuando necesite una gobernanza segura o evolucionar el modelo a medida que aparezcan nuevos tipos de nodo, relaciones o propiedades. Este enfoque reduce la necesidad de duplicación de datos y permite a los equipos unificar datos de varios orígenes sin un gran rediseño inicial.

Usos comunes para bases de datos de grafos

Las bases de datos de grafos se alinean estrechamente con los dominios en los que las conexiones impulsan el valor, como:

  • Redes sociales
  • Gráficos de conocimiento
  • Sistemas de recomendaciones
  • Redes de fraude y riesgo
  • Topología de RED y TI
  • Análisis de dependencias de la cadena de suministro

En estos escenarios, las preguntas son menos sobre registros únicos y más sobre cuántas entidades se relacionan e interactúan en varios saltos.

Cuándo se debe tener en cuenta una base de datos de grafos

Elija una base de datos de grafos cuando:

  • Las preguntas principales implican rutas de acceso, vecindarios y patrones en datos conectados
  • El número de saltos es variable o no se conoce de antemano
  • Necesita navegar y combinar relaciones entre conjuntos de datos dispares.

Si realiza regularmente estos tipos de preguntas, un modelo de grafos es una opción natural.

Graph en Microsoft Fabric

Representar los datos como un grafo y almacenarlos en una base de datos de grafos independiente independiente suele introducir ETL (extracción, transformación, carga) y sobrecarga de gobernanza. Por el contrario, Graph en Microsoft Fabric funciona directamente en OneLake, lo que reduce o elimina la necesidad de canalizaciones ETL independientes y duplicación de datos. Tenga en cuenta estos inconvenientes:

  • Movimiento y duplicación de datos: las bases de datos de grafos independientes normalmente requieren extraer, transformar y cargar datos en un almacén independiente, lo que aumenta la complejidad y puede provocar conjuntos de datos duplicados. Graph en Microsoft Fabric funciona en OneLake para que pueda modelar y consultar datos conectados sin moverlos.
  • Costos operativos: las pilas de grafos independientes se ejecutan como clústeres o servicios independientes y, a menudo, conllevan cargos por capacidad inactiva. Las cargas de trabajo de grafos en Fabric consumen Unidades de Capacidad agrupadas (CUs) con reducción automática y métricas centralizadas, lo que simplifica las operaciones y puede reducir el costo.
  • Escalabilidad: algunas bases de datos de grafos independientes dependen de la agrupación en clústeres específicos del proveedor o el escalado vertical. Graph en Microsoft Fabric está diseñado para grafos a gran escala y utiliza fragmentación horizontal entre varios trabajadores para gestionar las cargas de trabajo de grandes datos de forma eficaz.
  • Herramientas y aptitudes: los sistemas de grafos específicos del proveedor pueden requerir lenguajes especializados y marcos de análisis independientes. Graph en Microsoft Fabric proporciona modelado unificado, consultas basadas en estándares (GQL), algoritmos de análisis de grafos integrados, integración de BI e INTELIGENCIA artificial, y herramientas exploratorias de bajo o sin código. Estas funcionalidades permiten que un conjunto más amplio de usuarios funcionen con datos conectados.
  • Gobernanza y seguridad: las implementaciones de grafos independientes necesitan configuraciones de seguridad y gobernanza independientes. Graph en Microsoft Fabric usa la gobernanza, el linaje y el control de acceso basado en roles (RBAC) de OneLake, por lo que el cumplimiento, la auditoría y los permisos siguen siendo coherentes con el resto del entorno de Fabric.