La base de données orientée documents MongoDB 5.0 est disponible

La version 5.0 de la base de donnĂ©es orientĂ©e documents MongoDB a Ă©tĂ© prĂ©sentĂ©e, se situant entre les systĂšmes rapides et Ă©volutifs qui traitent des donnĂ©es au format clĂ©/valeur, et les bases de donnĂ©es relationnelles, qui sont fonctionnelles et faciles Ă  interroger. Le code de MongoDB est Ă©crit en C++ et est distribuĂ© sous la licence SSPL, qui est basĂ©e sur la licence AGPLv3, mais n'est pas open source, car elle contient une exigence discriminatoire de fournir, sous la licence SSPL, non seulement le code de l'application elle-mĂȘme, mais aussi le code source de tous les composants impliquĂ©s dans la fourniture du service cloud.

MongoDB prend en charge le stockage de documents au format similaire Ă  JSON, dispose d'un langage suffisamment flexible pour formuler des requĂȘtes, peut crĂ©er des index pour divers attributs stockĂ©s, permet un stockage efficace de gros objets binaires, prend en charge le journal des opĂ©rations de modification et d'ajout de donnĂ©es dans la base de donnĂ©es, peut fonctionner selon la paradigme Map/Reduce, et prend en charge la rĂ©plication et la construction de configurations tolĂ©rantes aux pannes.

MongoDB dispose d'outils intĂ©grĂ©s pour assurer le partitionnement (distribution d'un ensemble de donnĂ©es sur des serveurs en fonction d'une clĂ© dĂ©finie), combinĂ©s avec la rĂ©plication, permettant de construire un cluster de stockage horizontalement Ă©volutif, oĂč il n'y a pas de point unique de dĂ©faillance (la panne de n'importe quel nƓud n'affecte pas le fonctionnement de la base de donnĂ©es), avec une rĂ©cupĂ©ration automatique en cas de panne et un transfert de charge depuis le nƓud dĂ©faillant. L'extension du cluster ou la transformation d'un de serveurs Ă©lĂ©ment en cluster se fait sans arrĂȘter le fonctionnement de la base de donnĂ©es, simplement en ajoutant de nouvelles machines.

