Neo4J, une base de données graphe pour exploiter des données hétérogènes
Neo4j est une plateforme qui permet de modéliser des données sous forme de graphe. Comme tout système de base de données, elle permet de stocker et de requêter des données. Sa singularité vient de la représentation sous forme de graphe qui permet de modéliser des données extrêmement variées, avec des entités et des relations entre entités. La nature de la représentation graphe permet des requêtes optimisées pour le parcours de relations.
L’expertise de l’agence Kernix sur Neo4J
Kernix est partenaire Neo4J depuis de nombreuses années et a contribué à son adoption grâce à la publication de livres techniques.
Notre agence utilise Neo4J en production pour :
- La modélisation de données complexes :
Tout ensemble de données peut se représenter par des entités et des relations entre entités, où chaque entité ou relation est caractérisée par des propriétés. La simplicité de ce modèle et son universalité le rendent puissant pour la modélisation. Neo4J nous a par exemple permis d’accompagner Deolan à modéliser les interactions entre les nombreux sous-traitants dans le domaine du transport aérien. La mise en place d’un schéma de données évolutif et une visualisation claire sont les principaux atouts de Neo4J dans ce contexte. Cela facilite l’analyse exploratoire en amont de phases d’exploitation. Par exemple, notre modélisation des données du réseau et de circulation de la SNCF ont permis d’améliorer la maintenance prédictive. - Des systèmes de recommandation :
La multiplicité des données utiles pour créer des systèmes de recommandation pertinents nécessite une modélisation adaptée. Les possibilités d’analyse exploratoire et de visualisation des données contribuent à la conception de systèmes de recommandation sur mesure. En particulier, l’ajout de contraintes et règles métiers est facilité. Parmi les nombreux systèmes de recommandation que nous avons réalisés, la recommandation d’articles scientifiques pour Servier, les recommandations du site WeLoveCinema de BNP Paribas, ou encore notre recommandation pour Konbini ont été réalisées avec Neo4J. - La détection de communautés et d’influenceurs :
Les réseaux sociaux se prêtent naturellement à la modélisation sous forme de graphe : les utilisateurs et les posts sont des entités qui sont connectées par différents types de relations (partages, likes, etc.). Les applications facilitées par Neo4J sont nombreuses dans ce domaine là. Par exemple, la cartographie des usages culinaires sur les réseaux sociaux pour le Groupe SEB repose sur la modélisation et l’exécution d’algorithmes adaptés aux graphes. Des analyses de réseaux sociaux via la détection de communautés et d’influenceurs sont présentées sur notre blog. - L’optimisation de parcours :
Le parcours de relations est un des avantages majeurs des bases de données graphes. Dans la plateforme Neo4J, les données sont physiquement disposées (sur le disque dur) de manière à ce qu’accéder à une autre entité via une relation soit extrêmement rapide. Les algorithmes de parcours de graphe exploitent cette propriété et permettent ainsi de calculer les chemins les plus courts entre deux entités. L’optimisation des services de transport de colis de La Poste est l’exemple le plus caractéristique. - La détection d’anomalies :
Agréger des données au sein d’une même base de données graphe permet de parcourir des relations et d’identifier des motifs récurrents, mais aussi des motifs anormaux. À l’instar des révélations liées aux Panama Papers avec Neo4J, nous avons détecté des fraudes et des anomalies pour Colas. La détection d’anomalies s’opère par la visualisation interactive des données ou bien par l’utilisation d’algorithmes spécifiques.
Pour mener à bien certains projets et exploiter les avantages de Neo4J avec les avantages d’autres bases de données, Kernix a développé un système de persistance polyglotte synchronisant efficacement les données de MongoDB et de Neo4J.
Pourquoi utiliser Neo4J ?
Utiliser Neo4J, c’est tout d’abord modéliser les données sous forme de graphe (entités et relations). Cette approche permet de raisonner efficacement et de penser en termes de liens et d’interactions entre entités. Une telle modélisation facilite la conception d’algorithmes exploitant les données.
Neo4J est aussi une base de données transactionnelle garantissant les propriétés ACID. Pour passer à l’échelle avec un déploiement sur un cluster, Neo4J utilise un modèle de cohérence causal.
La principale force de Neo4J est l’implémentation d’algorithmes de parcours de graphes efficaces. Pour cela, Neo4J enregistre pour chaque entité des pointeurs vers les entités adjacentes afin de garantir un temps d’exécution optimal sans l’utilisation d’index ou de jointures coûteuses caractéristiques des bases de données relationnelles.
Neo4J est aussi une technologie open source, gratuite et pérenne qui s’intègre facilement dans tout type de système d’information.
Créer votre projet sous Neo4J avec Kernix
Créer votre projet utilisant Neo4J avec Kernix, c’est la garantie d’une expertise technique et opérationnelle pour le mener à bien. Si vous pensez que Neo4J peut correspondre à votre projet ou voulez un avis, n’hésitez pas à nous contacter. Nos data scientists & engineers, devOps et développeurs seront là pour tirer le meilleur parti de vos données. Nos équipes design et frontend sauront aussi les mettre en valeur pour une expérience utilisateur réussie.
Créer votre projet sous Neo4J
-
We Love
Cinemaby BNP Paribas - Site web et moteur de recommandationDécouvrir la réalisation -
SNCF Réseau
Maintenance prédictive du réseauDécouvrir la réalisation -
Servier
Automatisation de traitement des logs de robotsDécouvrir la réalisation -
Colas
Détection de fraude et d’anomalieDécouvrir la réalisation -
La Poste
Application grapheDécouvrir la réalisation -
Deolan
Modélisation réseaux de sous-traitantsDécouvrir la réalisation -
Konbini
Recommandation d’articles contextuelsDécouvrir la réalisation