TOOLinux

Le journal du Libre

Glowbl transforme ses données en graphes avec neo4j

mardi 14 avril 2015

Dès le démarrage en 2011, le modèle même de Glowbl tenait dans une représentation par des graphes de ses utilisateurs. Or utiliser une base SQL pour représenter et parcourir des graphes relève de l’impossible, et d’autant plus quand il s’agit d’exposer des requêtes complexes. Il est alors très vite apparu la nécessité de s’équiper d’une base de données de graphes, car cela permettait une actualisation en temps réel de la base utilisateurs et offrait des capacités de requêtes sans limite avec des temps de réponses très court.

Mathieu Labey, PDG et fondateur de Glowbl analyse : « Le monde est fait de graphes. Et l’informatique se compose de listes. Neo4j, dans sa conception autour des graphes, permet d’apporter de la réalité dans le monde de l’informatique, sinon, une solution comme la nôtre ne pourrait pas exister »

Une fois la décision de s’équiper de ce type de base prise, il fallait trouver la base idoine. Or, parmi les solutions du marché, Glowbl a estimé que la solution open source Neo4j était la base de données de graphes « la plus aboutie et la plus mûre ».

Deux phases de développement indépendantes ont été nécessaires pour intégrer Neo4j dans Glowbl : le graphe temps réel des relations dans l’espace entre les bulles et le graphe social des connexions sociales et comportementales entre les utilisateurs.

Pour le graphe temps réel, une première phase a été consacrée aux essais, aux prototypes et à la conception. L’implémentation en elle-même a suivi. Pour finir, l’installation du serveur et le déploiement en production ont été assez simples et rapides en raison de la facilité d’utilisation de Neo4j qui ne nécessite que peu de paramétrages spécifiques. Enfin, Glowbl a effectué une phase d’optimisation sur du long terme au vu de l’usage et des performances qu’elle attendait de son outil.

Pour ce qui concerne le volet Graphe Social, il a fallu dans un premier temps le concevoir puis effectuer les premiers tests avec les données Glowbl. Ensuite est venue la phase d’implémentation et d’optimisation, réalisée avec le concours d’un consultant Neo4j. Aujourd’hui, Glowbl achève la dernière phase d’intégration et d’ajouts de requêtes sur le graphe afin d’extraire des recommandations pour les utilisateurs.

Pour le graphe temps réel, le volume de données Neo4j dépend de l’activité en temps réel de la plateforme et est donc proportionnel à la fréquentation du site. Il évolue également en fonction du nombre de personnes connectées, le rendant très dynamique. La souplesse de Neo4j permet d’identifier les destinataires d’un message par le parcours temps réel du graphe lorsqu’un utilisateur souhaite discuter avec un groupe de personnes.