MongoDB se met aux graphes
Dans sa version 3.4, MongoDB traite nativement les graphes, poursuivant sa stratégie qui consiste à créer une base multi-modèles.
MongoDB pourra désormais traiter nativement les modèles de données en graphes. C’est ce que l’on pouvait retenir de la version 3.4 de la base de données NoSQL orientée documents, fraichement présentée le 1 er novembre dernier. Avec cette nouvelle version, MongoDB a ainsi confirmé son intention de faire de sa base de données une solution adaptée aux desiderata des entreprises. L’idée est d’élargir champ fonctionnel afin que les entreprises n’aient pas besoin d’installer des bases de données dédiées pour répondre à chaque problématique.
En effet, les entreprises ont bâti leur SI sur des grandes bases de données monolithiques assez peu extensibles. Mais avec la montée en puissance du Big Data et de l’IoT, ainsi que des modèles d’infrastructures distribuées (comme le Cloud par exemple), elles doivent désormais composer avec des architectures composites que les bases en place ne supportent que très peu. Les entreprises sont aussi confrontées à un marché très ramifié des bases de données qui compte depuis plusieurs années de nouveaux modèles et acteurs. A l’image de l’émergence des bases NoSQL ou plus récemment des bases en graphes.
Accentuer le multi-modèle
Le hic, explique MongoDB dans un livre blanc : les entreprises doivent conjuguer différentes bases pour différents scenarii. De là a donc émergé le concept de bases multi-modèles, dont le principe est de doter une unique base des capacités pour supporter le plus de scenarii possible.
Pour répondre à cela, MongoDB avait par exemple remplacé son moteur de stockage initial par un autre plus optimisé côté hardware (WiredTiger) et aussi ouvert sa technologie afin que des tiers étendent les capacités de la base à d’autres scenarii.
Dans son Magic Quadrant sur les systèmes de bases de données opérationnelles, Gartner pointe du doigt le côté étriqué de MongoDB, d’un point de vue fonctionnel. « MongoDB est un choix courant chez les développeurs, mais est régulièrement utilisé aux côté d’autres fournisseurs dans une entreprise », souligne le cabinet d’analyste, qui liste MongoDB parmi les Challengers de son classement. La base est aux côtés de MarkLogic, EntrepriseDB, InterSystems, DataStax et Redis Labs – les autres Challengers donc.
Le support natif des graphes s’inscrit dans cette logique. « Bien que les bases de données en graphes dédiées soient efficaces pour stocker et interroger des graphes, il est souvent souhaitable de stocker et de parcourir ces données directement dans MongoDB. Elles peuvent alors être traitées, interrogées et analysées en temps réel aux côté des données opérationnelles, sans avoir à dupliquer les données dans deux bases séparées », explique la société dans un livre blanc.
Techniquement, le traitement des graphes dans MongoDB s’effectue via une nouvelle fonction d’agrégation ($graphLookup) qui « recherche de façon récursive des documents ayant des relations spécifiques défini avec un document de départ », déchiffre un document technique. Les développeurs ont aussi la possibilité d’indiquer la profondeur de cette récursivité.
Toutefois, MongoDB n’est pas la première base NoSQL à avoir intégré un traitement des graphes. En juin dernier, DataStax a ajouté le modèle graphe à l’édition Entreprise de sa base Cassandra. Entre temps, les géants du secteur ont eux aussi avancé leurs pions sur ce secteur. C’est le cas par exemple de Teradata, Informatica, Tibco ou encore IBM.