Fonctionnalités de la nouvelle version :

  • Des collections pour les donnĂ©es sous forme de sĂ©ries temporelles ont Ă©tĂ© ajoutĂ©es, optimisĂ©es pour le stockage des valeurs de paramĂštres enregistrĂ©es Ă  intervalles rĂ©guliers (le temps et l'ensemble des valeurs correspondantes Ă  ce temps). La nĂ©cessitĂ© de stocker de telles donnĂ©es se prĂ©sente dans les systĂšmes de monitoring, les plateformes financiĂšres et les systĂšmes de sondage des Ă©tats des capteurs. Le traitement des donnĂ©es de sĂ©ries temporelles s'effectue comme avec des collections de documents ordinaires, mais les index et la mĂ©thode de stockage sont optimisĂ©s pour la liaison au temps, permettant ainsi de rĂ©duire considĂ©rablement l'espace disque, de diminuer les latences lors des requĂȘtes et d'assurer la possibilitĂ© d'analyse des donnĂ©es en temps rĂ©el.

    MongoDB considĂšre ces collections comme des vues non matĂ©rialisĂ©es accessibles en Ă©criture, créées Ă  partir de collections internes et regroupant automatiquement les donnĂ©es de sĂ©ries temporelles dans un format de stockage optimisĂ© lors de l'insertion. Dans ce cas, chaque enregistrement liĂ© au temps est traitĂ© comme un document distinct lors des requĂȘtes. Les donnĂ©es sont automatiquement triĂ©es et indexĂ©es par rapport au temps (il n'est pas nĂ©cessaire de crĂ©er explicitement des index temporels).

  • Le support des opĂ©rateurs fenĂȘtrĂ©s (fonctions analytiques) a Ă©tĂ© ajoutĂ©, permettant d'effectuer des actions sur un ensemble de documents spĂ©cifique dans une collection. Contrairement aux fonctions d'agrĂ©gation, les fonctions fenĂȘtrĂ©es ne condensent pas l'ensemble groupĂ©, mais rĂ©alisent l'agrĂ©gation sur la base du contenu de la "fenĂȘtre", incluant un ou plusieurs documents du jeu de rĂ©sultats. Une nouvelle Ă©tape $setWindowFields a Ă©tĂ© proposĂ©e pour manipuler un sous-ensemble de documents, permettant par exemple de dĂ©finir les diffĂ©rences entre deux documents dans une collection, de calculer une note de ventes et d'analyser des informations dans des sĂ©ries temporelles complexes.
  • Ajout de la prise en charge de la versioning API, permettant de lier l'application Ă  un Ă©tat API spĂ©cifique et d'exclure les risques associĂ©s Ă  une Ă©ventuelle rupture de la compatibilitĂ© lors du passage Ă  de nouvelles versions de SGBD. Le versioning API dissocie le cycle de vie de l'application du cycle de vie du SGBD, permettant aux dĂ©veloppeurs de modifier l'application lorsque le besoin d'exploiter de nouvelles fonctionnalitĂ©s se fait sentir, plutĂŽt que lors du passage Ă  une nouvelle version du SGBD.
  • Ajout de la prise en charge du mĂ©canisme de Live Resharding, permettant de modifier Ă  la volĂ©e les clĂ©s de segmentation (shard key) sans arrĂȘter le SGBD.
  • Élargissement des capacitĂ©s de chiffrement des champs cĂŽtĂ© client (Client-Side Field Level Encryption). Il est dĂ©sormais possible de reconfigurer les filtres d’audit et de faire la rotation des certificats x509 sans interrompre le fonctionnement du SGBD. Ajout de la prise en charge de la configuration des ensembles de chiffrement pour TLS 1.3.
  • Introduction d'une nouvelle interface en ligne de commande MongoDB Shell (mongosh), qui se dĂ©veloppe comme un projet distinct, Ă©crit en JavaScript en utilisant la plateforme Node.js et distribuĂ© sous la licence Apache 2.0. MongoDB Shell permet de se connecter au SGBD, de modifier les configurations et d'envoyer des requĂȘtes. La saisie des mĂ©thodes, des commandes et des expressions MQL bĂ©nĂ©ficie d'une auto-complĂ©tion intelligente, d'une coloration syntaxique, d'une aide contextuelle, de l'analyse des messages d'erreur, ainsi que de la possibilitĂ© d'Ă©tendre les fonctionnalitĂ©s grĂące Ă  des plugins. L'ancienne interface CLI « mongo » est dĂ©clarĂ©e obsolĂšte et sera supprimĂ©e dans une future version.
    La base de données orientée documents MongoDB 5.0 est disponible
  • Ajout de nouveaux opĂ©rateurs : $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate et $rand.
  • Assurer l'utilisation des index lors de l'utilisation des opĂ©rateurs $eq, $lt, $lte, $gt et $gte Ă  l'intĂ©rieur de l'expression $expr.
  • Dans les commandes aggregate, find, findAndModify, update, delete et dans les mĂ©thodes db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() et db.collection.remove(), prise en charge de l'option « let » pour dĂ©finir une liste de variables, rendant les commandes plus lisibles grĂące Ă  la sĂ©paration des variables du texte de la requĂȘte.
  • Les opĂ©rations find, count, distinct, aggregate, mapReduce, listCollections et listIndexes ne sont plus bloquĂ©es si une opĂ©ration est exĂ©cutĂ©e en parallĂšle, nĂ©cessitant un verrou exclusif sur la collection de documents.
  • Dans le cadre de l'initiative d'Ă©limination des termes inappropriĂ©s, la commande isMaster et la mĂ©thode db.isMaster() ont Ă©tĂ© renommĂ©es en hello et db.hello().
  • Le schĂ©ma de numĂ©rotation des versions a Ă©tĂ© modifiĂ© et un passage Ă  un calendrier de publication prĂ©visible a Ă©tĂ© effectuĂ©. Une version majeure sera publiĂ©e une fois par an (5.0, 6.0, 7.0), des versions intermĂ©diaires avec de nouvelles fonctionnalitĂ©s seront publiĂ©es tous les trois mois (5.1, 5.2, 5.3), et des mises Ă  jour correctives avec des corrections de bogues et de vulnĂ©rabilitĂ©s seront publiĂ©es au besoin (5.1.1, 5.1.2, 5.1.3). Les versions intermĂ©diaires contiendront des fonctionnalitĂ©s pour la prochaine version majeure, c'est-Ă -dire que MongoDB 5.1, 5.2 et 5.3 introduiront de nouvelles fonctionnalitĂ©s pour la version MongoDB 6.0.

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster