Versions des tables globales DynamoDB - Amazon DynamoDB

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.

Versions des tables globales DynamoDB

Deux versions des tables globales DynamoDB sont disponibles : les tables globales version 2019.11.21 (actuelle) et les tables globales version 2017.11.29 (ancienne version). Nous recommandons d'utiliser la version 2019.11.21 (actuelle) de Global Tables, car elle est plus facile à utiliser, est prise en charge dans un plus grand nombre de régions et coûte moins cher pour la plupart des charges de travail par rapport à la version 2017.11.29 (ancienne).

Déterminer la version d'une table globale

Déterminer la version à l'aide du AWS CLI

Identification d'une réplique de table globale de la version 2019.11.21 (actuelle)

Pour déterminer si une table est une réplique de tables globales version 2019.11.21 (Current), appelez la describe-table commande correspondante. Si la sortie contient l'GlobalTableVersionattribut dont la valeur est « 2019.11.21 », la table est une réplique de table globale de la version 2019.11.21 (Current).

Exemple de commande CLI pour describe-table :

aws dynamodb describe-table \ --table-name users \ --region us-east-2

La sortie (abrégée) contient l'GlobalTableVersionattribut dont la valeur est « 2019.11.21 ». Cette table est donc une réplique de table globale de la version 2019.11.21 (Current).

{ "Table": { "AttributeDefinitions": [ { "AttributeName": "id", "AttributeType": "S" }, { "AttributeName": "name", "AttributeType": "S" } ], "TableName": "users", ... "GlobalTableVersion": "2019.11.21", "Replicas": [ { "RegionName": "us-west-2", "ReplicaStatus": "ACTIVE", } ], ... } }

Identification d'une réplique de table globale de la version 2017.11.29 (Legacy)

La version 2017.11.29 (Legacy) des tables globales utilise un ensemble de commandes dédié pour la gestion globale des tables. Pour déterminer si une table est une réplique de tables globales version 2017.11.29 (Legacy), appelez la describe-global-table commande correspondante. Si vous recevez une réponse positive, la table est une réplique de table globale de la version 2017.11.29 (Legacy). Si la describe-global-table commande renvoie une GlobalTableNotFoundException erreur, la table n'est pas une réplique de la version 2017.11.29 (Legacy).

Exemple de commande CLI pour describe-global-table :

aws dynamodb describe-global-table \ --table-name users \ --region us-east-2

La commande renvoie une réponse réussie. Cette table est donc une réplique de table globale de la version 2017.11.29 (Legacy).

{ "GlobalTableDescription": { "ReplicationGroup": [ { "RegionName": "us-west-2" }, { "RegionName": "us-east-2" } ], "GlobalTableArn": "arn:aws:dynamodb::123456789012:global-table/users", "CreationDateTime": "2025-06-10T13:55:53.630000-04:00", "GlobalTableStatus": "ACTIVE", "GlobalTableName": "users" } }

Détermination de la version à l'aide de la console DynamoDB

Pour identifier la version d'une réplique de table globale, effectuez les opérations suivantes :

  1. Ouvrez la console DynamoDB à la maison. https://console.aws.amazon.com/dynamodb/

  2. Dans le volet de navigation sur le côté gauche de la console, choisissez Tables.

  3. Choisissez la table dont vous souhaitez identifier la version des tables globales.

  4. Choisissez l'onglet Tables globales.

    La section Résumé affiche la version des tables globales utilisées.

Différences de comportement entre les anciennes versions et les versions actuelles

