Compartilhar via


Visão geral da semântica do graph

Aplica-se a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

A semântica do graph permite modelar e consultar dados como redes interconectadas. Um grafo consiste em nós (entidades) e bordas (relações) que os conectam. Nós e bordas podem conter propriedades, criando um modelo de dados avançado para relações complexas.

Os grafos se destacam em representar dados complexos com relações muitos para muitos, estruturas hierárquicas ou conexões em rede, como redes sociais, sistemas de recomendação, ativos conectados e grafos de conhecimento. Ao contrário dos bancos de dados relacionais que exigem índices e junções para conectar dados entre tabelas, os grafos usam a adjacência direta entre nós, permitindo uma passagem rápida e intuitiva de relações.

O grafo a seguir ilustra um cenário de caminho de ataque de segurança cibernética. Os nós representam entidades como fontes externas, usuários e ativos críticos, enquanto as bordas representam ações ou relações que formam uma sequência de ataque potencial.

Gráfico mostrando o cenário de segurança cibernética, incluindo email de phishing e caminho para acessar um banco de dados confidencial.

As consultas de grafo aproveitam a estrutura do grafo para executar operações sofisticadas, como encontrar caminhos, padrões, distâncias mais curtas, comunidades e medidas de centralidade. Esses recursos tornam os grafos avançados para modelagem de relações, interações, dependências e fluxos entre domínios, incluindo redes sociais, cadeias de suprimentos, redes de dispositivos IoT, gêmeos digitais, sistemas de recomendação e estruturas organizacionais.

O gráfico a seguir mostra um cenário de cadeia de suprimentos em que os nós representam fornecedores, fabricantes e distribuidores e bordas representam relações de fornecimento. Este exemplo demonstra como grafos modelam fluxos e dependências em diferentes contextos de negócios.

Gráfico dos dois fornecedores, do fabricante, do distribuidor e da relação de fornecimento.

Por que usar semântica de grafo?

Os recursos do Graph oferecem vantagens significativas aproveitando os investimentos de dados existentes ao mesmo tempo em que adicionam modelagem de relacionamento sofisticada:

  • Nenhuma migração de dados necessária – crie modelos de grafo diretamente dos dados atuais sem duplicação.
  • Solução econômica – elimina a complexidade e a despesa dos bancos de dados de grafo dedicados.
  • Suporte à análise temporal – como um banco de dados de série temporal, você pode analisar naturalmente como os grafos evoluem ao longo do tempo.
  • Modelagem baseada em eventos – Modela grafos como sequências de eventos de relação, alinhando-se com recursos de processamento de eventos fortes.
  • Integração perfeita do KQL – os operadores do Graph funcionam junto com todos os recursos de KQL existentes com suporte completo do IntelliSense.

Essa abordagem fornece modelagem de relação de nível empresarial , mantendo o desempenho, a escala e uma interface familiar. As organizações podem analisar dados interconectados complexos entre domínios, desde cadeias de suprimentos e hierarquias organizacionais até redes de dispositivos IoT e relações sociais, sem investimentos extras em infraestrutura.

Abordagem de criação de gráfico transitório

Grafos transitórios são criados dinamicamente usando o make-graph operador. Esses grafos existem na memória durante a execução da consulta e são descartados automaticamente quando a consulta é concluída.

Características principais

  • Criação dinâmica – Criada a partir de dados tabulares usando consultas KQL com toda a estrutura que reside na memória
  • Disponibilidade imediata – Sem requisitos de pré-processamento ou configuração
  • Restrições de memória – o tamanho do grafo é limitado pela memória disponível em nós de cluster
  • Fatores de desempenho – a topologia do grafo e os tamanhos de propriedade determinam requisitos de memória

Essa abordagem é ideal para conjuntos de dados de tamanho menor a médio, em que a análise imediata é necessária.

Casos de uso para grafos transitórios

Grafos transitórios têm destaque em vários cenários:

  • Análise ad hoc – Investigações ad hoc que exigem um exame rápido de padrão
  • Análise de dados exploratória – Testar hipóteses e validar abordagens analíticas
  • Conjuntos de dados pequenos a médios – análise em tempo real de eventos recentes ou subconjuntos de dados focados
  • Protótipo rápido – Testando padrões de grafo antes de implementar modelos persistentes
  • Análise dinâmica de dados – alteração frequente de dados que não justificam o armazenamento persistente

