Les informations diffusées par un consortium international de journalistes en avril 2016 à la suite de l'exploration des Panama Papers fournissent une bonne illustration des avantages d'une base de données orientée graphe. Dans cette enquête menée sur des documents fournis par un lanceur d’alerte, la technologie orientée graphe a joué un rôle crucial en permettant aux journalistes de se frayer un chemin à travers d’immenses jeux de données afin de faire rapidement des connexions entre des personnes, des institutions et des paradis fiscaux. Ce type de bases de données est de plus en plus utilisé par les grandes entreprises et organisations dans différents domaines. De grandes banques, par exemple, commencent à reconnaître que les connexions et les modèles qu’elles peuvent identifier au sein de leurs données - particulièrement complexes - sont aussi importants que les données elles-mêmes. Le rôle des bases orientées graphe est de fournir un moyen de découvrir et de tirer parti de ces connexions. 

« Le graphe a toujours apporté du sens, il est théoriquement supérieur, mais la technologie [de la base] relationnelle était si bonne qu’il fallait d’abord pouvoir rivaliser avec elle et nous arrivons maintenant à un point de bascule », estime Jarred McGinnis, consultant chez Ontotext, spécialiste des technologies sémantiques. Pour lui, la base de données graphe n’est plus « ésotérique ». « Elle est suffisamment mature. Il y a suffisamment d’exemples d'utilisation dans les entreprises », souligne-t-il.

Un parfum de base NoSQL

La base de données graphe est une déclinaison des bases NoSQL bâtie sur la théorie du graphe, une méthodologie académique des sciences de l’informatique qui place sur un graphe des points de données, désignés sous le nom d’objets ou de nœuds, ainsi que les connexions entre ces points. La base relationnelle traditionnelle stocke les données dans des lignes et des colonnes quand la base NoSQL gère d’importants jeux de données non structurées. La base orientée graphe va un peu plus loin en incluant les connexions entre les points de données, essentiellement en créant un réseau de données. « C’est avant tout un moyen de trouver des connexions et des modèles au sein des données, plutôt que de simplement faire des requêtes sur les données », résume Billy Bosworth, CEO de l’éditeur open source DataSax. Il ajoute qu’une base orientée graphe permet aux entreprises de comprendre plus simplement et plus rapidement la nature des relations particulièrement complexes qui existent entre les données.

Voilà déjà 15 ans qu’Emil Eifrem, co-fondateur de l’éditeur Neo Technology (qui vient de prendre le nom de sa base Neo4J), a commencé à bâtir ce type de solutions. Il s’est engagé sur cette voie lorsqu’il a compris, alors qu’il développait des systèmes de gestion de contenus pour des entreprises, que la base relationnelle travaillait contre lui parce qu’elle n’était pas adaptée aux types d’informations sur lesquelles il travaillait. « Elles étaient volumineuses et désordonnées, étaient modifiées et évoluaient sans cesse », relate-t-il. Les faire entrer de force dans une base relationnelle consistait à vouloir résoudre la quadrature du cercle. De là est née la base orientée graphe Neo4j.

Mises en oeuvre par Facebook il y a 10 ans

Comme beaucoup de technologies de pointe, les bases graphes ont d’abord été installées dans les datacenters des géants technologiques avant d’être adoptées par les entreprises. En raison de la nature même des données interconnectées du web et d’Internet, des fournisseurs comme le réseau social Facebook et Google ont été parmi les premiers à s’appuyer sur ce type de base pour mettre en œuvre leurs applications. Marc Zuckerberg décrit Facebook comme un graphe social depuis qu’il a commencé à bâtir son réseau il y a dix ans en se basant sur le protocole Open Graph et en réadaptant cette théorie mathématique pour un usage informatique.

Alors pourquoi cette dénomination commence-t-elle seulement à entrer dans le lexique public ? Selon Emil Eifrem, il y a désormais une bien meilleure connaissance de la façon dont le graphe peut apporter une réponse aux limites des bases de données objets créées dans les années 70. Ces dernières ont été un échec, rappelle-t-il en estimant que l’un des principaux problèmes était qu’elles partaient d’un paradigme de programmation pour en faire un modèle de données. « Nous avons appris que la vie des données est bien plus longue que celle des logiciels, il faut donc s’assurer de les découpler afin que, si vos logiciels sont remplacés, vous données continuent à vivre », pointe-t-il. « C’est une erreur importante que le modèle objet n’a pas évité ».