La liste suivante décrit les différences de comportement entre les versions héritées et actuelles des tables globales.

  • la version 2019.11.21 (actuelle) consomme moins de capacité d'écriture pour plusieurs opérations DynamoDB par rapport à la version 2017.11.29 (ancienne) et est donc plus rentable pour la plupart des clients. Les différences entre ces opérations DynamoDB sont les suivantes :

    • PutItemPour invoquer un élément de 1 Ko dans une région et le répliquer vers d'autres régions, il faut 2 r WRUs par région pour le 29 novembre 2017 (ancien), mais seulement 1 RWru pour le 21 novembre 2019 (actuel).

    • L'invocation UpdateItemd'un élément de 1 Ko nécessite 2 r WRUs dans la région source et 1 RWru par région de destination pour le 29 novembre 2017 (ancienne), mais un seul RWru pour les régions source et de destination pour le 21 novembre 2019 (actuel).

    • L'appel DeleteItemd'un élément de 1 Ko nécessite 1 RWru dans la région source et 2 r WRUs par région de destination pour le 29 novembre 2017 (ancien), mais un seul RWru pour la région source ou de destination pour le 21 novembre 2019 (actuel).

    Le tableau suivant montre la consommation de RWru des tables du 29 novembre 2017 (ancienne version) et du 21 novembre 2019 (actuelle) pour un article de 1 Ko dans deux régions.

    Opération 2017.11.29 (Héritage) 2019.11.21 (actuel) Economie
    PutItem 4 r WRUs 2 ou 3 WRUs 50%
    UpdateItem 3 r WRUs 2 ou 3 WRUs 33 %
    DeleteItem 3 r WRUs 2 ou 3 WRUs 33 %
  • la version 2017.11.29 (Legacy) n'est disponible qu'en 11. Régions AWS Cependant, la version 2019.11.21 (actuelle) est disponible dans tous les. Régions AWS

  • Vous créez les tables globales de la version 2017.11.29 (Legacy) en créant d'abord un ensemble de tables régionales vides, puis en invoquant l'CreateGlobalTableAPI pour former la table globale. Vous créez des tables globales de la version 2019.11.21 (Current) en appelant l'UpdateTableAPI pour ajouter une réplique à une table régionale existante.

  • la version 2017.11.29 (Legacy) vous oblige à vider toutes les répliques de la table avant d'ajouter une réplique dans une nouvelle région (y compris lors de la création). La version 2019.11.21 (actuelle) vous permet d'ajouter et de supprimer des répliques dans les régions d'une table contenant déjà des données.

  • la version 2017.11.29 (Legacy) utilise l'ensemble de plans de contrôle dédié suivant APIs pour gérer les répliques :

    la version 2019.11.21 (Current) utilise le DescribeTableet UpdateTable APIs pour gérer les répliques.

  • la version 2017.11.29 (Legacy) publie deux enregistrements DynamoDB Streams pour chaque écriture. La version 2019.11.21 (actuelle) ne publie qu'un seul enregistrement DynamoDB Streams pour chaque écriture.

  • la version 2017.11.29 (Legacy) renseigne et met à jour les aws:rep:updatetime attributs aws:rep:deletingaws:rep:updateregion, et. La version 2019.11.21 (actuelle) ne renseigne ni ne met à jour ces attributs.

  • la version 2017.11.29 (Legacy) ne synchronise pas les Utilisation du temps de vie (TTL) dans DynamoDB paramètres entre les répliques. La version 2019.11.21 (actuelle) synchronise les paramètres TTL entre les répliques.

  • la version 2017.11.29 (Legacy) ne réplique pas les suppressions TTL vers d'autres répliques. La version 2019.11.21 (actuelle) réplique les suppressions TTL sur toutes les répliques.

  • la version 2017.11.29 (Legacy) ne synchronise pas les paramètres de mise à l'échelle automatique entre les répliques. La version 2019.11.21 (actuelle) synchronise les paramètres de mise à l'échelle automatique entre les répliques.

  • la version 2017.11.29 (Legacy) ne synchronise pas les paramètres de l'index secondaire global (GSI) entre les répliques. La version 2019.11.21 (Current) synchronise les paramètres GSI entre les répliques.

  • la version 2017.11.29 (Legacy) ne synchronise pas les paramètres de chiffrement au repos entre les répliques. La version 2019.11.21 (actuelle) synchronise les paramètres de chiffrement au repos entre les répliques.

  • la version 2017.11.29 (Legacy) publie la PendingReplicationCount métrique. La version 2019.11.21 (Current) ne publie pas cette métrique.

