Base de données de graphes
Une base de données de graphes (GD B ) est une base de données qui utilise des structures de graphes pour les requêtes sémantiques avec des nœuds, des arêtes et des propriétés pour représenter et stocker des données.
Un concept clé du système est le graphique (ou bord de la relation). Le graphique relie les éléments de données de la banque à un ensemble de nœuds et d’arêtes, ces arêtes représentant les relations entre les nœuds. Les relations permettent aux données du magasin d’être reliées directement entre elles et, dans de nombreux cas, d’être retracées en une seule opération. Les bases de données graphiques ont pour priorité les relations entre les données.
L'interrogation des relations dans une base de données de graphes est rapide car les y sont stockés en permanence dans la base de données elle-même. Les relations peuvent être visualisées intuitivement à l’aide de bases de données graphiques, ce qui les rend utiles pour les données fortement interconnectées.
Les Bases de données graphiques font partie des N Osql des bases de données créées pour répondre aux limites des existantes des bases de données relationnelles. Alors que le modèle de graphique énonce explicitement les dépendances entre les nœuds de données, le modèle relationnel et les autres modèles de base de données NoSQL relient les données par des connexions implicites.
Les bases de données graphiques, par conception, permettent la récupération simple et rapide des structures hiérarchiques complexes qui sont difficiles à modéliser dans les systèmes relationnels. Les bases de données de graphes sont similaires aux bases de données de modèle de réseau des années 1970 en ce sens qu'elles représentent des graphes généraux, mais les bases de données de modèle de réseau fonctionnent à un niveau d'abstraction inférieur et manquent de traversée facile sur une chaîne d'arêtes.
Le mécanisme de stockage sous- jacent des bases de données graphiques peut varier. Certaines dépendent d'un moteur relationnel et «stockent» les données de graphes dans une table (bien qu'une table soit un élément logique, cette approche impose donc un autre niveau d'abstraction entre la base de données de graphes, le système de gestion de bases de graphes et les périphériques physiques où les données sont effectivement stockées). D'autres utilisent un magasin clé-valeur ou une base de données orientée document pour le stockage, ce qui les rend intrinsèquement des structures NoSQL.
La plupart bases de données graphiques basées sur des moteurs de stockage non relationnels ajoutent également le concept de balises ou propriétés, qui sont essentiellement des relations ayant un pointeur sur un autre document. Cela permet de catégoriser les éléments de données afin de les récupérer facilement en masse.
La récupération de données à partir d'une base de données de graphes nécessite un langage de requête autre que SQL, conçu pour la manipulation de données dans un système relationnel. Il ne peut donc pas gérer de manière «élégante» le parcours d'un graphe. Depuis 2017, aucun langage de requête de graphe n'a été universellement adopté de la même manière que SQL pour les bases de données relationnelles. Il existe une grande variété de systèmes, le plus souvent étroitement liés à un produit. Des efforts de normalisation ont donc été déployés, qui ont abouti à des langages de requête multifournisseurs tels que Gremlin, SPARQL et Cypher. En plus d'avoir des interfaces en langage de requête, certaines bases de données graphiques sont accessibles via des interfaces de programmation d'application (API).
Les bases de données graphiques diffèrent des moteurs de calcul graphique. Les bases de données graphiques sont des technologies qui traduisent les bases de données relationnelles OLTP. D'autre part, les moteurs de calcul graphique sont utilisés dans OLAP pour l'analyse en bloc. Les bases de données graphiques ont attiré une attention considérable dans les années 2000, en raison du succès rencontré par les grandes entreprises technologiques dans l'utilisation de bases de données graphes commerciales, et de l'introduction de bases de données graphiques open source.