MongoDB 5.0 : les évolutions à retenir

Une mise à jour majeure tous les ans, une mineure tous les trois mois. C’est la cadence que suivra désormais MongoDB. Ce nouveau cycle de vie débute avec la version 5.0, fraîchement annoncée.

Pour utiliser cette nouvelle version, on s’assurera de disposer au minimum des microarchitectures suivantes :

  • Intel Sandy Bridge (Core 2e génération, lancée en 2011)
  • AMD Bulldozer (2011)
  • ARMv8.2-A (2017)

On notera aussi la fin de prise en charge des systèmes d’exploitation suivants :

  • macOS 10.13
  • RHEL/CentOS 6
  • Ubuntu 16.04
  • Sur PPC64LE, Ubuntu 18.04 et RHEL/CentOS/Oracle Linux 7
  • Sur s390x, la même chose ainsi que SLES 12

Séries chronologiques et live sharding pour MongoDB

Parmi les avancées notables de MongoDB 5.0, il y a :

  • Les collections de séries temporelles
    Et avec elles, des fonctions de fenêtrage sur l’API de requête.
  • La redistribution à chaud
    La commande reshardCollection permet de modifier la clé de sharding d’une collection. Et ainsi de changer la répartition des données sur le cluster.
  • Les versions d’API
    Chacune « gèlera » un ensemble de fonctionnalités qui demeureront dans MongoDB pour assurer une compatibilité à long terme avec les applications.
  • L’extension du chiffrement côté client (appliqué aux champs sensibles des documents)
    À la prise en charge d’AWS KMS s’ajoute celles d’Azure Key Vault et de Google Cloud KMS. La rotation des certificats x509 peut par ailleurs se faire sans redémarrage du cluster.

Sur l’offre Atlas, c’est le début des instances serverless. Pour le moment en préversion publique, avec une limite à 1 To de stockage. Elles prennent en charge MongoDB 5.0, les versions d’API et les Rapid Releases.
Le moteur de recherche d’Atlas gagne quant à lui un mécanisme de scoring. Il permet d’influer sur le poids de certains champs en leur appliquant des formules mathématiques.

Au niveau du cœur SGBD, le catalogue d’opérateurs d’agrégation s’agrandit. Avec, entre autres, de quoi incrémenter/décrémenter des dates ou générer un nombre aléatoire en virgule flottante. Sur la partie sécurité, le paramètre opensslCipherSuiteConfig permet de spécifier les suites cryptographiques qu’OpenSSL est censé autoriser sur TLS 1.3. À noter aussi la disponibilité d’un nouveau shell : mongosh. Il succédera à mongo avec, entre autres, la coloration syntaxique, la complétion automatique et une aide contextuelle.

Illustration principale © Slarhei – Adobe Stock