Mise à niveau vers la version actuelle

Autorisations requises pour la mise à niveau des tables globales

Pour passer à la version 2019.11.21 (actuelle), vous devez disposer d'dynamodb:UpdateGlobalTableversionautorisations dans toutes les régions dotées de répliques. Ces autorisations sont requises en plus des autorisations nécessaires pour accéder à la console DynamoDB et consulter les tables.

La politique IAM suivante autorise la mise à niveau de n'importe quelle table globale vers la version 2019.11.21 (actuelle).

{ "version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dynamodb:UpdateGlobalTableversion", "Resource": "*" } ] }

La politique IAM suivante accorde l'autorisation de mettre à niveau uniquement la table Music globale contenant des répliques dans deux régions vers la version 2019.11.21 (actuelle).

{ "version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dynamodb:UpdateGlobalTableversion", "Resource": [ "arn:aws:dynamodb::123456789012:global-table/Music", "arn:aws:dynamodb:ap-southeast-1:123456789012:table/Music", "arn:aws:dynamodb:us-east-2:123456789012:table/Music" ] } ] }

À quoi s'attendre lors de la mise à niveau

  • Toutes les répliques de tables globales continueront à traiter le trafic de lecture et d'écriture pendant la mise à niveau.

  • Le processus de mise à niveau prend entre quelques minutes et plusieurs heures selon la taille de la table et le nombre de répliques.

  • Au cours du processus de mise à niveau, la valeur de TableStatuspassera de ACTIVE àUPDATING. Vous pouvez consulter le statut de la table en appelant l'DescribeTableAPI ou en utilisant la vue Tables dans le.

  • Le dimensionnement automatique n'ajustera pas les paramètres de capacité provisionnée pour une table globale pendant la mise à niveau de la table. Nous vous recommandons vivement de configurer la table en mode capacité à la demande lors de la mise à niveau.

  • Si vous choisissez d'utiliser le mode capacité allouée avec mise à l'échelle automatique lors de la mise à niveau, vous devez augmenter le débit minimum de lecture et d'écriture de vos politiques afin de tenir compte des augmentations de trafic attendues afin d'éviter toute limitation pendant la mise à niveau.

  • La ReplicationLatency métrique peut signaler temporairement les pics de latence ou arrêter de signaler les données métriques pendant le processus de mise à niveau. VoirReplicationLatency, pour plus d'informations.

  • Une fois le processus de mise à niveau terminé, le statut de votre table passe àACTIVE.

Comportement de DynamoDB Streams avant, pendant et après la mise à niveau

Opération Région de réplique Comportement avant mise à niveau Comportement lors de la mise Comportement après mise à niveau

Mettre ou mettre à jour

Source

La population d'horodatage se produit en utilisant. UpdateItem La population d'horodatage se produit en utilisant. PutItem Aucun horodatage visible par le client n'est généré.
Deux enregistrements Streams sont générés. Le premier enregistrement contient les attributs écrits par le client. Le deuxième enregistrement contient les aws:rep:* attributs. Deux enregistrements Streams sont générés. Le premier enregistrement contient les attributs écrits par le client. Le deuxième enregistrement contient les aws:rep:* attributs. Un seul enregistrement Streams contenant les attributs écrits par le client est généré.
Deux r WCUs sont consommés pour chaque écriture du client. Deux r WCUs sont consommés pour chaque écriture du client. Un RWCu est consommé pour chaque écriture du client.
ReplicationLatencyet PendingReplicationCount les statistiques sont publiées dans CloudWatch. ReplicationLatencyet PendingReplicationCount les statistiques sont publiées dans CloudWatch. ReplicationLatencyla métrique est publiée dans CloudWatch.

Destination (Destination)

