Que sont les bases NoSQL orientées graphes et à quoi servent-elles ?
Le marché du Big Data regorge de solutions permettant de stocker et de manipuler de fortes volumétries de données. On y retrouve notamment les solutions dites de NoSQL (lien vers l’article), qui sont parmi celles les plus populaires.
Sont regroupées dans cette catégorie “NoSQL”, de nombreuses bases qui ont été spécialisées sur des cas d’usage très spécifiques, que les bases relationnelles ne peuvent pas (ou difficilement) traiter.
Nous allons, dans cet article, nous focaliser sur un des quatre types de bases NoSQL que sont les bases orientées graphe.
Qu’est ce qu’une base NoSQL orientée graphe ?
Ces bases ont pour objectif de stocker les données en se basant sur la théorie des graphes. Elles s’appuient sur les notions de :
- noeuds qui ont chacun leur propre structure
- relations entre les noeuds
- propriétés (de noeuds ou de relations)
Ce modèle de stockage facilite la représentation du monde réel, ce qui le rend particulièrement bien adapté au traitement des données des réseaux sociaux et géographiques par exemple, et de toutes les données fortement connectées de manière générale.
Quelles différences avec un SGBDR?
Pour récupérer les relations entre les éléments, de nombreuses jointures entre différentes tables sont nécessaires dans une base relationnelle, ce qui complexifie les requêtes à mettre en place et augmente nettement les temps de calculs comparé à une base Nosql graphe.
Quelles sont leurs forces ?
- Adaptées aux objets complexes organisés en réseaux, aux données présentants des dépendances fortes
- Permettent d’appliquer les algorithmes de théorie des graphes et la mise en place de visualisation de graphes nativement
- Beaucoup plus rapides que les autres systèmes de stockage pour manipuler les données fortement connectées
Quelles sont leurs Faiblesses ?
- Non adaptées pour tous les autres contextes que celui des “données fortement connectées”
Pourquoi une base NoSQL orientée graphe ?
Les notions de relation et d’actions entre éléments sont de plus en plus présentes dans notre monde d’aujourd’hui. C’est pourquoi ce type de bases est beaucoup utilisé dans les cas suivants :
- Modélisation des données provenant des réseaux sociaux (Twitter, Facebook…)
- Moteur de recommandation (vous êtes sûrement intéressés par tel ou tel objet car beaucoup de vos amis et des amis de vos amis le sont aussi)
- Détection de la fraude organisée (détection de réseaux de fraude)
- Catalogue de produits
- Données géo spatiales (réseaux ferrés etc..)
- Web sémantique
- Biologie
- etc.
Quelques bases NoSQL graphes
Pour aller plus loin
Si vous voulez en savoir un peu plus sur l’analyse de graphe et même tester Neo4J ce MOOC https://www.coursera.org/learn/big-data-graph-analytics va vous intéresser !!
Article écrit par Anne-Sophie LAUGIER et Louis-Baptiste FRANCE