Bonnes pratiques de création et d'utilisation de clés de partition de façon performante - Amazon DynamoDB

Bonnes pratiques de création et d'utilisation de clés de partition de façon performante

La clé primaire qui identifie de façon unique chaque élément dans un table Amazon DynamoDB peut être simple (uniquement une clé de partition) ou composite (une clé de partition associée à une clé de tri).

En général, vous devez concevoir votre application afin d'obtenir une activité uniforme sur toutes les clés de partition logique de la table et de ses index secondaires. Vous pouvez déterminer les modèles d'accès dont votre application a besoin et estimer les unités de capacité de lecture et les unités de capacité d'écriture dont chaque table et index secondaire a besoin.

DynamoDB prend automatiquement en charge vos modèles d'accès en utilisant le débit que vous avez alloué, tant que le trafic sur une clé de partition donnée ne dépasse pas 3 000 RCU ou 1 000 WCU.

Utilisation performante de la capacité de transmission en mode rafale

DynamoDB vous offre une certaine souplesse dans l'allocation du débit par partition en fournissant une capacité de débordement. Chaque fois que vous n'utilisez pas totalement le débit d'une partition, DynamoDB réserve une partie de cette capacité inutilisée pour des débordements de débit ultérieurs afin de pouvoir gérer les pics d'utilisation.

DynamoDB conserve actuellement jusqu'à cinq minutes (300 secondes) de capacité en lecture et en écriture non utilisée. En cas de débordement occasionnel d'activités de lecture ou d'écriture, ces unités de capacité supplémentaires peuvent être consommées rapidement, et même plus rapidement que la capacité de débit approvisionnée par seconde que vous avez définie pour votre table.

DynamoDB peut également utiliser la capacité de débordement pour la maintenance en arrière-plan et d'autres tâches effectuées sans préavis.

Notez que ces informations relatives à la capacité de transmission en mode rafale sont susceptibles d'évoluer.

Présentation de la capacité adaptative de DynamoDB

La capacité adaptative est une fonction qui permet à DynamoDB d'exécuter des charges de travail non équilibrées indéfiniment. Elle minimise les limitations en raison d'exceptions de débit. Elle vous permet également de réduire les coûts en vous donnant la possibilité de mettre en service uniquement la capacité de débit dont vous avez besoin.

La capacité adaptative est activée automatiquement pour chaque table DynamoDB sans coût supplémentaire. Vous n'avez pas besoin de l'activer ou de la désactiver explicitement.

Stimuler la capacité de débit pour les partitions à trafic élevé

Il n'est pas toujours possible de répartir les activités de lecture et d'écriture uniformément. Lorsque l'accès aux données est déséquilibré, une partition « en surchauffe » peut recevoir un volume de lectures et d'écritures bien supérieur à celui des autres partitions. Dans les cas extrêmes, il peut apparaître un goulot d'étranglement si une partition reçoit plus de 3 000 RCU (unités de capacité de lecture) ou 1 000 WCU (unités de capacité d'écriture).

Pour mieux s'adapter aux modèles d'accès irréguliers, la capacité adaptative de DynamoDB permet à votre application de poursuivre les opérations de lecture et d'écriture sur des partitions critiques sans limitation, tant que le trafic ne dépasse pas la capacité totale approvisionnée de votre table ou la capacité maximale de la partition. La capacité adaptative fonctionne en augmentant automatiquement et instantanément la capacité de débit des partitions qui reçoivent le plus de trafic.

Le graphique suivant illustre le fonctionnement de la capacité adaptative. Cet exemple de table dispose de 400 unités de capacité d'écriture (WCU) uniformément réparties entre quatre partitions, cela permettant à chaque partition de supporter jusqu'à 100 WCU par seconde. Les partitions 1, 2 et 3 reçoivent chacune un trafic d'écriture de 50 WCU/s. La partition 4 reçoit 150 WCU/s. Cette partition critique peut accepter du trafic d'écriture tant qu'elle dispose encore une capacité de débordement inutilisée, mais elle finit par limiter le trafic au-delà de 100 WCU/s.

La capacité adaptative de DynamoDB répond en augmentant la capacité de la partition 4 afin que cette dernière puisse soutenir la charge plus élevée de 150 WCU/s sans limitation.

Isoler les éléments fréquemment consultés

Si votre application génère un trafic excessivement élevé vers un ou plusieurs éléments, la capacité adaptative rééquilibre vos partitions de manière à ce que les éléments fréquemment utilisés ne résident pas sur la même partition. L'isolation des éléments fréquemment consultés réduit les possibilités de limitation des demandes en raison d'une charge de travail qui dépasse le quota de débit sur une seule partition.

Si votre application dirige systématiquement le trafic élevé vers un seul élément, la capacité adaptative peut rééquilibrer vos données de façon à ce qu'une partition contienne uniquement cet élément unique fréquemment consulté. Dans ce cas, DynamoDB peut fournir un débit atteignant le maximum de la partition, à savoir 3 000 RCU et 1 000 WCU, à la clé principale de cet élément unique.

Note

Cette fonctionnalité d'isolement n'est pas disponible pour