Détection de fraude et personnalisation de services

Quels sont les secteurs d’activité qui profitent le plus des bénéfices apportés par les bases de données orientées graphe ? N’importe quel type d’activité peut en tirer bénéfice, assure le CEO de DataStax. On trouve des regroupements de données dans de nombreux cas d’usage. La détection de fraude en fait partie, de même que la personnalisation de services ou l’analyse du comportement des consommateurs. « Peu importe le secteur d’activité : la finance en a besoin, de même que la santé, l’énergie, le manufacturing. Tout le monde recherche la même chose », indique Billy Bosworth.

La Royal Band of Scotland (RBS) figure parmi les clients de Neo4J. Elle recourt actuellement à la base de données de Neo Technologies sur un système de gestion des dépendances utilisé pour tracer minutieusement les implications des changements opérés sur le système de trading de RBS. L’objectif est de pouvoir enregistrer toutes les dépendances de notre univers et bénéficier d’un support professionnel, explique Stelios Gerogiannakis, ingénieur logiciel senior de RBS. « Nous voulons aussi qu’elle soit performante et qu’elle puisse être facilement embarquée dans des micro-services ». Le choix d’une base graphe répond à plusieurs besoins, poursuit-il. « On ne peut pas utiliser le même outil pour tout, il faut donc pouvoir disposer de tous les outils nécessaires ». La base a pour l’instant été validée pour le risque crédit car c’est un domaine où la découverte des connexions est importante.

Recommandations en temps réel

De la même façon, Gary Stewart, architecte logiciel pour le groupe bancaire néerlandais ING, a confirmé à Computerworld UK qu’il était très intéressé par ce type de solution en confiant néanmoins une certaine prudence sur le sujet. « Nous voulons être en pointe, mais sans faire d’erreur. Nous avons toujours une version ou deux de retard [à cause de l’écosystème de régulation] », a-t-il expliqué. Parmi les cas d’usage qui progressent, la personnalisation des interactions avec les consommateurs figure en bonne place, selon Billy Bosworth de DataStax. « C’est l’utilisation inverse par rapport au système anti-fraude. Dans ce cas-là, les connexions vont me permettre de comprendre comment proposer une meilleure expérience [aux utilisateurs] ».

Du côté de Neo Technologies, les cas d’usage les plus fréquemment mis en place portent sur les recommandations en temps réel, la gestion des accès et des identités, la détection et prévention des fraudes ou l’analyse d’impact dans les télécommunications. En matière de recommandations en temps réel, « tous les grands acteurs du retail ont stocké vos historiques d’achats sur des décennies », rappelle Emil Eifrem. « Si vous prenez une approche graphe qui va plus loin qu’une simple liste de courses, vous pouvez, en constatant qu’Emil a acheté ces trois produits et que James a acheté les trois mêmes, vous demander quel est le 4ème produit que James a acheté et qu’Emil n’a pas, afin de pouvoir lui recommander », explique-t-il. La fonctionnalité « Découvertes de la semaine » du service de diffusion de musique Spotify établit lui aussi des connexions de type graphe entre ses utilisateurs ayant les mêmes goûts musicaux pour établir ses playlists.

Etude de cas : les Panama Papers

Parmi les utilisateurs des bases orientées graphes se trouve le consortium international de journalistes d’investigation (ICIJ) qui s’est appuyé sur la base Neo4j, en association avec l’outil de visualisation de l’éditeur français Linkurious, pour explorer les données fuitées des paradis fiscaux dans ses enquêtes Swiss Leaks et Panama Papers. Il s’agissait, selon Mar Cabra, responsable de l’unité données et recherche de l’ICIJ, de la plus grande fuite d’informations de l’histoire du journalisme, regroupant 11,5 millions de documents et 2,6 To de données. Jusque-là, pour plonger dans une telle masse, les journalistes imprimaient les documents et dessinaient des graphes, a relaté Mar Cabra. « Nous manquions des connexions. Donc, lorsque nous sommes entrés en contact [avec Neo4j] pour les Swiss Leaks, la première réaction de mes reporters était ‘je ne connaissais pas cette connexion’. C’était très difficile de chercher dans les documents parce que nos cerveaux ne voient pas les choses visuellement de cette façon et cela demande beaucoup de travail si vous devez le faire à la main sur papier. Dans le cas des Panama Papers, c’était encore plus intéressant parce que cela nous permettait de découvrir des patterns que nous ne pouvions pas trouver avant ».

