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.
Este artigo compara bancos de dados de grafo e bancos de dados relacionais. Ele destaca as principais diferenças, casos de uso e vantagens na análise. Use essas informações para decidir se deseja usar o graph no Microsoft Fabric ou um banco de dados relacional para suas necessidades específicas.
Um banco de dados de grafo armazena e consulta dados como uma rede de nós (entidades) e bordas (relações). Essa abordagem o torna fundamentalmente diferente do formato de tabelas e linhas de bancos de dados relacionais. Os bancos de dados do Graph funcionam bem para modelagem e análise de dados altamente conectados, como redes sociais, grafos de conhecimento, sistemas de recomendação e detecção de fraudes.
Principais diferenças
- Bancos de dados do Graph: Organize dados como nós e bordas, armazenando relações explicitamente. A navegação por conexões é eficiente e geralmente independe do tamanho total do conjunto de dados.
- Bancos de dados relacionais: Organize dados em tabelas com linhas e colunas. Use operações JOIN para inferir relações no momento da consulta. Para dados altamente conectados, essas operações podem se tornar complexas e lentas.
Consultando relações: junções versus percursos
Consultas de banco de dados relacional: Chaves estrangeiras vinculam dados em tabelas diferentes. Para recuperar dados relacionados, os bancos de dados relacionais usam operações JOIN para combinar linhas de várias tabelas. Esse método funciona bem para relações simples, mas pode se tornar caro e complexo para conexões profundas ou de comprimento variável.
Consultas de banco de dados do Graph: Armazene relações como bordas, para que você possa atravessar diretamente de um nó para outro. As consultas de grafo podem navegar com eficiência em vários saltos e padrões complexos. Linguagens de consulta de grafos como GQL facilitam a realização de percursos e a correspondência de padrões.
Example:
GQL:
MATCH (p:Person)-[:friendsWith]->(friend)-[:purchased]->(o:Order)
WHERE p.name = 'Alice';
RETURN o
SQL (equivalente):
SELECT o.*
FROM Person AS p
JOIN Friends_With AS fw ON p.id = fw.person_id
JOIN Person AS friend ON fw.friend_id = friend.id
JOIN Purchased AS pur ON friend.id = pur.person_id
JOIN "Order" AS o ON pur.order_id = o.id
WHERE p.name = 'Alice';
Observação
GQL é uma linguagem de consulta padronizada por ISO para bancos de dados de grafo. Ele foi projetado para consulta e manipulação eficientes de dados estruturados em grafo. O mesmo grupo de trabalho internacional que supervisiona o SQL está desenvolvendo-o.
Implicações de desempenho
Os bancos de dados do Graph podem superar os sistemas relacionais para consultas que envolvem muitas bordas ou profundidades desconhecidas, especialmente para análise de vínculo profundo ou consultas recursivas. Os bancos de dados relacionais se destacam em operações e agregações orientadas a conjuntos devido a décadas de otimização.
Considerações de dimensionamento
- Bancos de dados relacionais: Normalmente, tendem a escalar verticalmente (em máquinas maiores) e podem ser escalados horizontalmente por meio de fragmentação e replicação. A fragmentação de esquemas altamente conectados é complexa e pode causar sobrecarga entre redes.
- Bancos de dados do Graph: Dimensione vertical e horizontalmente. Bancos de dados de grafo distribuídos particionam grafos entre máquinas, com o objetivo de manter nós relacionados juntos para percursos eficientes.
Quando usar cada um deles
Utilize um banco de dados de grafo se:
- Seus dados são altamente conectados e possuem muitos relacionamentos (redes sociais, grafos de conhecimento, recomendações).
- Você precisa percorrer um número desconhecido ou variável de saltos.
- O esquema está evoluindo ou semiestruturado.
- Você deseja modelagem intuitiva para domínios em que as relações são centrais.
Use um banco de dados relacional se:
- Seus dados são principalmente tabulares ou se ajustam a uma estrutura bem definida.
- Suas consultas envolvem agregações pesadas ou operações com grandes conjuntos.
- Você tem ferramentas ou conhecimentos existentes alinhados com o SQL.
Abordagens híbridas
Muitos projetos usam ambos os tipos de bancos de dados: um banco de dados relacional para dados transacionais principais e um banco de dados de grafo para recursos especializados de análise ou análise de rede.
Conteúdo relacionado
- Experimente o Microsoft Fabric gratuitamente
- tutoriais completos no Microsoft Fabric