Mode de capacité provisionnée - 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.

Mode de capacité provisionnée

Lorsque vous créez une nouvelle table provisionnée dans DynamoDB, vous devez spécifier sa capacité de débit provisionnée. Il s'agit du débit de lecture et d'écriture que la table peut prendre en charge. DynamoDB utilise ces informations pour s'assurer que les ressources système sont suffisantes pour répondre à vos exigences de débit.

Vous pouvez aussi activer la scalabilité automatique de DynamoDB pour gérer la capacité de débit de votre table. Pour utiliser la mise à l'échelle automatique, vous devez fournir les paramètres initiaux de capacité de lecture et d'écriture lors de la création de la table. DynamoDB auto Scaling utilise ces paramètres initiaux comme point de départ, puis les ajuste dynamiquement en fonction des exigences de votre application. Pour plus d’informations, consultez Gestion automatique de la capacité de débit avec la scalabilité automatique de DynamoDB.

À mesure que les exigences en matière de données et d'accès de votre application évoluent, vous devrez peut-être ajuster les paramètres de débit de votre table. Si vous utilisez la scalabilité automatique de DynamoDB, les paramètres de débit sont automatiquement ajustés en fonction des charges de travail réelles. Vous pouvez également utiliser cette UpdateTableopération pour ajuster manuellement la capacité de débit de votre table. Vous pouvez décider de procéder de la sorte si vous devez charger en masse des données à partir d'un magasin de données existant dans votre nouvelle table DynamoDB. Vous pouvez créer la table avec un paramètre de débit en écriture élevé, puis diminuer ce paramètre une fois que le chargement en masse des données est terminé.

Vous pouvez faire passer les tables du mode à la demande au mode capacité provisionnée à tout moment. Lorsque vous passez plusieurs fois d'un mode de capacité à un autre, les conditions suivantes s'appliquent :

  • Vous pouvez à tout moment faire passer une table nouvellement créée en mode à la demande en mode capacité provisionnée. Cependant, vous ne pouvez revenir en mode à la demande que 24 heures après l'horodatage de création de la table.

  • Vous pouvez à tout moment faire passer une table existante en mode à la demande en mode capacité provisionnée. Toutefois, vous ne pouvez le remettre en mode à la demande que 24 heures après le dernier horodatage indiquant un passage en mode à la demande.

Pour plus d'informations sur le basculement entre les modes de capacité de lecture et d'écriture, consultezConsidérations relatives au changement de mode de capacité.

Unités de capacité en lecture et unités de capacité en écriture

Pour les tables du mode provisionné, vous spécifiez les exigences de débit en termes d'unités de capacité. Ces unités représentent la quantité de données que votre application doit lire ou écrire par seconde. Si nécessaire, vous pouvez modifier ces paramètres ultérieurement, ou activer la scalabilité automatique de DynamoDB.

Pour un élément jusqu'à 4 Ko, une unité de capacité de lecture représente une opération de lecture fortement cohérente par seconde, ou deux opérations de lecture finalement cohérentes par seconde. Pour plus d'informations sur les modèles de cohérence de lecture DynamoDB, consultez. Cohérence en lecture

Une unité de capacité d'écriture représente une écriture par seconde pour un élément jusqu'à 1 Ko. Pour plus d'informations sur les différentes opérations de lecture et d'écriture, consultezOpérations de lecture et d'écriture.

Choix des paramètres de débit initial

Chaque application a des exigences différentes en matière de lecture et d'écriture dans une base de données. Lorsque vous déterminez les paramètres de débit initiaux d'une table DynamoDB, tenez compte des points suivants :

  • Taux de demandes de lecture et d'écriture attendus : vous devez estimer le nombre de lectures et d'écritures que vous devez effectuer par seconde.

  • Tailles des articles — Certains articles sont suffisamment petits pour pouvoir être lus ou écrits à l'aide d'une seule unité de capacité. Les éléments plus volumineux exigent plusieurs unités de capacité. En estimant la taille moyenne des éléments qui figureront dans votre table, vous pouvez définir des paramètres précis pour le débit provisionné de votre table.

  • Exigences de cohérence de lecture — Les unités de capacité de lecture sont basées sur des opérations de lecture très cohérentes, qui consomment deux fois plus de ressources de base de données que des lectures cohérentes à terme. Vous devez déterminer si votre application requière des lectures cohérentes fortes, ou si elle peut assouplir cette exigence et exécuter des lectures éventuellement cohérentes à la place. Les opérations de lecture dans DynamoDB sont finalement cohérentes, par défaut. Vous pouvez demander des lectures très cohérentes pour ces opérations, si nécessaire.

