Débit maximal DynamoDB pour les tables à la demande - Amazon DynamoDB

Débit maximal DynamoDB pour les tables à la demande

Pour les tables à la demande, vous pouvez éventuellement spécifier le débit maximal de lecture ou d’écriture (ou les deux) par seconde pour les tables individuelles et les index secondaires globaux (GSI) associés. La spécification d’un débit maximal à la demande permet de limiter l’utilisation et les coûts au niveau de la table. Par défaut, les paramètres de débit maximal ne s’appliquent pas et votre débit à la demande est limité par un quota de service AWS de débit de lecture et d’écriture de 40 000 au niveau des tables, pour toutes les tables du compte. Si nécessaire, vous pouvez demander une augmentation de votre quota de service.

Lorsque vous configurez le débit maximal pour une table à la demande, les demandes de débit dépassant le montant maximum spécifié seront limitées. Vous pouvez modifier les paramètres de débit au niveau de la table à tout moment, en fonction des exigences de votre application.

Voici quelques cas d’utilisation courants qui peuvent bénéficier d’une utilisation d’un débit maximal pour les tables à la demande :

  • Optimisation des coûts de débit : l’utilisation d’un débit maximal pour les tables à la demande fournit une couche supplémentaire de prévisibilité et de gérabilité des coûts. En outre, il offre plus de flexibilité pour utiliser le mode à la demande afin de prendre en charge des charges de travail présentant des modèles de trafic et des budgets différents.

  • Protection contre une utilisation excessive : en définissant un débit maximal, vous pouvez éviter une augmentation accidentelle de la consommation en lecture ou en écriture, qui pourrait résulter d’un code non optimisé ou de processus malveillants, par rapport à une table à la demande. Ce paramètre au niveau de la table peut éviter aux organisations de consommer trop de ressources dans un certain laps de temps.

  • Protection des services en aval : une application client peut inclure des technologies avec et sans serveur. La partie sans serveur de l’architecture peut évoluer rapidement pour répondre à la demande. Toutefois, les composants en aval dotés de capacités fixes pourraient être débordés. La mise en œuvre de paramètres de débit maximal pour les tables à la demande peut empêcher la propagation d’un grand nombre d’événements vers plusieurs composants en aval, avec des effets secondaires inattendus.

Vous pouvez configurer le débit maximal pour le mode à la demande pour les tables à région unique nouvelles et existantes, les tables globales et les GSI. Vous pouvez également configurer le débit maximal lors de la restauration des tables et de l’importation de données à partir des flux de travail Amazon S3.

Vous pouvez définir les paramètres de débit maximal pour une table à la demande à l’aide de la console DynamoDB, de l’AWS CLI, d’AWS CloudFormation ou de l’API DynamoDB.

Note

Le débit maximal pour une table à la demande est appliqué dans la mesure du possible et doit être considéré comme des objectifs plutôt que comme des plafonds de demandes garantis. Votre charge de travail peut temporairement dépasser le débit maximal spécifié en raison de la capacité de débordement. Dans certains cas, DynamoDB consomme la capacité de débordement pour gérer les lectures ou écritures excédentaires par rapport aux paramètres de débit maximal de votre table. La capacité de transmission en mode rafale permet de satisfaire les demandes inattendues en lecture ou en écriture, alors qu’elles seraient sinon limitées.

Considérations relatives à l’utilisation du débit maximal pour le mode à la demande

Lorsque vous utilisez le débit maximal pour les tables en mode à la demande, les considérations suivantes s’appliquent :

  • Vous pouvez définir indépendamment le débit maximal applicable aux lectures et aux écritures pour n’importe quelle table à la demande ou définir un index secondaire global individuel au sein de cette table afin d’optimiser votre approche en fonction d’exigences spécifiques.

  • Vous pouvez utiliser Amazon CloudWatch pour surveiller et comprendre les métriques d’utilisation de DynamoDB au niveau des tables, ainsi que pour déterminer les paramètres de débit maximal appropriés pour le mode à la demande. Pour en savoir plus, consultez Métriques et dimensions DynamoDB.

  • Lorsque vous spécifiez les paramètres de débit maximal en lecture ou en écriture (ou les deux) sur un réplica de table globale, les mêmes paramètres de débit maximal sont automatiquement appliqués à toutes les tables de réplica. Pour garantir une réplication correcte des données, il est important que les tables de réplica et les index secondaires dans votre table globale aient des paramètres de débit d’écriture identiques. Pour en savoir plus, consultez Bonnes pratiques relatives aux tables globales.

  • Le plus petit débit maximal de lecture ou d’écriture que vous pouvez spécifier est d’une unité de demande par seconde.

  • Le débit maximal que vous spécifiez doit être inférieur au quota de débit par défaut disponible pour toute table à la demande ou pour un index secondaire global individuel au sein de cette table.

Limitation des demandes et métriques CloudWatch

Si votre application dépasse le débit de lecture ou d’écriture maximal que vous avez défini dans votre table à la demande, DynamoDB commence à limiter ces demandes. Quand DynamoDB limite une opération de lecture ou d’écriture, un code ThrottlingException est renvoyé à l’appelant. Vous pouvez ensuite prendre les mesures appropriées, le cas échéant. Par exemple, vous pouvez augmenter ou désactiver le paramètre de débit maximal des tables, ou attendre quelques instants avant de réessayer.

Pour simplifier la surveillance du débit maximal configuré pour une table ou un index secondaire global, CloudWatch fournit les métriques suivantes : OnDemandMaxReadRequestUnits et OnDemandMaxWriteRequestUnits.