Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Compatibilité d'Amazon DocumentDB avec MongoDB
Amazon DocumentDB est compatible avec MongoDB, notamment MongoDB 4.0, MongoDB 5.0 et MongoDB 8.0. La compatibilité avec MongoDB signifie qu'une grande majorité des applications, pilotes et outils que vous utilisez déjà aujourd'hui avec vos bases de données MongoDB peuvent être utilisés avec Amazon DocumentDB avec peu ou pas de modifications. Cette section décrit tout ce que vous devez savoir sur la compatibilité d'Amazon DocumentDB avec MongoDB, notamment les nouvelles fonctionnalités, la mise en route, les chemins de migration et les différences fonctionnelles.
Rubriques
Compatibilité avec MongoDB 8.0
Rubriques
Nouveautés d'Amazon DocumentDB 8.0
Amazon DocumentDB 8.0 multiplie par 7 les performances des requêtes et multiplie par 5 le taux de compression, ce qui vous permet de créer des applications hautes performances à moindre coût. Amazon DocumentDB 8.0 est entièrement compatible avec le protocole filaire MongoDB 8.0. Le résumé ci-dessous présente certaines des principales fonctionnalités introduites dans Amazon DocumentDB 8.0. Pour consulter la liste complète des nouvelles fonctionnalités, consultez leNotes de mise à jour.
Assure la compatibilité avec MongoDB 8.0 en ajoutant la prise en charge des pilotes d'API MongoDB 8.0. Supporte également les applications créées à l'aide des versions 6.0 et 7.0 de l'API MongoDB.
Le nouveau planificateur de requêtes d'Amazon DocumentDB 8.0 améliore les performances des opérateurs de la phase d'agrégation, tout en prenant en charge l'optimisation du pipeline d'agrégation et des commandes distinctes.
Amazon DocumentDB 8.0 prend en charge le classement et les affichages.
Propose 6 nouvelles étapes d'agrégation : $replaceWith, $vectorSearch, $merge, $set, $unset, $bucket et 3 nouveaux opérateurs d'agrégation $pow, $rand, $dateTrunc.
Une nouvelle version de l'index de texte : l'index de texte v2 d'Amazon DocumentDB 8.0 introduit des jetons supplémentaires, améliorant ainsi les fonctionnalités de recherche de texte.
Grâce à la création parallèle d'index vectoriels, Amazon DocumentDB 8.0 réduit le temps de création de l'index jusqu'à 30 fois.
Limite de stockage augmentée à 256 TiB.
Démarrez avec Amazon DocumentDB 8.0
Pour commencer à utiliser Amazon DocumentDB 8.0, consultez leDémarrez avec Amazon DocumentDB. Vous pouvez créer un nouveau cluster Amazon DocumentDB 8.0 à l'aide du Console de gestion AWS ou du AWS SDK AWS CLI, ou. CloudFormation Lorsque vous vous connectez à Amazon DocumentDB, vous devez utiliser un pilote ou un utilitaire MongoDB compatible avec MongoDB 5.0 ou version ultérieure.
Note
Lorsque vous utilisez le AWS SDK, ou AWS CLI CloudFormation, la version du moteur est par défaut 5.0.0. Vous devez spécifier explicitement le paramètre engineVersion = 8.0.0 pour créer un nouveau cluster Amazon DocumentDB 8.0 ou engineVersion = 4.0.0 pour créer un nouveau cluster Amazon DocumentDB 4.0 ou engineVersion = 3.6.0 pour créer un nouveau cluster Amazon DocumentDB 3.6. Pour un cluster Amazon DocumentDB donné, vous pouvez déterminer la version du cluster en appelant describe-db-clusters ou en utilisant la AWS CLI console de gestion Amazon DocumentDB pour afficher le numéro de version du moteur pour un cluster particulier.
Amazon DocumentDB 5.0 et 8.0 prennent en charge le processeur Amazon EC2 r8g Graviton4 et les processeurs Graviton2, tels que les types d't4.mediuminstances pour vos clusters, r6g et est disponible dans toutes les versions prises en charge (voir). Régions AWS instances Pour plus d'informations sur la tarification, consultez la rubrique Tarification d'Amazon DocumentDB (avec compatibilité avec MongoDB).
Effectuez une mise à niveau ou migrez vers Amazon DocumentDB 5.0 ou 8.0
Vous pouvez migrer de MongoDB 3.6 ou MongoDB 4.0 vers Amazon DocumentDB 5.0 ou Amazon DocumentDB 8.0 à l'aide des utilitaires AWS DMS
Différences fonctionnelles
Différences fonctionnelles entre Amazon DocumentDB 5.0 et 8.0
Avec la sortie d'Amazon DocumentDB 8.0, il existe des différences fonctionnelles entre Amazon DocumentDB 5.0 et Amazon DocumentDB 8.0 :
-
Planner v1 est le planificateur de requêtes par défaut dans Amazon DocumentDB 5.0, tandis que le Planner v3, plus performant, est le planificateur par défaut dans Amazon DocumentDB 8.0.
-
Les nouvelles fonctionnalités d'Amazon DocumentDB 8.0, notamment les vues, le classement et les opérateurs tels que $merge, ne sont compatibles qu'avec Planner v3.
-
La compression est activée par défaut dans Amazon DocumentDB 8.0 et est configurée pour utiliser l'algorithme Zstandard. En outre, dans Amazon DocumentDB 8.0, « activé » n'est plus un choix valide ; vous pouvez sélectionner Zstd, LZ4 ou aucun.
-
Amazon DocumentDB 8.0 prend uniquement en charge le protocole TLS 1.2 et supérieur pour les connexions aux bases de données.
Important
Amazon DocumentDB 8.0 nécessite le protocole TLS 1.2 ou supérieur. Les protocoles TLS 1.0 et TLS 1.1 ne sont plus pris en charge.
Compatibilité avec MongoDB 5.0
Rubriques
Nouveautés d'Amazon DocumentDB 5.0
Amazon DocumentDB 5.0 introduit de nouvelles fonctionnalités et capacités, notamment les limites de stockage et le chiffrement au niveau des champs côté client. Le résumé ci-dessous présente certaines des principales fonctionnalités introduites dans Amazon DocumentDB 5.0. Pour consulter la liste complète des nouvelles fonctionnalités, consultez leNotes de mise à jour.
Augmentation de la limite de stockage à 128 TiB pour tous les clusters Amazon DocumentDB basés sur des instances et les clusters élastiques basés sur des partitions.
Présentation du moteur Amazon DocumentDB 5.0 (version 3.0.775)
Support pour les pilotes d'API MongoDB 5.0
Prise en charge du chiffrement au niveau du Client-side champ (FLE). Vous pouvez désormais chiffrer les champs côté client avant d'écrire les données dans le cluster Amazon DocumentDB. Pour de plus amples informations, veuillez consulter Client-side chiffrement au niveau du champ.
Nouveaux opérateurs d'agrégation :
$dateAdd,$dateSubtractSupports pour les index avec
$elemMatchopérateur. Par conséquent, les requêtes ayant$elemMatchentraîneront des analyses d'index.
Amazon DocumentDB ne prend pas en charge toutes les fonctionnalités de MongoDB 5.0. Lorsque nous avons créé Amazon DocumentDB 5.0, nous avons travaillé en arrière à partir des fonctionnalités et des fonctionnalités que nos clients nous ont demandé de développer le plus souvent. Nous continuerons à ajouter des fonctionnalités supplémentaires à MongoDB 5.0 en fonction de ce que les clients nous demandent de développer. Pour obtenir la liste la plus récente des API prises en charge, consultezAPI, opérations et types de données MongoDB pris en charge dans Amazon DocumentDB.
Nouveautés d'Amazon DocumentDB 5.0.1
Amazon DocumentDB 5.0.1 est la première version mineure de la version majeure d'Amazon DocumentDB 5.0. Les versions mineures incluent des améliorations telles que de nouvelles fonctionnalités, des correctifs de sécurité et des corrections de bugs. Vous pouvez passer de la version 5.0.0 à la version 5.0.1 à l'aide d'une mise à niveau mineure. Pour de plus amples informations, veuillez consulter Mise à niveau de la version mineure d'Amazon DocumentDB.
Capacités d'agrégation améliorées avec de nouveaux opérateurs (
$rand$pow,$dateToParts,,$dateFromParts).Métrique des connexions actives pour surveiller les instances. Pour de plus amples informations, veuillez consulter Quotas d'instances.
Mesures de performance granulaires au niveau des commandes CloudWatch pour les opérations CRUD (
find,insert,findAndModify,update,delete,aggregate,count,commitTransaction)distinctgetMoreabortTransaction, l'expositionAvgDurationet lesMaxConcurrentdimensions pour uneP100Durationmeilleure surveillance opérationnelle.Amazon DocumentDB 5.0.1 prend uniquement en charge le protocole TLS 1.2 et supérieur pour les connexions aux bases de données.
Ajout
gcRuntimeStatset ventilationdocumentFragmentStatsdes indicateurs de niveau de collecte entrestorageSegmentBaseetstorageSegmentExtendedentre euxcollstatspour faire apparaître plus d'informations sur l'état général du processus de collecte des déchets.
Démarrez avec Amazon DocumentDB 5.0
Pour commencer à utiliser Amazon DocumentDB 5.0, consultez leDémarrez avec Amazon DocumentDB. Vous pouvez créer un nouveau cluster Amazon DocumentDB 5.0 à l'aide du Console de gestion AWS ou du AWS SDK AWS CLI, ou. CloudFormation Lorsque vous vous connectez à Amazon DocumentDB, vous devez utiliser un pilote ou un utilitaire MongoDB compatible avec MongoDB 5.0 ou version ultérieure.
Note
Lorsque vous utilisez le AWS SDK, ou AWS CLI CloudFormation, la version du moteur est par défaut 5.0.0. Vous devez spécifier explicitement le paramètre engineVersion = 4.0.0 pour créer un nouveau cluster Amazon DocumentDB 4.0 ou engineVersion = 3.6.0 pour créer un nouveau cluster Amazon DocumentDB 3.6. Pour un cluster Amazon DocumentDB donné, vous pouvez déterminer la version du cluster en appelant describe-db-clusters ou en utilisant la AWS CLI console de gestion Amazon DocumentDB pour afficher le numéro de version du moteur pour un cluster particulier.
Amazon DocumentDB 5.0 et 8.0 prennent en charge le processeur Amazon EC2 r8g Graviton4 et les processeurs Graviton2, tels que les types d't4.mediuminstances pour vos clusters, r6g et est disponible dans toutes les versions prises en charge (voir). Régions AWS instances Pour plus d'informations sur la tarification, consultez la rubrique Tarification d'Amazon DocumentDB (avec compatibilité avec MongoDB).
Effectuez une mise à niveau ou migrez vers Amazon DocumentDB 5.0
Vous pouvez migrer de MongoDB 3.6 ou MongoDB 4.0 vers Amazon DocumentDB 5.0 à l'aide des utilitaires AWS DMS
Différences fonctionnelles
Différences fonctionnelles entre Amazon DocumentDB 4.0 et 5.0
Avec la sortie d'Amazon DocumentDB 5.0, il existe des différences fonctionnelles entre Amazon DocumentDB 4.0 et Amazon DocumentDB 5.0 :
-
Le rôle intégré de sauvegarde est désormais pris en charge
serverStatus. Action : les développeurs et les applications dotés d'un rôle de sauvegarde peuvent collecter des statistiques sur l'état du cluster Amazon DocumentDB. -
Le
SecondaryDelaySecschamp remplaceslaveDelayenreplSetGetConfigsortie. -
La hello commande replace
isMaster: hello renvoie un document qui décrit le rôle d'un cluster Amazon DocumentDB. Amazon DocumentDB 5.0 prend désormais en charge les analyses d'index avec l'
$elemMatchopérateur au premier niveau d'imbrication. Les analyses d'index sont prises en charge lorsque le filtre de requête uniquement possède un niveau de$elemMatchfiltre, mais ne sont pas prises en charge si une$elemMatchrequête imbriquée est incluse.Par exemple, dans Amazon DocumentDB 5.0, si vous incluez l'
$elemMatchopérateur dans le niveau imbriqué, il ne renverra pas de valeur comme dans Amazon DocumentDB 4.0 :db.foo.insert( [ {a: {b: 5}}, {a: {b: [5]}}, {a: {b: [3, 7]}}, {a: [{b: 5}]}, {a: [{b: 3}, {b: 7}]}, {a: [{b: [5]}]}, {a: [{b: [3, 7]}]}, {a: [[{b: 5}]]}, {a: [[{b: 3}, {b: 7}]]}, {a: [[{b: [5]}]]}, {a: [[{b: [3, 7]}]]} ]); // DocumentDB 5.0 > db.foo.find({a: {$elemMatch: {b: {$elemMatch: {$lt: 6, $gt: 4}}}}}, {_id: 0}) { "a" : [ { "b" : [ 5 ] } ] } // DocumentDB 4.0 > db.foo.find({a: {$elemMatch: {b: {$elemMatch: {$lt: 6, $gt: 4}}}}}, {_id: 0}) { "a" : [ { "b" : [ 5 ] } ] } { "a" : [ [ { "b" : [ 5 ] } ] ] }-
La projection « $ » dans Amazon DocumentDB 4.0 renvoie tous les documents avec tous les champs. Avec Amazon DocumentDB 5.0, la find commande avec une projection « $ » renvoie les documents correspondant au paramètre de requête contenant uniquement le champ correspondant à la projection « $ ».
Dans Amazon DocumentDB 5.0, les find commandes
$regexet les paramètres de$optionsrequête renvoient une erreur : « Impossible de définir les options à la fois dans$regexet$options».Avec Amazon DocumentDB 5.0, renvoie
$indexOfCPdésormais « -1 » lorsque :la sous-chaîne est introuvable dans l'expression de chaîne, ou
le début est un nombre supérieur à la fin, ou
start est un nombre supérieur à la longueur en octets de la chaîne.
Dans Amazon DocumentDB 4.0,
$indexOfCPrenvoie « 0 » lorsque la position de début est un nombre supérieur à la fin ou à la longueur en octets de la chaîne.Avec Amazon DocumentDB 5.0, les opérations de projection
_id fields, par exemple{"_id.nestedField" : 1}, renvoient des documents qui incluent uniquement le champ projeté. Alors que dans Amazon DocumentDB 4.0, les commandes de projection de champs imbriquées ne filtrent aucun document.
Compatibilité avec MongoDB 4.0
Rubriques
Fonctionnalités d'Amazon DocumentDB 4.0
Amazon DocumentDB 4.0 a introduit de nombreuses nouvelles fonctionnalités et capacités, notamment des transactions ACID et des améliorations apportées aux flux de modifications. Le résumé ci-dessous présente certaines des principales fonctionnalités introduites dans Amazon DocumentDB 4.0. Pour consulter la liste complète des fonctionnalités, consultez leNotes de mise à jour.
-
Transactions ACID : Amazon DocumentDB permet désormais d'effectuer des transactions sur plusieurs documents, relevés, collections et bases de données. Les transactions simplifient le développement d'applications en vous permettant d'effectuer des opérations atomiques, cohérentes, isolées et durables (ACID) sur un ou plusieurs documents au sein d'un cluster Amazon DocumentDB. Pour de plus amples informations, veuillez consulter Transactions dans Amazon DocumentDB.
-
Flux de modifications : il est désormais possible d'ouvrir un flux de modifications au niveau du cluster (
client.watch()oumongo.watch()) et de la base de données (db.watch()), vous pouvez spécifier un curseurstartAtOperationTimepour ouvrir un flux de modifications, et enfin, vous pouvez désormais étendre la période de rétention de votre flux de modifications à 7 jours (au lieu de 24 heures). Pour de plus amples informations, veuillez consulter Utilisation des flux de modifications avec Amazon DocumentDB. -
AWS Database Migration Service(AWS DMS) : Vous pouvez désormais l'utiliser AWS DMS pour migrer vos charges de travail MongoDB 4.0 vers Amazon DocumentDB. AWS DMS prend désormais en charge une source MongoDB 4.0, une cible Amazon DocumentDB 4.0 et une source Amazon DocumentDB 3.6 pour effectuer des mises à niveau entre Amazon DocumentDB 3.6 et 4.0. Pour plus d'informations, consultez la documentation AWS DMS.
-
Performances et indexation : vous pouvez désormais utiliser un index avec
$lookup, rechercher des requêtes avec une projection contenant un champ ou un champ et le_idchamp peut être diffusé directement à partir de l'index et sans avoir à lire dans la collection (requête couverte), la possibilité dehint()withfindAndModify, des optimisations des performances et des améliorations visant à réduire la taille globale des index.$addToSetPour de plus amples informations, veuillez consulter Notes de mise à jour. -
Opérateurs : Amazon DocumentDB 4.0 prend désormais en charge un certain nombre de nouveaux opérateurs d'agrégation :
$ifNull$replaceRoot,$setIsSubset,$setIntersection,$setUnion,$setEquals. Vous pouvez consulter toutes les API, les opérations et les types de données de MongoDB que nous prenons en charge à l'API, opérations et types de données MongoDB pris en charge dans Amazon DocumentDBadresse. -
Contrôle d'accès basé sur les rôles (RBAC) : à l'aide des
ListDatabasecommandesListCollectionet, vous pouvez désormais utiliser lesauthorizedDatabasesparamètresauthorizedCollectionset de manière facultative pour permettre aux utilisateurs de répertorier les collections et les bases de données auxquelles ils sont autorisés à accéder sans avoir besoin deslistDatabaserôleslistCollectionset, respectivement. Vous avez également la possibilité de tuer vos propres curseurs sans avoir besoin duKillCursorrôle.
Amazon DocumentDB ne prend pas en charge toutes les fonctionnalités de MongoDB 4.0. Lorsque nous avons créé Amazon DocumentDB 4.0, nous avons travaillé en arrière à partir des fonctionnalités et des fonctionnalités que nos clients nous ont demandé de développer le plus souvent. Nous continuerons à ajouter des fonctionnalités supplémentaires à MongoDB 4.0 en fonction de ce que les clients nous demandent de développer. Par exemple, Amazon DocumentDB 4.0 ne prend actuellement pas en charge les opérateurs de conversion de type ou les opérateurs de chaîne introduits dans MongoDB 4.0. Pour obtenir la liste la plus récente des API prises en charge, consultezAPI, opérations et types de données MongoDB pris en charge dans Amazon DocumentDB.
Démarrez avec Amazon DocumentDB 4.0
Pour commencer à utiliser Amazon DocumentDB 4.0, consultez leDémarrez avec Amazon DocumentDB. Vous pouvez créer un nouveau cluster Amazon DocumentDB 4.0 à l'aide du Console de gestion AWS ou du AWS SDK AWS CLI, ou. CloudFormation Lorsque vous vous connectez à Amazon DocumentDB, vous devez utiliser un pilote ou un utilitaire MongoDB compatible avec MongoDB 4.0 ou version ultérieure.
Note
Lorsque vous utilisez le AWS SDK, ou AWS CLI CloudFormation, la version du moteur est par défaut 5.0.0. Vous devez spécifier explicitement le paramètre engineVersion = 4.0.0 pour créer un nouveau cluster Amazon DocumentDB 4.0 ou engineVersion = 3.6.0 pour créer un nouveau cluster Amazon DocumentDB 3.6. Pour un cluster Amazon DocumentDB donné, vous pouvez déterminer la version du cluster en appelant describe-db-clusters ou en utilisant la AWS CLI console de gestion Amazon DocumentDB pour afficher le numéro de version du moteur pour un cluster particulier.
Amazon DocumentDB 4.0 prend en charger5, r6gt3.medium, et les types d't4g.mediuminstance pour vos clusters et est disponible dans toutes les versions prises en charge Régions AWS. L'utilisation d'Amazon DocumentDB 4.0 est gratuite. Pour plus d'informations sur la tarification, consultez la rubrique Tarification d'Amazon DocumentDB (avec compatibilité avec MongoDB).
Effectuez une mise à niveau ou migrez vers Amazon DocumentDB 4.0
Vous pouvez migrer de MongoDB 3.6 ou MongoDB 4.0 vers Amazon DocumentDB 4.0 à l'aide des utilitaires AWS DMS
Différences fonctionnelles
Différences fonctionnelles entre Amazon DocumentDB 3.6 et 4.0
Avec la sortie d'Amazon DocumentDB 4.0, il existe des différences fonctionnelles entre Amazon DocumentDB 3.6 et Amazon DocumentDB 4.0 :
-
Projection pour les documents imbriqués : Amazon DocumentDB 3.6 prend en compte le premier champ d'un document imbriqué lors de l'application d'une projection. Cependant, Amazon DocumentDB 4.0 analysera les sous-documents et appliquera également la projection à chaque sous-document. Par exemple : si la projection l'est
"a.b.c": 1, le comportement dans les deux versions est identique. Toutefois, si la projection est définie,{a:{b:{c:1}}}Amazon DocumentDB 3.6 appliquera la projection uniquement à « a » et non à « b » ou « c ». -
Comportement pour
minKey,maxKey: Dans Amazon DocumentDB 4.0, le comportement pour ne{x:{$gt:MaxKey}}renvoie rien et pour{x:{$lt:MaxKey}}renvoie tout. -
Différences entre les documents : la comparaison de valeurs numériques de différents types (double, int, long) dans des sous-documents (par exemple,
bin{"_id" :1, "a" :{"b":1}}) fournit désormais une sortie cohérente pour tous les types de données numériques et pour chaque niveau d'un document.
Différences fonctionnelles entre Amazon DocumentDB 4.0 et MongoDB 4.0
Vous trouverez ci-dessous les différences fonctionnelles entre Amazon DocumentDB 4.0 et MongoDB 4.0.
-
Recherche avec une clé vide dans le chemin : lorsqu'une collection contient un document avec une clé vide dans le tableau (par exemple
{"x" : [ { "" : 10 }, { "b" : 20 } ]}), et lorsque la clé utilisée dans la requête se termine par une chaîne vide (par exemplex.), Amazon DocumentDB renvoie ce document puisqu'il parcourt tous les documents du tableau alors que MongoDB ne renvoie pas ce document. -
$setOnInsert$dans le chemin : L'opérateur de terrain ne$setOnInsertfonctionnera pas en combinaison avec dans le chemin$dans Amazon DocumentDB, qui est également compatible avec MongoDB 4.0.