Supposons, par exemple, que vous souhaitiez lire 80 éléments par seconde dans un tableau. La taille de ces éléments est de 3 Ko et vous souhaitez des lectures très cohérentes. Dans ce cas, chaque lecture nécessite une unité de capacité de lecture provisionnée. Pour déterminer ce nombre, divisez la taille de l'élément de l'opération par 4 Ko. Puis, arrondissez au nombre entier le plus proche, comme indiqué dans l'exemple suivant :

  • 3 Ko/4 Ko = 0,75 ou 1 unité de capacité de lecture

Par conséquent, pour lire 80 éléments par seconde à partir d'une table, définissez le débit de lecture alloué à la table sur 80 unités de capacité de lecture, comme indiqué dans l'exemple suivant :

  • 1 unité de capacité de lecture par élément x 80 lectures par seconde = 80 unités de capacité de lecture

Supposons maintenant que vous souhaitiez écrire 100 éléments par seconde dans votre table et que la taille de chaque élément soit de 512 octets. Dans ce cas, chaque écriture nécessite une unité de capacité d'écriture provisionnée. Pour déterminer ce nombre, divisez la taille de l'élément de l'opération par 1 Ko. Puis, arrondissez au nombre entier le plus proche, comme indiqué dans l'exemple suivant :

  • 512 octets/1 Ko = 0,5 ou 1 unité de capacité d'écriture

Pour écrire 100 éléments par seconde dans votre table, définissez le débit d'écriture provisionné de la table sur 100 unités de capacité d'écriture :

  • 1 unité de capacité d'écriture par élément x 100 écritures par seconde = 100 unités de capacité d'écriture

Mise à l'échelle automatique de DynamoDB

DynamoDB auto Scaling gère activement la capacité de débit allouée aux tables et aux index secondaires globaux. Avec la scalabilité automatique, vous définissez une plage (limites supérieure et inférieure) pour les unités de capacité en lecture et en écriture. Vous définissez également un pourcentage d'utilisation cible dans cette plage. DynamoDB vise à maintenir votre utilisation cible, même lorsque la charge de travail de votre application augmente ou diminue.

Avec la scalabilité automatique de DynamoDB, une table ou un index secondaire global peut augmenter sa capacité de lecture et d'écriture approvisionnée de manière à gérer une augmentation soudaine du trafic, sans limitation de demande. Lorsque la charge de travail diminue, la scalabilité automatique de DynamoDB peut réduire le débit de sorte que vous ne payez pas pour une capacité approvisionnée non utilisée.

Note

Si vous utilisez le AWS Management Console pour créer une table ou un index secondaire global, le dimensionnement automatique de DynamoDB est activé par défaut.

Vous pouvez gérer les paramètres de mise à l'échelle automatique à tout moment à l'aide de la console AWS CLI, du ou de l'un des AWS SDK. Pour plus d’informations, consultez Gestion automatique de la capacité de débit avec la scalabilité automatique de DynamoDB.

Taux d'utilisation

Le taux d'utilisation peut vous aider à déterminer si vous surchargez la capacité de provisionnement. Dans ce cas, vous devez réduire la capacité de votre table pour réduire les coûts. À l'inverse, cela peut également vous aider à déterminer si votre capacité de provisionnement est insuffisante. Dans ce cas, vous devez augmenter la capacité de la table pour éviter toute limitation potentielle des demandes lors d'instances imprévues à fort trafic. Pour plus d'informations, consultez Amazon DynamoDB auto scaling : optimisation des performances et des coûts à n'importe quelle échelle.

Si vous utilisez le dimensionnement automatique DynamoDB, vous devez également définir un pourcentage d'utilisation cible. La mise à l'échelle automatique utilisera ce pourcentage comme cible pour ajuster la capacité à la hausse ou à la baisse. Nous recommandons de fixer l'objectif d'utilisation à 70 %. Pour plus d’informations, consultez Gestion automatique de la capacité de débit avec la scalabilité automatique de DynamoDB.