Opérations groupées efficaces - 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.

Opérations groupées efficaces

Quand utiliser ce modèle

Ces modèles sont utiles pour effectuer efficacement des mises à jour groupées sur des éléments DynamoDB.

  • DynamoDB-Shell n’est pas un cas d’utilisation pris en charge pour la production.

  • TransactWriteItems : jusqu’à 100 mises à jour individuelles avec ou sans conditions, exécutées sous la forme d’un lot ACID « tout ou rien »

    Compromis — Un débit supplémentaire est consommé, 2 WCUs par 1 Ko d'écriture.

  • PartiQL BatchExecuteStatement : jusqu’à 25 mises à jour avec ou sans conditions

    Compromis : une logique supplémentaire est requise pour distribuer les demandes par lots de 25.

  • AWS Step Functions — des opérations groupées à débit limité pour les développeurs qui les connaissent bien. AWS Lambda

    Compromis : le temps d’exécution est inversement proportionnel à la limite de débit. Limité par le délai d’expiration maximal de la fonction Lambda. Cette fonctionnalité implique que les modifications de données qui se produisent entre la lecture et l’écriture peuvent être remplacées. Pour plus d’informations, consultez Backfilling an Amazon DynamoDB Time to Live attribute using Amazon EMR: Part 2.

  • AWS Glue et Amazon EMR : opération en masse à débit limité avec parallélisme géré. Pour les applications ou les mises à jour qui ne sont pas urgentes, ces options ne peuvent s’exécuter en arrière-plan qu’en consommant un faible pourcentage du débit. Les deux services utilisent le emr-dynamodb-connector pour effectuer des opérations DynamoDB. Ces services effectuent une lecture importante suivie d’une écriture importante d’éléments mis à jour avec une option de limitation de débit.

    Compromis : le temps d’exécution est inversement proportionnel à la limite de débit. Avec cette fonctionnalité, les modifications de données qui se produisent entre la lecture et l’écriture peuvent être remplacées. Vous ne pouvez pas lire à partir des index secondaires globaux (GSIs). Consultez Remplissage d’un attribut de temps de vie Amazon DynamoDB à l’aide d’Amazon EMR : partie 2.

  • DynamoDB Shell : opérations groupées à débit limité utilisant des requêtes de type SQL. Vous pouvez lire ce qui suit GSIs pour une meilleure efficacité.

    Compromis : le temps d’exécution est inversement proportionnel à la limite de débit. Consultez Opérations groupées limitées en débit dans DynamoDB Shell.

Utilisation du motif

Les mises à jour groupées peuvent avoir des implications financières importantes, en particulier si vous utilisez le mode débit à la demande. Il existe un compromis entre vitesse et coût si vous utilisez le mode de débit provisionné. Un réglage très strict du paramètre de limite de débit peut entraîner un temps de traitement très long. Vous pouvez déterminer approximativement la vitesse de mise à jour à l’aide de la taille moyenne des articles et de la limite de débit.

Vous pouvez également déterminer le débit nécessaire pour le processus en fonction de la durée prévue du processus de mise à jour et de la taille moyenne des éléments. Les références de blog partagées avec chaque modèle fournissent des détails sur la stratégie, la mise en œuvre et les limites de l’utilisation du modèle. Pour plus d’informations, consultez Cost-effective bulk processing with Amazon DynamoDB.

Il existe plusieurs approches pour effectuer des mises à jour groupées sur une table DynamoDB active. L'approche appropriée dépend de facteurs tels que les exigences en matière d' and/or idempuissance de l'ACID, le nombre d'éléments à mettre à jour et le niveau de familiarité avec celui-ci. APIs Il est important de prendre en compte le compromis entre le coût et le temps. La plupart des approches décrites ci-dessus offrent une option permettant de limiter le débit utilisé par la tâche de mise à jour groupée.