Compartir a través de


Introducción a la semántica de grafos

Se aplica a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

La semántica de grafos permite modelar y consultar datos como redes interconectadas. Un gráfico consta de nodos (entidades) y bordes (relaciones) que los conectan. Tanto los nodos como los bordes pueden contener propiedades, creando un modelo de datos enriquecido para relaciones complejas.

Los gráficos se destacan en la representación de datos complejos con relaciones de varios a varios, estructuras jerárquicas o conexiones en red, como redes sociales, sistemas de recomendación, recursos conectados y gráficos de conocimiento. A diferencia de las bases de datos relacionales que requieren índices y combinaciones para conectar datos entre tablas, los gráficos usan la adyacencia directa entre los nodos, lo que permite un recorrido rápido e intuitivo de las relaciones.

En el gráfico siguiente se muestra un escenario de ruta de acceso a ataques de ciberseguridad. Los nodos representan entidades como orígenes externos, usuarios y recursos críticos, mientras que los bordes representan acciones o relaciones que forman una secuencia de ataque potencial.

Gráfico que muestra el escenario de ciberseguridad, incluido el correo electrónico de suplantación de identidad y la ruta de acceso a una base de datos confidencial.

Las consultas de grafos aprovechan la estructura de grafos para realizar operaciones sofisticadas, como buscar rutas de acceso, patrones, distancias más cortas, comunidades y medidas de centralidad. Estas funcionalidades hacen que los gráficos sean eficaces para modelar relaciones, interacciones, dependencias y flujos entre dominios, incluidas las redes sociales, las cadenas de suministro, las redes de dispositivos IoT, los gemelos digitales, los sistemas de recomendación y las estructuras organizativas.

En el gráfico siguiente se muestra un escenario de cadena de suministro en el que los nodos representan proveedores, fabricantes y distribuidores y bordes representan relaciones de suministro. En este ejemplo se demuestra cómo los grafos modelan los flujos y las dependencias en diferentes contextos empresariales.

Gráfico de dos proveedores, fabricantes y distribuidores, y la relación de suministro.

¿Por qué usar la semántica de grafos?

Las funcionalidades del grafo ofrecen ventajas significativas aprovechando las inversiones en datos existentes al agregar un modelado sofisticado de relaciones:

  • No se requiere ninguna migración de datos : cree modelos de grafos directamente a partir de datos actuales sin duplicación.
  • Solución rentable : elimina la complejidad y el gasto de las bases de datos de grafos dedicadas.
  • Compatibilidad con el análisis temporal : como base de datos de serie temporal, puede analizar de forma natural cómo evolucionan los gráficos a lo largo del tiempo.
  • Modelado basado en eventos: modela gráficos como secuencias de eventos de relación, que se alinean con las capacidades sólidas de procesamiento de eventos.
  • Integración directa de KQL : los operadores de Graph funcionan junto con todas las funcionalidades de KQL existentes con compatibilidad completa con IntelliSense.

Este enfoque ofrece modelado de relaciones de nivel empresarial al tiempo que mantiene el rendimiento, la escala y una interfaz familiar. Las organizaciones pueden analizar datos interconectados complejos entre dominios, desde cadenas de suministro y jerarquías organizativas hasta redes de dispositivos IoT y relaciones sociales, sin inversiones adicionales en infraestructura.

Enfoque de creación de grafos transitorios

Los gráficos transitorios se crean dinámicamente mediante el make-graph operador . Estos gráficos existen en la memoria durante la ejecución de la consulta y se descartan automáticamente cuando se completa la consulta.

Características claves

  • Creación dinámica : se compila a partir de datos tabulares mediante consultas KQL con toda la estructura que reside en la memoria
  • Disponibilidad inmediata : no hay requisitos de preprocesamiento ni configuración
  • Restricciones de memoria: el tamaño del grafo está limitado por la memoria disponible en los nodos del clúster.
  • Factores de rendimiento : los tamaños de propiedad y la topología de graph determinan los requisitos de memoria

Este enfoque es óptimo para conjuntos de datos más pequeños a medianos en los que se necesita un análisis inmediato.

Casos de uso para gráficos transitorios

Los gráficos transitorios se destacan en varios escenarios:

  • Análisis ad hoc : investigaciones únicas que requieren un examen rápido de patrones
  • Análisis de datos exploratorios : prueba de hipótesis y validación de enfoques analíticos
  • Conjuntos de datos pequeños a medianos : análisis en tiempo real de eventos recientes o subconjuntos de datos centrados
  • Creación de prototipos rápida : prueba de patrones de grafos antes de implementar modelos persistentes
  • Análisis dinámico de datos : datos que cambian con frecuencia que no justifican el almacenamiento persistente

