Neo4j : « l’ère de la base de données unique est révolue » (Emil Eifrem)
LeMagIT s’est entretenu avec Emil Eifrem, CEO et cofondateur de Neo4j. L’éditeur d’une base de données open source orientée graphes voit son avenir dans le cloud et la data science, tandis que son dirigeant considère que l’approche multimodèle a fait son temps.
Les analystes d’IDC, de Forrester et de Gartner s’accordent pour dire que les bases de données orientées graphes seront largement adoptées en entreprise d’ici quelques années. Gartner prédit de son côté que 80 % des nouvelles applications de traitements de données s’exécuteront sur ces SGBD d’ici 2025.
De telles prédictions ne font que conforter Neo4j, un spécialiste de ce domaine depuis plus de douze ans et l’un des fondateurs de ce mouvement technologique.
De manière générale, Emil Eifrem, CEO et cofondateur de Neo4j, considère que les SGBD NoSQL ont le vent en poupe.
« Quand j’ai commencé en tant que développeur dans les années 1990, il fallait faire un choix entre quatre bases de données. Puis, il y a eu l’explosion du NoSQL il y a une dizaine d’années. Aujourd’hui, DB Engines référence plus de 350 SGBD », lance le PDG.
Emil EifremCEO, Neo4j
Cette phase d’expérimentation serait toutefois décroissante, selon le CEO. De ces nouveaux porteurs du NoSQL, seulement cinq d’entre eux auraient dépassé la barre symbolique des 100 millions de dollars de revenus récurrents annuels. « Il y a Mongo qui a rencontré un grand succès et qui est le premier à avoir réussi son introduction en bourse. Puis, il y en a deux autres sur les traces de MongoDB, nous-mêmes et Redis. Enfin, il y a Couchbase et DataStax qui sont un peu plus matures, qui connaissent une croissance un peu plus modérée et qui suivent un chemin différent », observe-t-il.
Démocratiser les graphes via le cloud
Neo4j doit pourtant s’adapter s’il veut que son activité continue à croître. Cela passe, entre autres, par l’accueil de nouveaux usagers, les startups et les PME.
De fait, les bases de données orientées graphes ont d’abord été vendues aux grands groupes. Elles n’étaient pas réputées pour leur simplicité de déploiement. « Historiquement […], nous monétisons les projets dans les entreprises avec qui nous signons des contrats de plusieurs centaines de milliers d’euros », déclare Emil Eifrem, CEO, de Neo4j. « Si une entreprise n’était pas un Airbus ou un Orange, c’est-à-dire un grand groupe qui mène des projets critiques, ce n’était pas le meilleur modèle », reconnaît-il.
Ce serait en train de changer avec le cloud, selon le CEO. En 2020, Neo4j a annoncé la disponibilité générale d’AuraDB, une version managée de sa base de données orientée graphes dans le cloud. L’éditeur a d’abord décliné son offre en versions professionnelles et entreprises avant de proposer en novembre 2021 un free tier permettant de tester les fonctionnalités de ce SGBD NoSQL spécifique. « Avec davantage de fonctionnalités et d’options dans les services cloud nous pouvons beaucoup mieux servir cette communauté dont les projets sont plus récents ou plus petits. Il s’agit d’augmenter la productivité des développeurs », assure Emil Eifrem.
L’éditeur va continuer à pousser cette stratégie cloud en accélérant le déploiement des instances dans le cloud et les performances de sa base. Il a déjà convaincu une centaine de clients d’adopter AuraDB, « sans compter les dizaines de milliers de personnes qui ont testé le tier gratuit », tient à signaler le PDG.
La plateforme cloud reposant sur Kubernetes est davantage utilisée pour déployer de nouveaux projets que pour supporter des migrations, même si certains clients passent de la version communautaire sur site à cette version managée.
« Nous avons beaucoup travaillé sur l’architecture pour nous assurer de proposer des mises à jour incrémentielles sur AuraDB et ensuite de les rassembler dans une version Entreprise tous les six mois », précise le dirigeant.
Attirer les développeurs
Une gestion simplifiée des instances ne suffit pas. En interne, l’éditeur utilise l’acronyme DX, pour Developer eXperience. « Il s’agit de réduire la friction, de faire en sorte que notre technologie soit de plus en plus facile à utiliser par les développeurs. Ici, on ne parle pas de couleurs attrayantes ou de boutons plus visibles, mais d’API, de connecteurs, de support de langage de programmation, etc. ».
Des API cloud natives, une amélioration de l’indexation, une réduction du temps de migration, le support de l’architecture ARM d’Apple, l’apport d’un SSO pour la plupart des produits, la possibilité de bâtir des applications multi-tiers sont quelques-uns des ajouts de Neo4j 4.4, parue en décembre. Mais Emil Eifrem retient surtout une fonctionnalité apparue dans la version précédente, en juin 2021.
L’éditeur a mis au point un système de routage côté serveur pour les applications basées sur le cloud. « Si vous voulez connecter le serveur ou l’instance qui héberge votre application à Neo4j, vous ne vous connectez pas au cluster de la base de données, mais à une ou plusieurs des instances de ce cluster. Par le passé vous deviez comprendre à quelles instances vous aviez besoin de vous connecter. Et si une des instances tombe, ce qui arrive fréquemment avec le cloud, il fallait inspecter la logique implémentée dans votre connecteur lié au langage de programmation que vous utilisez », explique le CEO.
Pour contrer cette difficulté, Neo4j propose une gestion du routage externe au connecteur, en s’appuyant sur le protocole Raft afin de rediriger les requêtes Cypher (le langage de requêtes de Neo4j) vers un membre du cluster apte à les traiter. Si le connecteur est plus facile à écrire, la complexité réside désormais dans l’établissement du bon routage suivant l’architecture du cluster, du type de requêtes (lecture seule ou lecture – écriture) et suivant si la redirection des transactions est effectuée depuis le client ou depuis le serveur.
La data science, le nouveau dada de Neo4j
L’autre enjeu pour l’éditeur est de continuer à proposer des services capables de supporter « des solutions calibrées pour des cas d’usages spécifiques ». Au fil des ans, Emil Eifrem observe que Neo4j n’a pas seulement servi à bâtir des projets de détection de fraudes ou de pratiques financières douteuses, comme le fait l’ICIJ, mais aussi des moteurs de recommandation, des outils de gestion d’identités, de gestion de risques, de modélisations des lignes de production dans l’industrie ou encore des pratiques d’automatisation des processus.
« Un opérateur de télécoms peut vouloir analyser l’entièreté de son réseau et chercher à simuler les conséquences d’une tempête sur ces équipements : “Si telle tour cellulaire tombe en panne, quel impact cela a-t-il sur mon réseau ?” », illustre Emil Eifrem. « Avec une base de données relationnelle, il peut se heurter à toutes sortes de jargons. Dans un SGBD orienté document, il ne pourra même pas exprimer les connexions. Il pourrait essayer de le faire depuis son entrepôt de données, mais cela prendrait trop de temps », argumente-t-il, en faveur des bases de données orientées graphes.
Un nouveau segment s’ouvre peu à peu pour Neo4j, d’après le dirigeant : la data science. « En 2021, Gartner a noté que 50 % des demandes de renseignement consacrées à l’IA et au machine learning concernaient les graphes », assure Emil Eifrem.
Neo4j a donc conçu une librairie nommée Graph Data Science (GDS) par-dessus sa plateforme de bases de données. Elle fournit plus de 65 algorithmes utilisés couramment avec cette technologie. Une version communautaire, open source permet de tester toutes les fonctionnalités, mais est limitée en ressources (4vCPU), tandis que la version entreprise dispose d’un système RBAC et permet d’appeler « un nombre illimité de cœurs CPU ». « Cela permet aux data scientists d’utiliser les relations modélisées avec la technologie graphes comme des signaux d’entrée de leurs modèles de machine learning et ça s’est avéré efficace », vante le CEO.
Il y a aussi des problèmes bien connus auxquels la technologie des graphes peut apporter une réponse intéressante, poursuit le dirigeant. « Log4J a montré l’importance de connaître les dépendances open source présentes dans vos environnements. Analyser la présence de ces composants ou outils, c’est un problème de graphes », affirme-t-il.
Neo4j, partenaire particulier de GCP
Mais Neo4j n’est pas le seul sur ce terrain. D’un côté, il y a les fournisseurs de cloud, prompts à proposer leurs distributions d’un SGBD graphes. C’est le cas d’AWS qui a lancé Neptun en 2018.
« Vous aurez toujours cette forme de coopétition avec les fournisseurs de cloud. Ils ont ces canaux de distribution massifs, mais ils sont aussi des compétiteurs, parce qu’ils ont des produits dans toutes les catégories », remarque Emil Eifrem. « Nous avons la chance d’avoir une relation très forte et étroite avec Google. En fait, Google Graph Services est AuraDB », explique-t-il.
Emil EifremCEO, Neo4j
L’éditeur fait en effet partie des sociétés comme Confluent, Elastic ou MongoDB mises en avant par Thomas Kurian, PDG de GCP, pour soutenir la stratégie d’ouverture de son cloud.
« Notre base de données est accessible depuis la console de GCP, à quelques clics de BigQuery ou de Cloud Spanner. C’est très puissant », affirme Emil Eifrem.
Cela n’empêche pas Neo4j de proposer ses produits sur les places de marché de Microsoft Azure, Google et AWS. Mais l’approche intégrée dans la console de GCP semble la plus rentable, selon Eifrem. « Les équipes de vente de GCP sont très enclines à vendre Google Graph Services. En fait, elles nous font gagner beaucoup plus d’argent en le vendant comme tel, à savoir un service Google ».
Changement d’ère
De l’autre, il y a la « vieille garde » (dixit Emil Eifrem), adeptes de l’approche multimodèle, Oracle, SAP et Microsoft en tête.
« Je pense que l’ère de la base de données unique (“one size fits all” en VO) est révolue. C’est fini », tranche Emil Eifrem. « Nous avons eu 30 à 40 ans de domination complète et totale des bases de données relationnelles ».
Emil EifremCEO, Neo4j
« Elles seront toujours là dans 30 ou 40 ans », nuance-t-il. « Cependant, quand je regarde la plupart des projets modernes, les déploiements greenfield à l’échelle de l’entreprise utilisent une architecture de microservices », poursuit-il. « Et là, vous avez la possibilité d’utiliser la meilleure base de données pour le domaine de responsabilité que vos microservices couvrent ».
« Avant il y avait une architecture monolithique et c’était un cauchemar parce que tout utilisait les données d’une seule et même base. Maintenant, vous avez quelques dizaines de microservices (en avoir des centaines ou des milliers est une erreur à mon avis). Tout d’un coup, vous pouvez utiliser une base de données spécifique à votre application et vous n’avez pas à prendre cette seule décision pour l’ensemble de vos systèmes ».
Cette position est largement partagée par AWS et Google. Et de nouveaux entrants comme TigerGraph. Si tous ces acteurs peuvent prendre des parts de marché à l’éditeur, leur présence sur ce segment tend à prouver l’intérêt de la technologie.
« Si vous concevez quelque chose qui a de la valeur, vous attirez les compétiteurs. C’est une chose naturelle », lance le dirigeant de Neo4j. « Des startups, la vieille garde, les fournisseurs de cloud, et même les nouveaux venus en Chine sont intéressés par la technologie des graphes. Tout comme nous, ils observent et suivent les tendances repérées par les analystes », déclare-t-il. « Maintenant, notre travail est de s’assurer que nous faisons passer le mot collectivement en tant qu’industrie, de l’intérêt des bases de données graphes ».