SQL falha em 3+ saltos. GraphDBs não usam. Imagine encontrar todas as contas a até 3 saltos de uma transação suspeita. Ou vincular registros fragmentados de clientes entre sistemas por e-mails e números de telefone compartilhados. Essas são consultas de percurso de grafos. SQL pode lidar com relacionamentos, mas não profundidade. Claro, você pode escrever CTEs recursivas e auto-joins. Isso funciona em 1-2 saltos. Mas se for mais fundo, duas coisas acontecem: - A consulta se torna ilegível - E os tanques de desempenho Cada salto adiciona mais uma auto-união. No salto 5-6, você está vendo consultas que duram minutos e se desfazem sob carga. A mesma consulta no Cypher: MATCH (t:Transaction {id: 'TXN-001'})-[:ENVOLVE*1.. 3]-(a:Conta) DEVOLVER a.name DISTINTO, UM TELEFONE 3 linhas. Soa como a pergunta que você está fazendo. Escala em qualquer profundidade. É para isso que os bancos de dados de grafos são construídos. FalkorDB é um que vale a pena conhecer. É open-source. E adota uma abordagem arquitetônica diferente da maioria dos bancos de dados de grafos. A maioria dos bancos de dados de grafos persegue ponteiros de nó em nó durante a travessia. FalkorDB não faz isso. Ele é construído sobre o GraphBLAS, um framework de álgebra linear que representa operações de grafo como cálculos de matrizes esparsas. Cada salto torna-se uma operação matricial otimizada. O resultado: - Melhor comportamento do cache - Computação paralela entre saltos...