Entre las aplicaciones comunes se incluyen la supervisión de IoT en tiempo real, el análisis de relaciones de la cadena de suministro, el mapeo del recorrido del cliente y cualquier escenario que requiera visualización inmediata de las relaciones de entidad.

Enfoque de creación de grafos persistentes

Los gráficos persistentes usan modelos de grafos y instantáneas de grafos para proporcionar soluciones sólidas para grafos a gran escala y complejos que representan redes organizativas, cadenas de suministro, ecosistemas de IoT, gemelos digitales y otros dominios de datos interconectados.

Características clave de los gráficos persistentes

  • Almacenamiento persistente : los modelos de grafos y las instantáneas se almacenan en metadatos de base de datos para la durabilidad y la coherencia
  • Escalabilidad : control de gráficos que superan las limitaciones de memoria con funcionalidades de análisis a escala empresarial
  • Reutilización : varios usuarios pueden consultar la misma estructura sin volver a generar, lo que permite el análisis colaborativo.
  • Optimización del rendimiento : eliminación de la latencia de construcción de grafos para consultas repetidas
  • Control de versiones - varias instantáneas representan gráficos en distintos momentos en el tiempo para el análisis histórico
  • Compatibilidad con esquemas : definiciones estructuradas para diferentes tipos de entidad y sus propiedades

La funcionalidad de esquema admite tanto etiquetas estáticas (predefinidas en el modelo de grafos) como etiquetas dinámicas (generadas en tiempo de ejecución a partir de datos), lo que proporciona flexibilidad para entornos complejos con diversos tipos de entidad.

Casos de uso para gráficos persistentes

Los gráficos persistentes son esenciales para:

  • Análisis empresarial : flujos de trabajo de supervisión continua en redes complejas
  • Análisis de datos a gran escala : gráficos a escala empresarial con millones de nodos y relaciones
  • Análisis colaborativo : varios equipos que trabajan con estructuras de grafos compartidas
  • Flujos de trabajo de producción: sistemas automatizados que requieren acceso coherente al grafo
  • Comparación histórica : análisis basado en el tiempo de la evolución y los cambios del grafo
Ejemplo: Grafo persistente de gemelo digital

Un gráfico que muestra el ejemplo de fábrica de gemelos digitales con las relaciones de los dispositivos y las dependencias de los equipos.

En escenarios de gemelos digitales e IoT, los diagramas persistentes apoyan el análisis regular de las relaciones entre dispositivos, las dependencias de equipos y la evolución del sistema a lo largo del tiempo. El análisis histórico permite comparar los estados del sistema en diferentes períodos, realizar un seguimiento de la evolución de los recursos y realizar análisis de tendencias a largo plazo.

Ejemplo: Gráfico persistente de IoT y gemelo digital

Las aplicaciones de IoT y gemelo digital se benefician significativamente de gráficos persistentes al modelar relaciones complejas entre dispositivos físicos y sus representaciones virtuales entre sistemas distribuidos. Estos gráficos permiten a las organizaciones:

  • Creación de modelos completos de implementaciones de IoT y recursos conectados
  • Compatibilidad con la supervisión en tiempo real, el mantenimiento predictivo y la optimización del rendimiento
  • Análisis de dependencias de equipos e identificación de posibles puntos de error
  • Optimización de las ubicaciones del sensor a través de la comprensión de la topología física y lógica
  • Realizar un seguimiento de las configuraciones, las comunicaciones y las características de rendimiento de los dispositivos a lo largo del tiempo
  • Detección de anomalías del patrón de comunicación y visualización de la evolución del entorno inteligente
  • Simulación de condiciones de funcionamiento antes de implementar cambios en la infraestructura física

Este enfoque persistente resulta inestimable para administrar ecosistemas de IoT complejos a escala.

Funcionalidades de consulta de grafos

Una vez establecido un grafo (a través make-graph o desde una instantánea), puede aprovechar el conjunto completo de operadores de grafos KQL para un análisis completo:

Operadores principales:

  • graph-match - Habilita sofisticadas operaciones de coincidencia de patrones y recorridos para identificar secuencias de relaciones complejas.
  • graph-shortest-paths - Busca rutas de acceso óptimas entre entidades, lo que ayuda a priorizar las conexiones e identificar las relaciones críticas.
  • graph-to-table - Convierte los resultados del análisis de grafos en formato tabular para la integración con sistemas existentes.

