zapp2photo - stock.adobe.com
MongoDB 5.0, une version conçue pour l’IoT
Lors de son événement, MongoDB.live 2021, l’éditeur a dévoilé la nouvelle version de sa base de données sous l’appellation 5.0. Hormis un renommage pour signifier un changement de cycle de mise à jour, l’entreprise officialise le support natif des séries chronologiques, renforce la répartition à chaud et le chiffrement des données. Il lui reste à convaincre les directions de certains grands comptes, selon IDC.
En juin 2020, MongoDB présentait la version 4.4 de sa base de données document-multimodèle sous licence SSPL. Treize mois plus tard, l’éditeur expose la disponibilité générale d’une mouture estampillée 5.0.
Cette itération étend l’une des capacités clés de la version 4.2, la configuration du sharding. Ce mode de répartition des données sur un cluster est fonction d’un découpage en tesson (shards) géré par un protocole. Si le SGBD supportait déjà cette capacité, « Live Resharding » doit mieux réguler cette répartition à chaud.
« Le sharding traditionnel dépend d’une clé de répartition qui permet d’indiquer où mes données vont se placer sur mes différents nœuds [d’un cluster]. Le problème, c’est que nos clients disposent d’applications existantes avec lesquels les usages et la volumétrie de données ont évolué », constate Frédéric Favelin, Principal Solutions Architect, chez MongoDB. « Aujourd’hui, les shards sont associés à des workloads complètement décorrélés par rapport aux besoins, provoquant une mauvaise répartition des charges entre les différents shards. Avec les versions 4.2 et 4.4, l’on pouvait affiner cette clé de répartition, mais le fonctionnement restait le même », ajoute-t-il. « Avec le Live Resharding, vous allez pouvoir intégralement changer cette clé de répartition. Les opérations ont lieu au niveau du back-office et du moteur de la base de données, cela va permettre en quelque sorte une duplication des collections [de documents] et la mise en place de ce resharding automatique (copie des collections, basculement, load balancing, distribution) sans interrompre les traitements et les workflows », avance-t-il.
La technologie aurait été pensée pour éviter les éventuelles détériorations des performances du SGBD NoSQL.
MongoDB veut (re) donner leur indépendance aux applications
MongoDB a également pensé aux applications associées à la base de données. L’entreprise introduit une « Versioned API » autorisant la mise à jour de la database sans modifier le code source d’une application. « Cela va permettre de décorréler le cycle de vie de l’application du cœur du moteur de MongoDB », promet Frédéric Favelin. Dans cette approche, il est possible de migrer vers une nouvelle version de la base de données afin de bénéficier des optimisations de performances et des patchs de sécurité. En revanche, « si vous voulez bénéficier des nouvelles fonctionnalités ou si des capacités sont remplacées, alors vous allez devoir réécrire votre code », prévient le Principal Solutions Architect.
De manière générale, la base de données s’exécute en fonction d’une sorte de mode de compatibilité en détectant les éléments de code relatifs à une version spécifique.
Dans cette même thématique de la compatibilité, MongoDB optimise sa fonction de chiffrement côté client. En la matière, l’éditeur n’a cessé de serrer la vis pour éviter de voir se reproduire les scénarii de piratage généralement dû à une mauvaise configuration serveur (sans pour autant y parvenir). Cette capacité introduite dans la version 4.2 permet à une application de chiffrer (via un moteur maison, basé sur un algorithme AES-256-CBC avec HMAC-SHA-512 MAC) des champs dans les documents avant de les envoyer au serveur de la SGBD. La gestion des clés (stockage et renouvellement) dépendait alors du KMS AWS à relier au Shell mongo ou mongosh (qui devient le Shell standard à partir de cette mouture 5.0). Avec la version 4.4.5 et 5.0, les développeurs peuvent utiliser Azure Key Vault et Google Cloud KMS, ainsi que les enclaves sécurisées des machines locales.
« Avec la DBaaS Atlas, vous avez la possibilité de créer un cluster GCP à la fois sur GCP, Azure et AWS. Ce mode Field Level Encryption devient compatible avec les clusters multicloud », indique Frédéric Favelin.
« Nous supportons la plupart des outils KMS (Key Management System) dans le cloud ou on premise basée sur le protocole KMIP », précise-t-il. En outre, il est possible d’activer manuellement la rotation des certificats TLS, CRL et CA sans redémarrer les instances mongod ou mongos. Pour en finir sur ce volet, MongoDB 5.0 permet de configurer les suites cryptographiques OpenSSL avec TLS 1.3.
Support natif des séries chronologiques
Mais la mise à jour 5.0 introduit surtout le support natif des données de séries chronologiques. Pour certains clients de MongoDB, les collections time-series n’ont rien de nouveau. « L’on pouvait déjà créer ses propres buckets de données et index afin d’accélérer les traitements. Désormais, les données time-séries sont automatiquement prises en charge par le moteur MongoDB, ce qui permet d’optimiser la gestion du stockage, les performances d’ingestion, de lecture et administrer la durée de vie des collections », assure le Principal Solutions Architect. Cette prise en charge dépend « d’un nouveau type de collection de données ». Cette capacité intéresse en premier lieu Software AG et Bosch, selon le communiqué de presse relayé par MongoDB. Ces deux éditeurs/équipementiers sont spécialisés dans l’IoT, mais d’autres cas d’usage comme le traitement de transactions bancaires sont possibles.
MongoDB n’a pas encore diffusé de benchmark au moment de publier cet article et personne n’a réalisé d’évaluation des performances de manière indépendante (ce qui, de manière générale, est difficile à trouver). Difficile de savoir donc, comment se défend le moteur de la base de données document face à un SGBD spécialisé dans les séries chronologiques.
L’argument principal de MongoDB est particulièrement familier pour celui qui a déjà écouté le discours d’un éditeur converti aux séries chronologiques ou qui est porteur d’une technologie multimodèle. « Quand les entreprises traitent des données time series, elles doivent aussi d’autres types de données, lancer des traitements analytiques, des agrégations, réaliser des traitements graphes, etc. Au lieu d’avoir à distribuer et à multiplier le nombre de bases de données, vous avez la possibilité de le faire de manière exhaustive avec une seule technologie qui est MongoDB. […] Pas besoin d’une base de données spécifique et la tendance est plutôt à diminuer le nombre de technologies ».
« Aujourd’hui, un certain nombre de grands acteurs français dans l’énergie, dans les transports utilisent MongoDB avec des collections de données time-series. Les cas d’usage sont variés, cela va de la collecte de données environnementales, de capteurs, de mesures de performance dans l’industrie, etc. », déclare Frédéric Favelin. Certains clients seraient déjà en cours de migration vers la nouvelle collection, selon le Principal Solutions Architect.
MongoDB ajoute également de nouveaux opérateurs d’agrégation et introduit des « Window operators » permettant « d’effectuer des opérations sur un ensemble spécifié de documents dans une collection ».
Les plus observateurs auront remarqué que MongoDB est passé de la version 4.4 à la mouture 5.0. Ce saut de version n’a rien du hasard, mais n’est pas non plus dû à un véritable bond technologique. Non, l’éditeur voulait signifier à sa manière le changement du cycle de mise à jour. « Nous avons changé la numérotation majeure du moteur. L’année prochaine, en juillet 2022, nous passerons en version 6.0. Entretemps, nous réaliserons des mises à jour mineures, une tous les trimestres, qui apporteront des enrichissements de fonctionnalités », explique Frédéric Favelin. « Les prochaines mises à jour sur Atlas et les releases de la version on-premise seront robustes. Toutefois, ces versions mises à jour sur Atlas sont proposées en développement dans la version on-premise», complète-t-il.
Le prochain défi de MongoDB selon IDC : convaincre les directions
Atlas, la DBaaS de MongoDB a aussi le droit à quelques ajustements, à commencer par l’ajout d’une fonction de scoring dans le moteur de recherche Atlas Search, le support du moteur de jeu Unity, et des SDKs Kotlin, Flutter/Dart en alpha dans MongoDB Realm. Atlas Data Lake, notamment utilisé par Toucan Toco a le droit à son outil de visualisation de données Charts pour les données stockées dans S3.
La fonctionnalité phare, elle, est encore en préversion. Il s’agit du support de traitement serverless par le biais d’instances dédiées. Cette capacité est conçue pour « les clients qui ne veulent pas se soucier d’administrer l’infrastructure à mettre en œuvre pour certains types de traitement », selon notre interlocuteur. L’éditeur ne s’appuierait pas spécifiquement sur les services FaaS des fournisseurs cloud, mais délivrerait cette capacité par le biais de sa « propre infrastructure », composée des différentes briques des cloudistes. Pour l’instant, la tarification est fixée à 30 cents de dollar par million de lectures.
Malgré la relative timidité des mises à jour dédiées à Atlas, le DBaaS est désormais au cœur de la machine économique de MongoDB. À la clôture du premier trimestre fiscal 2022 le 30 avril dernier, la plateforme représentait 51 % du total, du chiffre d’affaires de l’entreprise et était en augmentation de 73 % par rapport à la même période l’année dernière.
Pour autant, Atlas est massivement adopté par les clients de l’éditeur. Entre avril 2019 et avril 2021, MongoDB est passé de 14 200 à 26 800 clients, dont 12 300 comptes Atlas en 2019, contre 25 300 en 2021. Entretemps, le nombre de clients générant chacun plus de 100 000 dollars de revenus récurrents annuels est passé de 598 en 2019 à 1 057 en 2021.
Si Frédéric Favelin met en avant le souhait de MongoDB de « toujours maximiser la productivité des développeurs », Carl Olofson, vice-président de la recherche chez IDC, lui, considère auprès de nos confrères de SearchDataManagement [propriété de Techtarget, également propriétaire du MagIT] que le prochain défi de la société est rendre MongoDB plus attrayant pour les entreprises.
« Lorsque nous pensons aux systèmes de bases de données documents, nous pensons aux applications proches de l’utilisateur, dont les logiciels de CRM, d’e-commerce et de jeux, ainsi que la gestion des données de session pour les applis sur smartphones », commente Carl Olofson. « MongoDB a certainement excellé dans ces domaines et a gagné une énorme part de notoriété dans la communauté des développeurs, mais leur prochain grand défi est d’offrir davantage [de fonctionnalités] aux directions générales. »
L’analyste d’IDC estime que les incréments d’Atlas et la capacité serverless à venir pourraient aider l’éditeur dans sa tâche.