Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert 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 préversions de Microsoft Azure.
Les bases de données graphes offrent un moyen puissant de modéliser et d’interroger des données connectées. Contrairement aux bases de données relationnelles traditionnelles qui stockent des données dans des tables, les bases de données de graphe représentent des informations en tant que nœuds (entités) et arêtes (relations), ce qui facilite l’exploration plus flexible des connexions et des modèles complexes.
Le type de base de données de graphe le plus couramment utilisé implémente le modèle LPG ( Labeled Property Graph ) : les entités (nœuds) et les relations (arêtes) peuvent avoir des étiquettes et des propriétés (paires clé-valeur). Ce modèle flexible permet à la fois des conceptions facultatives de schéma et pilotées par des schémas, et vous permet d’exprimer une sémantique riche. Étant donné que les connexions sont stockées explicitement en tant que périphéries, les requêtes parcourent les relations en suivant des arêtes au lieu de calculer des jointures coûteuses au moment de la requête.
Important
Cet article utilise exclusivement l’exemple de jeu de données de graphe de réseau social.
Concepts fondamentaux de la base de données Graph
- Les nœuds représentent des entités telles que des personnes, des produits ou des lieux. Les nœuds peuvent avoir des étiquettes et des propriétés qui décrivent leurs attributs. Par exemple, un nœud Person peut avoir des propriétés telles que firstName, lastName et age.
- Les arêtes représentent la façon dont les entités sont connectées, par exemple FRIENDS_WITH, ACHETÉs ou LOCATED_IN. Les arêtes peuvent également porter des propriétés et des étiquettes pour encoder les métadonnées de relation.
- Les propriétés attachent des détails aux nœuds et aux arêtes (par exemple, le nom d’une personne ou la date de début d'une arête). Étant donné que les relations sont stockées explicitement en tant que bords, les requêtes naviguent dans le graphique en suivant les connexions plutôt que de les calculer au moment de la requête.
Comment fonctionne l'interrogation des relations
Les requêtes Graph récupèrent les informations connectées en passant d’un nœud de départ à ses voisins, puis à leurs voisins, et ainsi de suite. L’effort effectué par un travers est lié au nombre de bords qu’il touche (le quartier local), et non à la taille totale du jeu de données. Cela rend naturel et efficace d'exprimer des questions concernant les chemins d’accès, les connexions et les modèles, tels que les amis d’amis, les chemins les plus courts ou les dépendances à plusieurs sauts.
Les bases de données graphes utilisent des langages de requête basés sur des modèles, tels que le langage GQL (Graph Query Language) de plus en plus adopté, pour décrire ces traversées de manière concise. GQL est normalisé par le même groupe de travail international qui supervise SQL (ISO/IEC 39075), alignant l’interrogation de graphiques avec les normes de base de données établies.
Exemple (correspondance de modèle avec GQL) :
MATCH (p:Person {firstName: "Annemarie"})-[:knows]->(friend)-[:likes]->(c:Comment)
RETURN c
ORDER BY c.creationDate
LIMIT 100
Ce modèle s'interprète comme suit : à partir du nœud Personne pour Annemarie, suivez :knows les arêtes vers chaque nœud ami, puis suivez les arêtes :likes vers les nœuds associés :Comment. Retournez le 100 plus récent de ces commentaires classés par leur date de création.
Modélisation et schéma
Les modèles de données de graphe sont à schéma facultatif : vous pouvez utiliser un schéma fixe lorsque vous avez besoin d'une gouvernance forte, ou faire évoluer le modèle à mesure que de nouveaux types de nœuds, relations ou propriétés apparaissent. Cette approche réduit la nécessité d’une duplication des données et permet aux équipes d’unifier les données de plusieurs sources sans remaniement initial.
Utilisations courantes pour les bases de données de graphe
Les bases de données graphes s’alignent étroitement sur les domaines où les connexions génèrent de la valeur, tels que :
- Réseaux sociaux
- Graphiques de connaissances
- Systèmes de recommandation
- Réseaux de fraude et de risque
- Topologie réseau et informatique
- Analyse des dépendances de la chaîne d’approvisionnement
Dans ces scénarios, les questions concernent moins les enregistrements uniques et davantage le nombre d’entités qui se lient et interagissent sur plusieurs sauts.
Quand prendre en compte une base de données de graphe
Choisissez une base de données de graphe quand :
- Vos questions principales impliquent des chemins, des quartiers et des modèles dans les données connectées
- Le nombre de tronçons est variable ou non connu à l’avance
- Vous devez combiner et parcourir les relations entre des jeux de données disparates
Si vous posez régulièrement ces types de questions, un modèle de graphe est un ajustement naturel.
Graph dans Microsoft Fabric
La représentation de vos données sous la forme d’un graphe et leur stockage dans une base de données de graphe autonome distincte introduisent souvent une charge liée à l'ETL (extraction, transformation, chargement) et à la gouvernance. En revanche, Graph dans Microsoft Fabric fonctionne directement sur OneLake, ce qui réduit ou élimine le besoin de pipelines ETL distincts et de duplication de données. Tenez compte de ces compromis :
- Déplacement et duplication des données : les bases de données de graphe autonomes nécessitent généralement l’extraction, la transformation et le chargement de données dans un magasin distinct, ce qui augmente la complexité et peut entraîner des jeux de données en double. Graph dans Microsoft Fabric fonctionne sur OneLake afin de pouvoir modéliser et interroger des données connectées sans le déplacer.
- Coûts opérationnels : les piles de graphiques autonomes s’exécutent en tant que clusters ou services distincts et comportent souvent des frais de capacité inactive. Les charges de travail de graphiques dans Fabric consomment des unités de capacité mutualisées avec une réduction automatique et des métriques centralisées, ce qui simplifie les opérations et peut réduire les coûts.
- Scalabilité : certaines bases de données de graphe autonomes dépendent d’une extension verticale ou d’un regroupement spécifique au fournisseur. Graph dans Microsoft Fabric est conçu pour les graphes à grande échelle et utilise le partage horizontal sur plusieurs workers pour gérer efficacement les charges de travail big data.
- Outils et compétences : les systèmes graphiques spécifiques au fournisseur peuvent nécessiter des langages spécialisés et des infrastructures analytiques distinctes. Graph dans Microsoft Fabric fournit une modélisation unifiée, des interrogations basées sur des normes (GQL), des algorithmes d’analyse de graphes intégrés, l’intégration BI et IA et des outils d'exploration à faible code ou sans code. Ces fonctionnalités permettent à un ensemble plus large d’utilisateurs d’utiliser des données connectées.
- Gouvernance et sécurité : les déploiements de graphiques distincts nécessitent des configurations de gouvernance et de sécurité indépendantes. Graph dans Microsoft Fabric utilise la gouvernance OneLake, la traçabilité et le contrôle d'accès basé sur les rôles (RBAC) au niveau de l'espace de travail afin que la conformité, l'audit et les autorisations restent cohérents avec le reste de votre environnement Fabric.