Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Annotazioni
Questa funzionalità è attualmente disponibile in anteprima pubblica. Questa anteprima viene messa a disposizione senza contratto di servizio e non è consigliata per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate. Per altre informazioni, vedere Termini aggiuntivi per l'uso delle versioni preliminari di Microsoft Azure.
Un database a grafo archivia ed esegue query su dati come rete di nodi (entità) e archi (relazioni). Questo approccio è diverso dal formato tabelle e righe dei database relazionali. I database a grafo eccelleno nella modellazione e nell'analisi dei dati altamente connessi, ad esempio social network, grafici delle conoscenze, sistemi di raccomandazione e rilevamento delle frodi.
Questo articolo confronta i database a grafo e i database relazionali. Evidenzia le differenze principali, i casi d'uso e i vantaggi dell'analisi. Usare queste informazioni per decidere se usare il grafico in Microsoft Fabric o un database relazionale per esigenze specifiche.
Differenze principali tra i database a grafo e relazionali
- Database a grafo: Organizzare i dati come nodi e archi, archiviando le relazioni in modo esplicito. L'attraversamento delle connessioni è efficiente e spesso indipendente dalla dimensione totale del set di dati.
- Database relazionali: Organizzare i dati in tabelle con righe e colonne. Usare le operazioni JOIN per dedurre relazioni in fase di query. Per i dati altamente connessi, queste operazioni possono diventare complesse e lente.
Esecuzione di query sulle relazioni: join e attraversamenti
Query di database relazionali: Le chiavi esterne collegano i dati in tabelle diverse. Per recuperare i dati correlati, i database relazionali usano operazioni JOIN per combinare righe da più tabelle. Per le relazioni semplici, le reti JOIN funzionano correttamente. Tuttavia, per le connessioni profonde o a lunghezza variabile, possono diventare costose e complesse.
Query di database a grafo: Archiviare le relazioni come bordi, in modo da poter attraversare direttamente da un nodo a un altro. Le query graph possono spostarsi in modo efficiente tra più hop e modelli complessi. I linguaggi di query per grafi come il Graph Query Language (GQL) semplificano l'espressione di attraversamenti e corrispondenze di pattern.
Esempio:
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';
Annotazioni
GQL è un linguaggio di query standardizzato ISO per i database a grafo. È progettato per eseguire query e manipolare in modo efficiente i dati strutturati a grafo. Lo stesso gruppo di lavoro internazionale che supervisiona SQL lo sta sviluppando.
Implicazioni delle prestazioni su database relazionali e grafici
I database a grafo possono superare le prestazioni dei database relazionali per le query che coinvolgono molti archi o profondità sconosciute, in particolare per l'analisi dei collegamenti diretti o le query ricorsive. I database relazionali eccelleno in operazioni e aggregazioni orientate ai set a causa di decenni di ottimizzazione. Nel grafico di Microsoft Fabric, il motore di query è ottimizzato per l'attraversamento e la corrispondenza di modelli nei grafici su larga scala archiviati in OneLake.
Considerazioni sulla scalabilità per i database a grafo e relazionali
- Database relazionali: In genere è possibile ridimensionare verticalmente (macchine più grandi) e ridimensionare orizzontalmente attraverso il partizionamento orizzontale e la replica. Lo sharding di schemi altamente connessi è complesso e può causare un sovraccarico tra reti.
- Database a grafo: Ridimensionare verticalmente e orizzontalmente. I database a grafo distribuiti partizionano i grafi attraverso macchine, mirando a mantenere insieme i nodi connessi per traversal efficienti.
Quando usare un database a grafo o un database relazionale
Usare un database a grafo se:
- I dati sono altamente connessi e ricchi di relazioni (social network, grafi della conoscenza e raccomandazioni).
- È necessario attraversare un numero sconosciuto o variabile di hop.
- Lo schema è in continua evoluzione o semistrutturato.
- Si vuole una modellazione intuitiva per i domini in cui le relazioni sono centrali.
Usare un database relazionale se:
- I dati sono principalmente tabulari o si adattano a una struttura ben definita.
- Le tue query comportano aggregazioni pesanti o operazioni su set di grandi dimensioni.
- Gli strumenti o le competenze esistenti sono allineati a SQL.
Approcci ibridi con database a grafo e relazionali
Molti progetti usano entrambi i tipi di database: un database relazionale per i dati transazionali principali e un database a grafo per funzionalità specializzate di analisi o analisi di rete. In Microsoft Fabric è possibile combinare il grafo con altri archivi dati nella stessa area di lavoro, offrendo funzionalità relazionali e grafo senza spostare dati tra sistemi separati.
Contenuti correlati
- Reti Microsoft Fabric gratuitamente
- Esercitazioni end-to-end in Microsoft Fabric