Bonnes pratiques de création et d'utilisation de clés de partition de façon performante - 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.

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é d'écriture et de lecture dont chaque table et index secondaire a besoin.

Par défaut, chaque partition de la table s'efforcera de fournir la capacité totale de 3 000 RCU et 1 000 WCU. Le débit total sur toutes les partitions de la table peut être limité par le débit provisionné en mode provisionné ou par la limite de débit au niveau de la table en mode à la demande. Pour de plus amples informations, veuillez consulter Service Quotas.

Utilisation efficace de la capacité de débordement

DynamoDB vous offre une certaine souplesse dans l'allocation du débit en fournissant une capacité de débordement. Chaque fois que vous n'utilisez pas totalement le débit disponible, 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. Comme les opérations de lecture et d'écriture sur une partition sont gérées indépendamment, la limitation se produit si une seule partition reçoit plus de 3 000 opérations de lecture ou plus de 1 000 opérations 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. Vous pouvez également diviser une collection d'éléments en segments par clé de tri, tant que la collection d'articles ne représente pas un trafic suivi par une augmentation ou une diminution monotone de la clé de tri.

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 seulement 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. La capacité adaptative ne fractionne pas les collections d'éléments entre plusieurs partitions de la table lorsqu'il existe un index secondaire localsur la table.