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.

Una base de datos de grafos modela los datos como una red de entidades y relaciones conectadas. El tipo de base de datos de grafo más usado implementa el modelo de gráfico de propiedades etiquetado : 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 elementos como personas, productos o lugares. Los nodos pueden tener etiquetas y propiedades que describen sus atributos.
  • Los bordes representan cómo se conectan esas cosas, por ejemplo, FRIENDS_WITH, PURCHASED o LOCATED_IN. Los bordes también pueden llevar propiedades y etiquetas para codificar metadatos de relación.
  • Las propiedades adjuntan detalles a nodos y aristas (por ejemplo, el nombre de una persona o la fecha desde para 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 lee como: comenzando en el nodo Persona de Annemarie, sigue los :knows bordes hacia cada amigo, luego sigue los :likes bordes hacia los nodos relacionados :Comment, y devuelve los 100 comentarios más recientes de esos.

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 y redes de riesgo, topología de red y TI y 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 impliquen rutas de acceso, vecindarios y patrones en datos conectados; cuando el número de saltos es variable o no se conoce de antemano; o cuando necesite combinar y navegar por las relaciones entre conjuntos de datos dispares. Si estas son las preguntas que necesita responder repetidamente, un modelo de grafos es una opción natural.

¿Qué hay de ETL?

Representar los datos como un grafo y almacenarlos en una base de datos de grafos independiente a menudo introduce una sobrecarga de ETL y gobernanza. Por el contrario, el grafo de 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 (ETL) en un almacén independiente, lo que aumenta la complejidad y puede dar lugar a 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 para que un conjunto más amplio de usuarios pueda trabajar 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.