Funcionalidades de análisis avanzadas:

  • Análisis basado en tiempo : examine cómo evolucionan las relaciones y los patrones a lo largo del tiempo
  • Integración geoespacial : combinar datos de grafos con inteligencia basada en ubicación para el análisis de patrones geográficos
  • Integración del aprendizaje automático : aplicación de algoritmos para la agrupación en clústeres de entidades, la clasificación de patrones y la detección de anomalías

Estas funcionalidades admiten diversos casos de uso, como el análisis del recorrido del cliente, los sistemas de recomendaciones de productos, las redes de IoT, los gemelos digitales y los gráficos de conocimiento.

Elección del enfoque adecuado

El siguiente árbol de decisión le ayuda a seleccionar el enfoque de creación de grafos más adecuado en función de sus requisitos y restricciones específicos.

Árbol de decisión: gráficos transitorios frente a persistentes

Diagrama de flujo que muestra un árbol de decisión para cuándo usar gráficos persistentes o transitorios.

Cuándo usar gráficos transitorios

Elija gráficos transitorios para:

  • Tamaño del grafo inferior a 10 millones de nodos y bordes (para obtener un rendimiento óptimo)
  • Análisis de un solo usuario o equipo pequeño con requisitos mínimos de colaboración
  • Investigaciones únicas o exploratorias en las que se necesitan resultados inmediatos
  • Análisis de datos en tiempo real que requiere información de estado actual
  • Creación rápida de prototipos y pruebas de patrones de grafos y lógica de consulta

Aunque los gráficos transitorios pueden controlar conjuntos de datos más grandes, el tiempo de ejecución de consultas aumenta a medida que el gráfico se debe reconstruir para cada consulta. Tenga en cuenta este equilibrio de rendimiento al trabajar con conjuntos de datos más grandes.

Cuándo usar gráficos persistentes

Elija gráficos persistentes para:

  • Tamaño del grafo superior a 10 millones de nodos y aristas, donde el almacenamiento distribuido es beneficioso
  • Varios equipos que requieren acceso compartido para el análisis colaborativo
  • Análisis repetido en conjuntos de datos estables donde la latencia en la construcción afecta a la productividad
  • Integración del flujo de trabajo de producción que requiere acceso de gráfico coherente y confiable
  • Requisitos históricos de comparación para realizar el seguimiento de los cambios a lo largo del tiempo
  • Limitaciones de capacidad de memoria que afectan al rendimiento de las consultas
  • Flujos de trabajo de investigación colaborativa entre equipos y zonas horarias

Los gráficos persistentes son esenciales al trabajar con datos de escala empresarial o cuando las limitaciones de memoria afectan al rendimiento.

Consideraciones sobre el rendimiento

Uso de memoria

  • Gráficos transitorios : limitado por memoria de nodo de clúster único, lo que restringe el uso a los conjuntos de datos dentro de la RAM disponible
  • Gráficos persistentes : aprovechar el almacenamiento distribuido y los patrones de acceso optimizados para los datos a escala empresarial

Latencia de consultas

  • Gráficos transitorios : incluya tiempo de construcción en cada consulta, con retrasos en aumento para grandes conjuntos de datos o orígenes de datos externos.
  • Gráficos persistentes : elimine la latencia de construcción a través de instantáneas precompiladas, lo que permite un análisis rápido.

Las dependencias de orígenes de datos externos, como consultas entre clústeres o tablas externas a SQL y CosmosDB, pueden afectar significativamente al tiempo de construcción de grafos transitorios porque cada consulta debe esperar respuestas externas.

Actualización de datos

  • Gráficos transitorios : reflejar siempre el estado de datos actual, ideal para el análisis en tiempo real
  • Gráficos persistentes : refleje los datos en el momento de la creación de instantáneas, lo que proporciona coherencia para el análisis colaborativo, pero requiere actualizaciones periódicas.

Integración con el ecosistema de KQL

La semántica de Graph se integra sin problemas con las funcionalidades más amplias de KQL:

  • Análisis de series temporales : seguimiento de la evolución de las relaciones a lo largo del tiempo
  • Funciones geoespaciales : análisis de patrones basados en ubicación y anomalías geográficas
  • Operadores de aprendizaje automático : detección de patrones, clasificación de comportamientos e identificación de anomalías
  • Operadores escalares y tabulares : habilitación de transformaciones complejas, agregaciones y enriquecimiento de datos

Esta integración permite flujos de trabajo sofisticados, como el seguimiento de la evolución de la cadena de suministro, el análisis de distribución de recursos geográficos, la detección de la comunidad a través de algoritmos de agrupación en clústeres y la correlación de la información de grafos con el análisis de registros tradicional y la inteligencia externa.