Neo4J : de la base de données à la plateforme pour consommer des graphes
L’éditeur de la base de données en graphes présente un concept de plateforme pour favoriser l’usage des graphes en entreprise. ETL, Spark, analytique et outils de visualisation permettent de cibler de nouveaux profils.
Afin de rendre les graphes plus comestibles par les différentes profils en entreprise, Neo4J a décidé d’étendre son offre : d’un éditeur de base de données en graphes, la société, ex-Neo Technology, se transforme en un éditeur de plateforme pour développer et consommer des graphes en environnements professionnels.
Neo4J fait partie de ces bases de données NoSQL dit en graphes dont la particularité est de modéliser les relations qui existent entre les données. Si Neo4J fait partie d’un des pionniers du genre, le marché compte également dans ses rangs, InfiniteDB, la très récente TigerGraph (dont le parallélisme suscite un fort intérêt chez les développeurs), pour les pures players, mais également les spécialistes de l’analytique et des bases de données, comme Teradata, Tibco, IBM ou encore Datastax qui ont ajouté une cartouche de modélisation graphe à leur technologie respective.
Si les moteurs de recommandation et la détection de fraudes sont souvent cités comme les premiers cas d’usage par Neo4J, l’heure est désormais à étendre l’adoption de la base – et la notion de graphes – à des usages plus proches des entreprises, et de leurs différents profils, tant développeurs, data scientists que métier. « Neo4j Graph Platform (nom de cette nouvelle plateforme, NDLR) est conçue pour vous aider à pousser la technologie de graphes et Neo4J au-delà des développeurs, et les présenter à de nouveaux utilisateurs, comme les data scientists, les data analysts, les utilisateurs métiers et les dirigeants », explique très clairement, Jeff Morris, chef de produit chez Neo4J, dans un billet de blog. En créant ainsi une plateforme, la société californienne entend enrober sa base de différents outils qui permettront d’élargir les usages, et donc les profils ciblés.
Du relationnel en graphes
Aux côtés de la base de la marque, on retrouve d’abord un ETL dont la vocation est bien de créer une passerelle entre les systèmes traditionnels en place dans les entreprises et le monde des graphes. Cet ETL permet donc de se connecter à des bases de données relationnelles, et d’en convertir les modèles de données en graphes (via une interface graphique). Les tables deviennent des nœuds et les jointures des relations, par exemple. Cet ETL est également associé à un outil qui opère le même phénomène de conversion des data lakes Hadoop, permettant de ré-injecter les Big Data dans Neo4J, mais en bénéficiant des précieuses relations entre données – ce dont un lac de données est d’ailleurs complétement dépourvu.
Cypher adapté à Spark
Dans cette même logique, Neo4J a travaillé à adapter son langage de requête maison, Cypher, à Spark. Ce langage (qui est d’ailleurs en concurrence avec Gremlin, utilisé par TinkerPop), qui permet d’interroger les graphes, a été versé dans l’Open Source au sein du projet openCypher (sous licence Apache 2.0), il y a peu – et implémenté par SAP dans Hana et Redis, notamment. En le rapprochant de Spark, Neo4J compte bien s’attirer la communauté grandissante des data scientists et analystes qui se reposent sur le framework Apache. D’autant que selon Jeff Morris, si Spark intégrait son propre moteur de graphes, « il manquait d’un langage de requête déclarative », qui favorise la construction de graphes et la mise en forme de relations.
Un autre élément de la plateforme est l’intégration de technologie de découverte et de visualisation de graphes via quelques partenaires. L’idée, résume Neo4J est de permettre aux métiers d’utiliser leurs outils de dataviz, comme Tableau ou Linkurious.
Enfin, les autres piliers de cette plateforme sont ses capacités analytiques, dont l’ambition est de finalement initier les graphes et d’alimenter les analyses des data scientists à partir des jeux de données intégrés à la plateforme.