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 obtener más información, vea Supplemental Terms of Use for Microsoft Azure Previews.

Una base de datos de grafos es un tipo de base de datos que representa información como nodos (entidades) y bordes (relaciones) en lugar de tablas y filas. Esta estructura facilita la exploración de conexiones y patrones complejos en los datos.

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 relaciones complejas. 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.

Nota:

En los ejemplos de este artículo se usa el conjunto de datos de grafo de ejemplo de red social.

Conceptos básicos de la base de datos de Graph

Una base de datos de grafos organiza los datos en tres bloques de construcción fundamentales.

  • Los nodos representan entidades como personas, productos o lugares. Los nodos pueden tener etiquetas y propiedades que describen sus atributos. Por ejemplo, un Person nodo podría tener propiedades como firstName, lastNamey age.
  • Los bordes representan cómo se conectan las entidades, por ejemplo FRIENDS_WITH, , PURCHASEDo LOCATED_IN. Los bordes también pueden llevar propiedades y etiquetas para capturar metadatos de relación.
  • Las propiedades asocian detalles a nodos y aristas (por ejemplo, el nombre de una persona o la fecha de una arista).

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 costo de un recorrido depende del número de bordes que toca (el vecindario local), no del tamaño total del conjunto de datos. Esta característica hace que preguntas sobre rutas, conexiones y patrones, como amigos de amigos, rutas más cortas o dependencias de varios saltos, sean naturales y eficientes de expresar.

Las bases de datos de grafos usan lenguajes de consulta basados en patrones, como el lenguaje de consulta de Graph (GQL) para describir estos recorridos de forma concisa. El mismo grupo de trabajo internacional que supervisa SQL (ISO/IEC 39075) está estandarizando GQL, que alinea las consultas de grafos con los 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.

Flexibilidad de esquema y modelo de datos de Graph

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. Para obtener más información sobre el modelo de datos usado en el grafo de Microsoft Fabric, consulte Gráficos de propiedades etiquetados.

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: modelar relaciones entre personas y sus interacciones
  • Gráficos de conocimiento: conexión de conceptos, entidades y hechos para la búsqueda semántica y el razonamiento
  • Sistemas de recomendaciones: atraviesa las interacciones de elementos de usuario para exponer sugerencias personalizadas
  • Redes de fraude y riesgo: detectar patrones sospechosos entre cuentas, transacciones y dispositivos
  • Topología de RED y TI: asignar dependencias entre servidores, servicios y componentes de infraestructura
  • Análisis de dependencias de la cadena de suministro: orígenes de componentes de seguimiento y relaciones entre proveedores

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

Una base de datos de grafos es una buena opción cuando las relaciones impulsan las preguntas principales que debe responder. Elija una base de datos de grafos cuando:

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

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

Cómo se compara el grafo de Microsoft Fabric con las bases de datos de grafos independientes

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, 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 en un almacén independiente, lo que aumenta la complejidad y puede provocar conjuntos de datos duplicados. Graph 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. En los gráficos, las cargas de trabajo consumen unidades de capacidad agrupadas (CUs) con escala automática descendente 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 está diseñado para grafos a gran escala y usa particionamiento horizontal entre varios trabajadores para controlar las cargas de trabajo de macrodatos 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 proporciona modelado unificado, consultas basadas en estándares (GQL), algoritmos integrados de análisis de grafos, integración de BI e IA, 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 usa la gobernanza, el linaje y el control de acceso basado en rol (RBAC) de OneLake para que el cumplimiento, la auditoría y los permisos sigan siendo coherentes con el resto del entorno de Fabric.