Quoi de neuf dans MongoDB 5.0 ?

0
225

La dernière version majeure de MongoDB, v5.0, a été lancée le 13 juillet 2021. Cette l'itération de la base de données orientée document ajoute de nouvelles fonctionnalités et améliorations ainsi qu'une cadence de publication révisée pour les versions futures.

Données de séries temporelles

One des ajouts de fonctionnalités principales est la prise en charge de première classe des données de séries chronologiques. Alors que certains développeurs ont déjà construit leur propre outil de séries chronologiques autour de MongoDB, le fait d'avoir des types de données de séries chronologiques disponibles en natif en aidera beaucoup d'autres à démarrer.

Une “série temporelle” fait référence à tout type de données où les enregistrements sont créés séquentiellement à différents moments. Les cas d'utilisation courants incluent les flux de mesure des capteurs et les journaux d'historique des transactions, où chaque enregistrement correspond directement à un moment particulier.

Les nouvelles collections de séries chronologiques fournissent un magasin de données spécial optimisé pour les données présentant ces caractéristiques. Les valeurs seront compactées dans une structure de schéma unique lorsqu'elles seront conservées sur le disque, offrant une meilleure indexation, une utilisation plus efficace du stockage et une charge de serveur réduite. Vous pouvez définir la granularité des données temporelles en secondes, minutes ou heures. Il est également possible d'expirer automatiquement les données après un certain nombre de secondes.

db.createCollection( “mesures”, { timeseries : { timeField : “timestamp”, granularity : “minutes” }, expireAfterSeconds : 3600 } );

L'extrait ci-dessus définit une collection de séries temporelles appelée mesures. Sa granularité est fixée à quelques minutes. Les documents de la collection seront automatiquement supprimés au bout d'une heure.

Publicité

MongoDB 5.0 fournit également une prise en charge intégrée pour l'interrogation et la manipulation de données de séries chronologiques. Vous pouvez extraire des moyennes mobiles basées sur le temps qui suivent les tendances temporelles avec un code minimal de votre choix.

db.measurements.aggregate([ { $project : { date : { $dateToParts : {date : “$timestamp”} } }, $group : { _id : { time : { hour : “$date.hour”, minute : “$date.minute” } }, mesure moyenne : {$avg : “mesure”} } } ]);

En supposant une collection de séries temporelles avec des champs d'horodatage et de mesure, la commande d'agrégation ci-dessus produira quelque chose comme ceci :

{ "_id": { "time": { "hour": 12, "month":30 }, "averageMeasurement": 1.5 }, "_id": { "time": { " heure” : 12, “mois” : 45 }, “Mesure moyenne” : 2,7 } }

Les enregistrements sont regroupés par leur horodatage à l'aide d'une projection. Les valeurs de mesure de chaque groupe sont ensuite moyennées dans le champ AverageMeasurement.

Live Resharding

L'un des plus grands défis de la mise à l'échelle horizontale de MongoDB a été son approche du sharding. Le choix de la clé de partition correcte est essentiel aux performances de votre cluster, mais était auparavant une opération à sens unique. Une fois que vous aviez défini la clé, vous ne pouviez plus la changer, vous laissant impuissant si vous aviez pris la mauvaise décision le premier jour. MongoDB lui-même a décrit la sélection de clé de partition comme un “saut en parachute à sens unique” mieux résolu en créant un tout nouveau cluster.

MongoDB 5.0 met enfin un terme aux cauchemars des clés de partition. Si vous vous trompez, vous pouvez réindexer vos collections à l'aide d'une nouvelle clé de partition. MongoDB gérera l'intégralité de la migration pour vous, sans provoquer d'arrêt de la base de données. Cela permet d'échapper beaucoup plus facilement aux performances inférieures à la normale causées par une configuration de partition incorrecte.

Versioning et Releases

MongoDB 5.0 apporte des améliorations significatives pour l'avenir. La base de données a acquis une API versionnée qui vous permet d'éviter les modifications interrompues lors de la mise à niveau vers de nouvelles versions.

Publicité

Vous pourrez mettre à jour vers les versions futures sans modifier le code de votre application. Tout fonctionnera de manière transparente tant que la nouvelle version prend en charge la version de l'API que vous ciblez. Cela signifie que votre application est plus découplée de la version de la base de données sous-jacente, vous pouvez donc passer aux nouvelles versions de MongoDB plus tôt sans risquer de casser le code.

Ce changement est accompagné d'un nouveau calendrier de publication. MongoDB commencera à expédier les futures versions plus rapidement, avec une “Rapid Release” sortir tous les trimestres. Il s'agira de versions sémantiques mineures sans modifications importantes, offrant de nouvelles fonctionnalités dans un cycle accéléré. Chaque année, une nouvelle version majeure arrivera, étendant les versions rapides et potentiellement rompant la compatibilité descendante.

Le nouveau modèle de version vous permet d'accéder plus rapidement aux fonctionnalités émergentes sans affecter la stabilité globale de MongoDB. Si vous ne souhaitez pas mettre à niveau chaque trimestre, vous pouvez rester sur la branche des versions majeures et conserver la cadence annuelle. Les versions rapides ne seront officiellement prises en charge que dans le service Atlas géré par MongoDB. Ils seront disponibles pour les utilisateurs auto-hébergés en tant que versions de développement facultatives.

MongoDB sans serveur

MongoDB a également lancé un aperçu de ses nouvelles instances Atlas sans serveur. Atlas est l'offre officielle de base de données en tant que service de la société pour les plates-formes cloud populaires.

Avec le déploiement sans serveur, vous obtiendrez un provisionnement automatique des ressources appropriées pour votre charge de travail actuelle. La plate-forme s'adapte automatiquement à l'évolution des demandes, vous n'avez donc pas besoin de faire évoluer manuellement votre infrastructure. Vous ne serez facturé que pour ce que vous utilisez.

Atlas sans serveur est géré par MongoDB. Il utilise la dernière version de la base de données avec prise en charge des mises à niveau automatiques. La création d'instances sans serveur vous permet d'accéder aux nouveaux clusters MongoDB sans les configurer vous-même. Vous choisissez un fournisseur de cloud, créez une nouvelle base de données et vous vous connectez depuis votre application.

Résumé

MongoDB 5.0 étend la base de données avec plus de fonctionnalités qui améliorent sa polyvalence. Il consolide également sa position en tant que plate-forme cloud native disponible dans une gamme de solutions gérées, comprenant désormais des options sans serveur.

Publicité

Outre les changements de titre, il y a sa sélection saine d'améliorations et d'améliorations de l'écosystème. Un nouveau shell MongoDB simplifie l'interaction des développeurs avec les bases de données en offrant la coloration syntaxique et la saisie semi-automatique. Les nouveaux SDK aident également à intégrer MongoDB avec davantage de langages et de frameworks de programmation, notamment Unity, Flutter et Kotlin.

Sur le plan de la sécurité, la prise en charge étendue du chiffrement au niveau du champ côté client vous permet de chiffrer les données résidant dans le multi-cloud. bases de données. Les améliorations de la rotation des certificats facilitent les échanges x509 sans temps d'arrêt, réduisant l'impact des procédures de renforcement de routine.

MongoDB 5.0 est désormais disponible via Atlas, les fournisseurs de cloud public et en tant que solution open source auto-hébergée. Il existe des packages officiels pour Amazon Linux, Debian, RedHat, SUSE, Ubuntu et Windows, ainsi qu'une image Docker pour les environnements conteneurisés.