Compartilhar via


Visão geral de grafos persistentes (versão prévia)

Aplica-se a: ✅Microsoft FabricAzure Data Explorer

Observação

Esse recurso está atualmente em versão prévia pública. A funcionalidade e a sintaxe estão sujeitas a alterações antes da Disponibilidade Geral.

Os grafos persistentes permitem armazenar, gerenciar e consultar estruturas de dados de grafo em escala. Ao contrário dos grafos transitórios criados com o operador make-graph , os grafos persistentes são objetos de banco de dados duráveis que persistem além das execuções de consulta individuais, fornecendo recursos de análise de grafo de nível empresarial.

Visão geral

Os grafos persistentes consistem em dois componentes primários:

Essa arquitetura fornece flexibilidade na definição de esquemas de grafo e eficiência na consulta de dados de grafo em escala.

Principais benefícios

Grafos persistentes oferecem vantagens significativas para análise de grafo em escala empresarial:

  • Armazenamento durável: os modelos e instantâneos do Graph persistem nos metadados do banco de dados para disponibilidade de longo prazo
  • Escalabilidade: manipular grafos grandes que excedem as limitações de memória de nó único
  • Reutilização: vários usuários e aplicativos podem consultar a mesma estrutura de grafo sem reconstrução
  • Otimização de desempenho: eliminar a sobrecarga de construção do grafo para consultas repetidas
  • Suporte a esquema: definições estruturadas para diferentes tipos de nó e borda com suas propriedades
  • Controle de versão: vários instantâneos permitem a representação de grafos em diferentes pontos no tempo

Modelos do Graph

Um modelo de grafo define as especificações de um grafo armazenado nos metadados do banco de dados. Ele inclui:

  • Definição de esquema: tipos de nó e borda com suas propriedades
  • Mapeamentos de fonte de dados: instruções para criar o grafo a partir de dados tabulares
  • Rótulos: rótulos estáticos (predefinidos) e dinâmicos (gerados em runtime) para nós e bordas

Os modelos de grafo contêm o blueprint para criar instantâneos de grafo, não os dados reais do grafo.

Gerenciando modelos de grafo

Os comandos a seguir estão disponíveis para gerenciar modelos de grafo:

Comando Descrição
.create-or-alter graph_model Cria um novo modelo de grafo ou altera um existente
.show graph_model Exibe detalhes de um modelo de grafo específico
.show graph_models Lista todos os modelos de grafo no banco de dados
.drop graph_model Remove um modelo de grafo

Instantâneos de grafo

Um instantâneo de grafo é a instância real do grafo materializada de um modelo de grafo. Ele representa:

  • Uma exibição pontual específica dos dados, conforme definido pelo modelo
  • Os nós, as bordas e suas propriedades em um formato que pode ser consultado
  • Uma entidade autocontida que persiste até ser removida explicitamente

Instantâneos são as entidades que você consulta ao trabalhar com grafos persistentes.

Gerenciando instantâneos de grafo

Os comandos a seguir estão disponíveis para gerenciar instantâneos de grafo:

Comando Descrição
.make graph_snapshot Cria um novo instantâneo de grafo de um modelo de grafo
.show graph_snapshot Exibe detalhes de um instantâneo de grafo específico
.show graph_snapshots Lista todos os instantâneos de grafo no banco de dados
.drop graph_snapshot Remove um único instantâneo de grafo
.drop graph_snapshots Remove vários instantâneos de grafo com base em critérios

Fluxo de Trabalho

O fluxo de trabalho típico para criar e usar grafos persistentes segue estas etapas:

  1. Criar um modelo de grafo – Definir a estrutura e as fontes de dados para o grafo
  2. Criar um instantâneo de grafo – Materializar o modelo de grafo em um instantâneo que pode ser consultado
  3. Consultar o instantâneo do grafo – Usar operadores de grafo KQL para analisar os dados do grafo
  4. Gerenciar o ciclo de vida – Criar novos instantâneos conforme necessário e descartar os antigos

Consultando grafos persistentes

Depois que um instantâneo de grafo é criado, ele pode ser consultado usando a graph função seguida por outros operadores de grafo KQL:

graph("MyGraphModel")
| graph-match (n)-[e]->(m)
    project n, e, m

Para consultar um instantâneo específico, forneça o nome do instantâneo:

graph("MyGraphModel", "MyGraphSnapshot")
| graph-match (n)-[e]->(m)
    project n, e, m

O graph-match operador habilita a correspondência de padrões e operações de passagem, ao mesmo tempo graph-shortest-paths que ajuda a encontrar conexões ideais entre entidades. O graph-to-table operador converte os resultados do grafo de volta em formato tabular.

Principais considerações

Esta seção descreve as principais considerações e limitações atuais de modelos de grafo e instantâneos.

Limitações de instantâneo

Os grafos persistentes têm as seguintes limitações:

  • Limite de banco de dados regular: máximo de 5.000 instantâneos de grafo por banco de dados
  • Limite de cluster virtual gratuito: máximo de 500 instantâneos de grafo por banco de dados
  • Tempo de criação do instantâneo: limitado a 1 hora

Próximas etapas