Blog

Maintenant disponible sur Scalingo - MongoDB 4.0

Chargement...

5 min de lecture

Maintenant disponible sur Scalingo - MongoDB 4.0

MongoDB 4.0 est la nouvelle version par défaut sur Scalingo. Comme d'habitude, la mise à niveau est un processus facile en un clic.

Nous venons de publier la dernière version majeure des bases de données MongoDB. MongoDB 4.0 est également la nouvelle version par défaut lors de la création d'une base de données. Comme d'habitude, la mise à niveau est un processus facile en un clic.

Quoi de nouveau dans MongoDB 4.0

MongoDB 4.0 a été publié avec quelques changements majeurs qui valent la découverte. Pour une vue complète sur les nouveautés de cette version, vous pouvez consulter les notes de version sur le site officiel de MongoDB.

Transactions Multi-Documents

MongoDB 4.0 est la première version publique incluant la tant attendue fonctionnalité de transactions multi-documents. Avec cette fonctionnalité, aucune opération d'écriture dans une transaction n'est visible à l'extérieur de celle-ci, jusqu'à ce qu'un engagement soit effectué. Cela peut s'avérer utile lorsque l'on souhaite mettre à jour plusieurs documents ou garantir la cohérence des lectures sur plusieurs documents.

Voici un exemple de ce à quoi ressemble une transaction en Python :

with client.start_session() as s:
    s.start_transaction():
    try:
        collection.insert_one(doc1, session=s)
        collection.insert_one(doc2, session=s)
    except:
        s.abort_transaction()
        raise
    s.commit_transaction()
with client.start_session() as s:
    s.start_transaction():
    try:
        collection.insert_one(doc1, session=s)
        collection.insert_one(doc2, session=s)
    except:
        s.abort_transaction()
        raise
    s.commit_transaction()
with client.start_session() as s:
    s.start_transaction():
    try:
        collection.insert_one(doc1, session=s)
        collection.insert_one(doc2, session=s)
    except:
        s.abort_transaction()
        raise
    s.commit_transaction()
with client.start_session() as s:
    s.start_transaction():
    try:
        collection.insert_one(doc1, session=s)
        collection.insert_one(doc2, session=s)
    except:
        s.abort_transaction()
        raise
    s.commit_transaction()

Notez que le coût de performance de l'utilisation des transactions multi-documents peut être élevé et doit être soigneusement étudié.

Plus d'informations sur la documentation officielle.

Quelques Changements de Compatibilité

Comme pour toute nouvelle version, MongoDB déprécie certaines fonctionnalités et abandonne le support de certaines anciennes fonctionnalités obsolètes. Vous pouvez trouver une liste complète dans la documentation officielle. Vous voudrez peut-être parcourir ce document pour vous assurer que votre code fonctionnera toujours avec MongoDB 4.0.

Processus de Mise à Niveau

Comme d'habitude, le processus de mise à niveau sur Scalingo est aussi simple que de cliquer sur un bouton sur le tableau de bord de la base de données. L'image suivante montre le message que vous verrez sur votre tableau de bord de la base de données si vous utilisez la dernière version 3.6 (c'est-à-dire MongoDB 3.6.3 au moment de l'écriture) :



Upgrading to 4.0



Cette mise à niveau peut prendre un certain temps pour les plus grandes bases de données. Sauf si votre base de données utilise un plan d'affaires, le processus de mise à niveau entraînera un temps d'arrêt. En effet, toutes les bases de données MongoDB utilisant un plan d'affaires comprennent une configuration de replicaset à 3 nœuds et vous pourrez mettre à niveau votre base de données sans temps d'arrêt. Notre planificateur (le cerveau derrière toutes les opérations sur la plateforme) est capable d'accomplir cette mise à niveau sans temps d'arrêt en suivant les étapes recommandées de MongoDB : nous mettons d'abord à niveau les membres secondaires, puis nous faisons descendre le primaire pour qu'un secondaire mis à niveau prenne la direction. Enfin, nous mettons à niveau le primaire déclassé et activons les fonctionnalités incompatibles avec les versions précédentes de 4.0.

La version 4.0.3 a été publiée. Vous pouvez trouver les images Docker correspondantes sur notre hub Docker dépôt.

Il est fortement recommandé de tester que votre code fonctionne toujours avec la nouvelle version de la base de données. Pour faciliter cette tâche, vous pouvez télécharger la version MongoDB dont vous avez besoin depuis notre hub Docker public dépôt et la tester localement, avec votre code, sur votre poste de travail avant de mettre à jour. Vous pouvez également obtenir le même conteneur que nous avons construit pour votre application et qui fonctionne sur notre infrastructure en utilisant notre Docker Image Addon.

Photo de Sandis Helvigs sur Unsplash

Yann Klis, Scalingo

Yann Klis

Yann KLIS a fondé Scalingo en 2015 avec son associé Léo Unbekandt avec la vision de proposer une plateforme cloud d'hébergement web, véritable alternative européenne et souveraine aux géants américains. Aujourd'hui Scalingo héberge plusieurs milliers d'applications web déployées par des clients du monde entier ! L'objectif de Scalingo est de devenir la plateforme cloud de référence pour les développeurs web en Europe. Auparavant, il a fondé Novelys, un studio de développement spécialisé dans la technologie Ruby on Rails.

Restez informé

Recevez des articles et des mises à jour de la plateforme dans votre boîte de réception.

Prêt à déployer en toute confiance ?

Découvrez des déploiements sans temps d'arrêt, une mise à l'échelle automatique intelligente et une infrastructure entièrement gérée. Commencez à déployer vos applications sur Scalingo dès aujourd'hui.

Aucune carte de crédit requise • Déployez en quelques minutes • Annulez à tout moment

Déployez une première application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.

Déployez une première application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.

Déployez une première application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.