Os aplicativos comuns incluem monitoramento de IoT em tempo real, análise de relação da cadeia de suprimentos, mapeamento de percurso do cliente e qualquer cenário que exija visualização imediata de relações de entidade.

Abordagem de criação de grafo persistente

Grafos persistentes usam modelos de grafo e instantâneos de grafo para fornecer soluções robustas para grafos complexos em larga escala que representam redes organizacionais, cadeias de suprimentos, ecossistemas de IoT, gêmeos digitais e outros domínios de dados interconectados.

Principais características para grafos persistentes

  • Armazenamento persistente – Os modelos e instantâneos do Graph são armazenados em metadados de banco de dados para durabilidade e consistência
  • Escalabilidade – Manipular grafos que excedem as limitações de memória com funcionalidades de análise em escala empresarial
  • Reutilização – vários usuários podem consultar a mesma estrutura sem recompilar, habilitando a análise colaborativa
  • Otimização de desempenho – eliminar a latência de construção do grafo para consultas repetidas
  • Controle de versão – várias capturas representam grafos em momentos distintos para análise histórica
  • Suporte a esquema – definições estruturadas para diferentes tipos de entidade e suas propriedades

A funcionalidade de esquema dá suporte a rótulos estáticos (predefinidos no modelo de grafo) e rótulos dinâmicos (gerados em runtime a partir de dados), proporcionando flexibilidade para ambientes complexos com diversos tipos de entidade.

Casos de uso para grafos persistentes

Grafos persistentes são essenciais para:

  • Análise empresarial – Fluxos de trabalho de monitoramento contínuo em redes complexas
  • Análise de dados em larga escala – grafos em escala empresarial com milhões de nós e relações
  • Análise colaborativa – várias equipes trabalhando com estruturas de grafo compartilhado
  • Fluxos de trabalho de produção – sistemas automatizados que exigem acesso consistente ao grafo
  • Comparação histórica – análise baseada em tempo da evolução e das alterações do grafo
Exemplo: Grafo Persistente do Gêmeo Digital

Um grafo mostrando o exemplo de fábrica de gêmeos digitais com relações de dispositivo e dependências de equipamentos.

Em cenários de gêmeo digital e IoT, grafos persistentes dão suporte à análise regular de relações de dispositivo, dependências de equipamentos e evolução do sistema ao longo do tempo. A análise histórica permite comparar estados do sistema em diferentes períodos, acompanhar a evolução dos ativos e conduzir a análise de tendência de longo prazo.

Exemplo: grafo persistente de IoT e gêmeo digital

Os aplicativos IoT e gêmeo digital se beneficiam significativamente de grafos persistentes ao modelar relações complexas entre dispositivos físicos e suas representações virtuais em sistemas distribuídos. Esses grafos permitem que as organizações:

  • Criar modelos abrangentes de implantações de IoT e ativos conectados
  • Suporte a monitoramento em tempo real, manutenção preditiva e otimização de desempenho
  • Analisar dependências de equipamentos e identificar possíveis pontos de falha
  • Otimizar posicionamentos de sensores por meio da compreensão da topologia física e lógica
  • Acompanhar as configurações, as comunicações e as características de desempenho do dispositivo ao longo do tempo
  • Detectar anomalias de padrão de comunicação e visualizar a evolução do ambiente inteligente
  • Simular condições operacionais antes de implementar alterações na infraestrutura física

Essa abordagem persistente é inestimável para gerenciar ecossistemas complexos de IoT em escala.

Funcionalidades de consulta de grafo

Depois que um grafo é estabelecido (por meio de make-graph ou de um instantâneo), você pode aproveitar o conjunto completo de operadores de grafo KQL para uma análise abrangente.

Operadores principais:

  • graph-match - Habilita operações sofisticadas de correspondência de padrões e passagem para identificar sequências de relacionamento complexas
  • graph-shortest-paths - Localiza caminhos ideais entre entidades, ajudando a priorizar conexões e identificar relações críticas
  • graph-to-table – Converte os resultados da análise de grafo em formato tabular para integração com sistemas existentes

