Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
Esse recurso está atualmente em versão prévia pública. Essa versão prévia é oferecida sem um Acordo de Nível de Serviço (SLA) e não é recomendada para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Supplemental Terms of Use for Microsoft Azure Previews.
Os bancos de dados do Graph oferecem uma maneira eficiente de modelar e consultar dados conectados. Ao contrário dos bancos de dados relacionais tradicionais que armazenam dados em tabelas, os bancos de dados de grafo representam informações como nós (entidades) e bordas (relações), facilitando a exploração mais flexível de conexões e padrões complexos. Este artigo explica os principais conceitos de bancos de dados de grafo, como funcionam as consultas de grafo e descreve quando considerar o uso de um banco de dados de grafo para sua carga de trabalho. Ele também compara o Fabric Graph com implantações autônomas de bancos de dados de grafos.
O tipo mais utilizado de banco de dados de grafos implementa o modelo de grafo de propriedade rotulada (LPG): entidades (nós) e relações (arestas) podem ter rótulos e propriedades (pares chave-valor). Esse modelo flexível permite designs com esquema opcional e orientados por esquema e permite que você expresse semântica rica. Como as conexões são armazenadas explicitamente como bordas, as consultas atravessam relações seguindo bordas em vez de computar junções caras em tempo de consulta.
Importante
Este artigo utiliza exclusivamente o conjunto de dados de exemplos de grafos de redes sociais.
Conceitos principais do banco de dados do Graph
- Nódulos representam entidades como pessoas, produtos ou locais. Os nós podem ter rótulos e propriedades que descrevem seus atributos. Por exemplo, um nó Person pode ter propriedades como firstName, lastName e age.
- As bordas representam como as entidades estão conectadas, por exemplo, FRIENDS_WITH, PURCHASED ou LOCATED_IN. As bordas também podem carregar propriedades e rótulos para codificar metadados de relacionamento.
- As propriedades anexam detalhes a nós e bordas (por exemplo, o nome de uma pessoa ou uma borda desde a data). Como as relações são armazenadas explicitamente como bordas, as consultas navegam no grafo seguindo conexões em vez de computá-las no momento da consulta.
Como funciona a consulta de relacionamentos
As consultas de grafo recuperam informações conectadas percorrendo a partir de um nó inicial até seus vizinhos e, em seguida, até os vizinhos deles, e assim por diante. O esforço realizado por uma passagem está vinculado ao número de bordas que ele toca (o bairro local), não ao tamanho total do conjunto de dados. Essa característica torna perguntas sobre caminhos, conexões e padrões, como amigos de amigos, caminhos mais curtos ou dependências de vários saltos, naturais e eficientes de serem expressas.
Os bancos de dados do Graph usam linguagens de consulta baseadas em padrões, como a GQL (Linguagem de Consulta graph) cada vez mais adotada, para descrever essas travessias de forma concisa. O mesmo grupo de trabalho internacional que supervisiona o SQL (ISO/IEC 39075) está padronizando a GQL, que alinha a consulta de grafo com padrões de banco de dados estabelecidos.
Exemplo (correspondência de padrões com GQL):
MATCH (p:Person {firstName: "Annemarie"})-[:knows]->(friend)-[:likes]->(c:Comment)
RETURN c
ORDER BY c.creationDate
LIMIT 100
Esse padrão é lido como: começando no nó Pessoa para Annemarie, siga :knows as bordas de cada nó amigo e siga :likes as bordas dos nós relacionados :Comment . Retorne os 100 comentários mais recentes ordenados pela data de criação.
Modelagem e esquema
Os modelos de dados do Graph têm esquema opcional: você pode trabalhar com um esquema fixo quando necessitar de uma governança forte. Alternativamente, é possível evoluir o modelo à medida que novos tipos de nó, relacionamentos ou propriedades surgirem. Essa abordagem reduz a necessidade de duplicação de dados e permite que as equipes unifiquem dados de várias fontes sem uma reformulação inicial pesada.
Usos comuns para bancos de dados de grafo
Os bancos de dados do Graph se alinham de perto com domínios em que as conexões geram valor, como:
- Redes Sociais
- Gráficos de conhecimento
- Sistemas de recomendação
- Redes de fraude e risco
- Topologia de rede e TI
- Análise de dependência da cadeia de suprimentos
Nesses cenários, as perguntas são menos sobre registros únicos e mais sobre quantas entidades se relacionam e interagem em vários saltos.
Quando considerar um banco de dados de grafo
Escolha um banco de dados de grafo quando:
- Suas principais perguntas envolvem caminhos, bairros e padrões em dados conectados.
- O número de saltos é variável ou não é conhecido com antecedência.
- Você precisa combinar e navegar relações entre conjuntos de dados diferentes.
Se você faz esses tipos de perguntas regularmente, um modelo de gráfico será uma escolha natural.
Como o Fabric Graph se compara a bancos de dados de grafo autônomos
Representar seus dados como um grafo e armazená-los em um banco de dados de grafo autônomo separado geralmente introduz ETL (extrair, transformar, carregar) e sobrecarga de governança. Por outro lado, o Graph opera diretamente no OneLake, o que reduz ou elimina a necessidade de pipelines ETL separados e duplicação de dados. Considere estas compensações:
- Movimentação e duplicação de dados: os bancos de dados de grafo autônomos normalmente exigem extrair, transformar e carregar dados em um repositório separado, o que aumenta a complexidade e pode levar a conjuntos de dados duplicados. O Graph opera no OneLake para que você possa modelar e consultar dados conectados sem movê-los.
- Custos operacionais: As pilhas de grafos autônomas são executadas como clusters ou serviços separados e geralmente acarretam encargos de capacidade ociosa. As cargas de trabalho no Graph consomem unidades de capacidade em pool (CUs) com redução automática e métricas centralizadas, o que simplifica as operações e pode reduzir os custos.
- Escalabilidade: alguns bancos de dados de grafo autônomos dependem de expansão ou clustering específico do fornecedor. O Graph foi projetado para grafos em larga escala e usa fragmentação horizontal entre vários trabalhadores para lidar com cargas de trabalho de Big Data com eficiência.
- Ferramentas e habilidades: sistemas de grafo específicos do fornecedor podem exigir linguagens especializadas e estruturas de análise separadas. O Graph fornece modelagem unificada, GQL (consulta baseada em padrões), algoritmos internos de análise de grafo, integração de BI e IA e ferramentas exploratórias de baixo/sem código. Esses recursos permitem que um conjunto mais amplo de usuários trabalhe com dados conectados.
- Governança e segurança: implantações de grafo separadas precisam de configurações independentes de governança e segurança. O Graph usa a governança, a linhagem e o RBAC (controle de acesso baseado em função) do OneLake para que a conformidade, a auditoria e as permissões permaneçam consistentes com o restante do ambiente do Fabric.