Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Note
Cette fonctionnalité est actuellement disponible en préversion publique. Cette préversion est fournie sans contrat de niveau de service, et n’est pas recommandée pour les charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions d'utilisation supplémentaires pour les aperçus Microsoft Azure.
Cet article compare les bases de données de graphe et les bases de données relationnelles. Il met en évidence les principales différences, les cas d’usage et les avantages de l’analytique. Utilisez ces informations pour décider s’il faut utiliser un graphique dans Microsoft Fabric ou une base de données relationnelle pour vos besoins spécifiques.
Une base de données de graphe stocke et interroge les données en tant que réseau de nœuds (entités) et de bords (relations). Cette approche diffère fondamentalement du format tables et lignes des bases de données relationnelles. Les bases de données de graphe fonctionnent bien pour la modélisation et l’analyse des données hautement connectées, telles que les réseaux sociaux, les graphiques de connaissances, les systèmes de recommandation et la détection des fraudes.
Différences principales
- Bases de données graphes : Organisez les données en tant que nœuds et arêtes, stockant explicitement les relations. La traversée des connexions est efficace et souvent indépendante de la taille totale du jeu de données.
- Bases de données relationnelles : Organisez les données dans des tables avec des lignes et des colonnes. Utilisez les opérations JOIN pour déduire les relations au moment de la requête. Pour les données hautement connectées, ces opérations peuvent devenir complexes et lentes.
Interrogation des relations : jointures et traversées
Requêtes de base de données relationnelles : Les clés étrangères lient les données dans différentes tables. Pour récupérer des données associées, les bases de données relationnelles utilisent des opérations JOIN pour combiner des lignes de plusieurs tables. Cette méthode fonctionne bien pour les relations simples, mais peut devenir coûteuse et complexe pour les connexions profondes ou de longueur variable.
Requêtes de base de données Graph : Stockez les relations en tant que arêtes. Vous pouvez donc passer directement d’un nœud à un autre. Les requêtes de graphes peuvent parcourir efficacement plusieurs sauts et des modèles complexes. Les langages de requête graphes comme GQL facilitent l’expression des traversées et des correspondances de modèles.
Exemple :
GQL :
MATCH (p:Person)-[:friendsWith]->(friend)-[:purchased]->(o:Order)
WHERE p.name = 'Alice';
RETURN o
SQL (équivalent) :
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';
Note
GQL est un langage de requête normalisé ISO pour les bases de données de graphe. Il est conçu pour interroger et manipuler efficacement des données structurées par graphique. Le même groupe de travail international qui supervise SQL le développe.
Impact sur les performances
Les bases de données graphes peuvent surperformer les systèmes relationnels pour les requêtes qui impliquent de nombreuses arêtes ou profondeurs inconnues, en particulier pour l’analytique de lien profond ou les requêtes récursives. Les bases de données relationnelles excellent dans les opérations et agrégations orientées vers les ensembles grâce à des décennies d'optimisation.
Mise à l'échelle - Éléments à prendre en compte
- Bases de données relationnelles : En règle générale, sont généralement mises à l'échelle verticalement (grandes machines) et peuvent être mises à l'échelle horizontalement via le partitionnement et la réplication. Le partitionnement de schémas hautement connectés est complexe et peut entraîner une surcharge entre réseaux.
- Bases de données graphes : Effectuez une mise à l’échelle verticalement et horizontalement. Les bases de données de graphes distribuées partitionnent les graphes sur plusieurs machines, avec pour objectif de maintenir les nœuds associés ensemble pour des parcours efficaces.
Quand utiliser les différents services
Utilisez une base de données de graphe si :
- Vos données sont hautement connectées et gourmandes en relations (réseaux sociaux, graphiques de connaissances, recommandations).
- Vous devez parcourir un nombre inconnu ou variable de tronçons.
- Le schéma évolue ou est semi-structuré.
- Vous souhaitez une modélisation intuitive pour les domaines où les relations sont centrales.
Utilisez une base de données relationnelle si :
- Vos données sont principalement tabulaires ou correspondent à une structure bien définie.
- Vos requêtes impliquent des agrégations lourdes ou des opérations sur de grands ensembles.
- Vous disposez d’outils ou d’expertises existants alignés sur SQL.
Approches hybrides
De nombreux projets utilisent les deux types de bases de données : une base de données relationnelle pour les données transactionnelles principales et une base de données de graphe pour les fonctionnalités d’analyse spécialisée ou d’analyse réseau.
Contenu connexe
- Try Microsoft Fabric gratuitement
- Tutoriels de bout en bout dans Microsoft Fabric