Recursos de análise avançada:

  • Análise baseada em tempo – Examine como as relações e os padrões evoluem ao longo do tempo
  • Integração geoespacial – Combinar dados de grafo com inteligência baseada em localização para análise de padrões geográficos
  • Integração de aprendizado de máquina – Aplicar algoritmos para agrupamento de entidades, classificação de padrões e detecção de anomalias

Esses recursos dão suporte a diversos casos de uso, incluindo análise de jornada do cliente, sistemas de recomendação de produto, redes de IoT, gêmeos digitais e grafos de conhecimento.

Escolhendo a abordagem certa

A árvore de decisão a seguir ajuda você a selecionar a abordagem de criação de grafo mais apropriada com base em seus requisitos e restrições específicos.

Árvore de decisão: grafos transitórios versus persistentes

Fluxograma mostrando uma árvore de decisão para quando usar grafos persistentes ou transitórios.

Quando usar grafos transitórios

Escolha grafos transitórios para:

  • Tamanho do grafo abaixo de 10 milhões de nós e bordas (para um desempenho ideal)
  • Análise de equipe única ou pequena com requisitos mínimos de colaboração
  • Investigações pontuais ou exploratórias em que os resultados imediatos são necessários
  • Análise de dados em tempo real que exige informações de estado atuais
  • Criação rápida e teste de padrões de grafo e lógica de consulta

Embora grafos transitórios possam lidar com conjuntos de dados maiores, o tempo de execução da consulta aumenta, pois o grafo deve ser reconstruído para cada consulta. Considere essa compensação de desempenho ao trabalhar com conjuntos de dados maiores.

Quando usar grafos persistentes

Escolha grafos persistentes para:

  • Tamanho do grafo que excede 10 milhões de nós e bordas em que o armazenamento distribuído é benéfico
  • Várias equipes que exigem acesso compartilhado para análise colaborativa
  • Análise repetida em conjuntos de dados estáveis em que o tempo de criação afeta a produtividade
  • Integração de fluxo de trabalho de produção que exige acesso consistente e confiável ao grafo
  • Requisitos de comparação históricos para acompanhar as alterações ao longo do tempo
  • Limitações de capacidade de memória que afetam o desempenho da consulta
  • Fluxos de trabalho de investigação colaborativa entre equipes e fusos horários

Grafos persistentes são essenciais ao trabalhar com dados de escala empresarial ou quando as limitações de memória afetam o desempenho.

Considerações sobre desempenho

Uso de memória

  • Grafos transitórios – limitados pela memória RAM de um único nó do cluster, restringindo o uso a conjuntos de dados dentro da RAM disponível
  • Grafos persistentes – Aproveitar o armazenamento distribuído e os padrões de acesso otimizados para dados de escala empresarial

Latência da consulta

  • Grafos transitórios – Incluir tempo de construção em cada consulta, com atrasos aumentando para grandes conjuntos de dados ou fontes de dados externas
  • Grafos persistentes – Eliminar a latência de construção por meio de instantâneos predefinidos, habilitando a análise rápida

Dependências de fonte de dados externas, como consultas entre clusters ou tabelas externas para SQL e CosmosDB, podem afetar significativamente o tempo transitório de construção do grafo, pois cada consulta deve aguardar respostas externas.

Atualização dos dados

  • Grafos transitórios – sempre refletem o estado de dados atual, ideal para análise em tempo real
  • Grafos persistentes – Refletir dados no momento da criação do instantâneo, fornecendo consistência para análise colaborativa, mas exigindo atualizações periódicas

Integração com o ecossistema KQL

A semântica de grafos integra-se perfeitamente às capacidades mais amplas da KQL.

  • Análise de série temporal – Acompanhar a evolução da relação ao longo do tempo
  • Funções geoespaciais – Analisar padrões baseados em localização e anomalias geográficas
  • Operadores de machine learning – detectar padrões, classificar comportamentos e identificar anomalias
  • Operadores escalares e tabulares – Habilitar transformações complexas, agregações e enriquecimento de dados

Essa integração permite fluxos de trabalho sofisticados, incluindo acompanhamento de evolução da cadeia de suprimentos, análise de distribuição de ativos geográficos, detecção de comunidade por meio de algoritmos de clustering e correlação de insights de grafo com análise de log tradicional e inteligência externa.