La réplication s'effectue à l'aide de PutItem. La réplication s'effectue à l'aide de PutItem. La réplication s'effectue à l'aide de PutItem.
Un seul enregistrement Streams est généré, qui contient à la fois les attributs écrits par le client et les aws:rep:* attributs. Un seul enregistrement Streams est généré, qui contient à la fois les attributs écrits par le client et les aws:rep:* attributs. Un seul enregistrement Streams est généré, qui contient uniquement les attributs écrits par le client et aucun attribut de réplication.
Un RWCu est consommé si l'article existe dans la région de destination. Deux r WCUs sont consommés si l'article n'existe pas dans la région de destination. Un RWCu est consommé si l'article existe dans la région de destination. Deux r WCUs sont consommés si l'article n'existe pas dans la région de destination. Un RWCu est consommé pour chaque écriture du client.
ReplicationLatencyet PendingReplicationCount les statistiques sont publiées dans CloudWatch. ReplicationLatencyet PendingReplicationCount les statistiques sont publiées dans CloudWatch. ReplicationLatencyla métrique est publiée dans CloudWatch.

Suppression

Source

Supprimez tout élément dont l'horodatage est plus petit en utilisant. DeleteItem Supprimez tout élément dont l'horodatage est plus petit en utilisant. DeleteItem Supprimez tout élément dont l'horodatage est plus petit en utilisant. DeleteItem
Un seul enregistrement Streams est généré, qui contient à la fois les attributs écrits par le client et les aws:rep:* attributs. Un seul enregistrement Streams est généré, qui contient à la fois les attributs écrits par le client et les aws:rep:* attributs. Un seul enregistrement Streams est généré, qui contient les attributs écrits par le client.
Un RWCU est consommé pour chaque suppression par un client. Un RWCU est consommé pour chaque suppression par un client. Un RWCU est consommé pour chaque suppression par un client.
ReplicationLatencyet PendingReplicationCount les statistiques sont publiées dans CloudWatch. ReplicationLatencyet PendingReplicationCount les statistiques sont publiées dans CloudWatch. ReplicationLatencyla métrique est publiée dans CloudWatch.

Destination (Destination)

Des suppressions en deux phases ont lieu :

  • Dans la phase 1, UpdateItem définit l'indicateur de suppression.

  • Dans la phase 2, DeleteItem supprime l'élément.

Supprime l'élément à l'aide DeleteItem de. Supprime l'élément à l'aide DeleteItem de.
Deux enregistrements Streams sont générés. Le premier enregistrement contient la modification apportée au aws:rep:deleting champ. Le deuxième enregistrement contient les attributs écrits par le client et les aws:rep:* attributs. Un seul enregistrement Stream est généré, qui contient les attributs écrits par le client. Un seul enregistrement Stream est généré, qui contient les attributs écrits par le client.
Deux r WCUs sont consommés pour chaque suppression par un client. Un RWCU est consommé pour chaque suppression par un client. Un RWCU est consommé pour chaque suppression par un client.
ReplicationLatencyet PendingReplicationCount les statistiques sont publiées dans CloudWatch. ReplicationLatencyla métrique est publiée dans CloudWatch. ReplicationLatencyla métrique est publiée dans CloudWatch.

Mise à niveau vers la version 2019.11.21 (actuelle)

Procédez comme suit pour mettre à niveau votre version des tables globales DynamoDB à l'aide du. AWS Management Console

Pour mettre à niveau les tables globales vers la version 2019.11.21 (actuelle)
  1. Ouvrez la console DynamoDB à la maison. https://console.aws.amazon.com/dynamodb/

  2. Dans le volet de navigation sur le côté gauche de la console, choisissez Tables, puis sélectionnez la table globale que vous souhaitez mettre à niveau vers la version 2019.11.21 (Current).

  3. Choisissez l'onglet Tables globales.

  4. Choisissez Update version (Mettre à jour la version).

    Capture d'écran de la console illustrant le bouton Update version (Mettre à jour la version).
  5. Lisez et acceptez les nouvelles exigences, puis choisissez Mettre à jour la version.

  6. Une fois le processus de mise à niveau terminé, la version des tables globales qui apparaît sur la console devient 2019.11.21.