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.

Pour approfondir sur Base de données