AWS rejoint le marché avec son service Neptune

Le marché des éditeurs de bases de données graphes est petit, selon le cabinet d’études Forrester, mais il est mûr pour se développer. Il devrait connaître un succès significatif dans les années à venir à mesure que les organisations vont développer une architecture d’analyse qui s’appuie sur des données connectées », note l’analyste Noel Yuhanna dans son étude sur le sujet. Les huit éditeurs qu’il identifie actuellement sont DataStax avec sa base d’entreprise DES, Neo4j, Oracle (le seul à en être parmi les 4 grands fournisseurs de base), Complexible, FlockDB, Franz, Objectivity et Orient Technologies.

En cette fin 2017, Amazon Web Services vient de les rejoindre avec l’annonce de Neptune, son propre service de base de données graphe dont le moteur est optimisé pour stocker des milliards de points de relations entre des données. Il doit permettre d’effectuer des requêtes en quelques millisecondes sur le graphe ainsi créé. Ce service, qui s’appuie sur le service de stockage S3 et qui est répliqué sur au moins trois zones de disponibilité AWS, devrait constituer une option intéressante sur ce marché. Dans le plus pur style des services managés du fournisseur d’infrastructure cloud, Neptune peut être utilisé sans avoir à se préoccuper de la maintenance, de l’application de correctifs et des sauvegardes/restaurations. Il supporte la reprise rapide après incident (fast-failover), la restauration en mode point-in-time et le déploiement sur plusieurs zones de disponibilité. Sur son site, AWS explique que son service peut prendre en charge jusqu’à 15 réplicas en lecture à faible latence répartis sur 3 zones de disponibilité pour dimensionner la capacité en lecture et exécuter plus de 100 000 requêtes de graphe par seconde.

Des langages de requêtes adaptés tel Gremlin

Quelles sont les compétences requises pour aborder une base orientée graphe ? Une base comme Neo4j est mise en oeuvre avec Java et Scala. Pour Billy Bosworth, CEO de DataStax, c’est un tel changement par rapport aux bases relationnelles que cela demande un nouveau langage de requêtes, Gremlin. « Lorsque vous regardez une requête graphe, cela ne ressemble en rien à du SQL », assure-t-il en expliquant que le langage Gremlin est beaucoup plus intuitif pour tout ce qui touche à la problématique de graphe, parce qu’il utilise des notions comme « out », « contains » et « in » (hors, contient, dans). « Vous pouvez écrire avec le langage de la façon dont vous visualisez le graphe ». Billy Bosworth admet que l’écosystème open source va probablement générer d’autres langages mais ne voit pas de nécessité pour qu’ils se multiplient et fait valoir plutôt l’intérêt d’une standardisation. « Vous trouvez la base graphe qu’il vous faut ou pas », estime-t-il. Ce qu’il souhaite, c’est que chacun puisse mener sa barque sur ce marché. « Donc, si nous pouvions participer à un projet qui aiderait à standardiser un langage graphe, ce serait bon pour tout le monde ».

A l’instar des bases de données relationnelles à qui il a fallu dix ans pour se transformer vraiment en outils commercialement viables et généralisés dans les entreprises, les bases orientées graphe ont gagné en maturité et tant les fournisseurs de premier plan que les grandes entreprises commencent à s’y intéresser. Les cas d’usage sont peut-être moins nombreux que pour les traditionnelles bases relationnelles, mais ils s’appliquent à des problèmes liés au big data qui préoccupent les entreprises en pleine transformation numérique tout autant que les acteurs des services financiers. Personne ne va baser l’ensemble de sa stratégie big data sur une base de données orientée graphe, mais c’est un outil de plus qui est mis à la disposition des entreprises. On devrait en entendre parler de plus en plus dans les années qui viennent.