web-dev-qa-db-fra.com

Comment calculer l'unité de capacité de lecture et l'unité de capacité d'écriture pour DynamoDB

Comment calculer RCU et WCU avec les données données comme: débit de lecture de 32 Go/s et débit d’écriture de 16 Go/s.

24
pavikirthi

débit fourni par DynamoDB est basé sur une certaine taille d'unités et sur le nombre d'éléments en cours d'écriture:

Dans DynamoDB, vous spécifiez les exigences de débit allouées en termes d'unités de capacité. Utilisez les instructions suivantes pour déterminer votre débit alloué:

  • Une unité de capacité de lecture représente une lecture fortement cohérente par seconde, ou deux lectures éventuellement cohérentes par seconde, pour des éléments d'une taille maximale de 4 Ko. Si vous devez lire un élément de plus de 4 Ko, DynamoDB devra utiliser des unités de capacité de lecture supplémentaires. Le nombre total d'unités de capacité de lecture requises dépend de la taille de l'élément et de la nécessité d'une lecture cohérente ou cohérente.
  • Une unité de capacité d'écriture représente une écriture par seconde pour les éléments d'une taille maximale de 1 Ko. Si vous devez écrire un élément dont la taille est supérieure à 1 Ko, DynamoDB devra utiliser des unités de capacité d'écriture supplémentaires. Le nombre total d'unités de capacité d'écriture requises dépend de la taille de l'élément.

Par conséquent, lorsque vous déterminez la capacité souhaitée, vous devez savoir combien éléments vous souhaitez lire et écrire par seconde, ainsi que le taille de ces éléments.

Plutôt que de rechercher un Go/s particulier, vous devriez rechercher un nombre donné d'éléments que vous souhaitez lire/écrire à la seconde . C’est la fonctionnalité dont votre application aurait besoin pour atteindre les performances opérationnelles.

Il existe également quelques limites de DynamoDB applicables, mais celles-ci peuvent être modifiées à la demande:

  • Région USA Est (Virginie du Nord):
    • Par table - 40 000 unités de capacité de lecture et 40 000 unités de capacité d'écriture
    • Par compte - 80 000 unités de capacité de lecture et 80 000 unités de capacité d’écriture
  • Toutes les autres régions:
    • Par table - 10 000 unités de capacité de lecture et 10 000 unités de capacité d'écriture
    • Par compte - 20 000 unités de capacité de lecture et 20 000 unités de capacité d’écriture

À une capacité de lecture de 40 000 unités x 4 Ko x 2 (éventuellement cohérentes) = 320 Mo/s

Si mes calculs sont corrects, vos besoins sont 100 fois ce montant. Il semblerait donc que DynamoDB ne soit pas une solution appropriée pour des débits aussi élevés.

Vos vitesses sont-elles correctes?

Vient ensuite la question de savoir comment générer autant de données par seconde. Une fibre 10GFC en duplex intégral fonctionne à 2550 Mo/s, vous auriez donc besoin de plusieurs connexions par fibre pour transmettre ces données si elles entraient ou sortaient du nuage AWS.

Même Ethernet 10 Gbits ne fournit que 10 Gbits/s, le transfert de 32 Go prend donc 28 secondes - et c’est pour transmettre une seconde de données!

Résultat final: Vos exigences en matière de données sont très élevées. Êtes-vous sûr qu'ils sont réalistes?

65
John Rotenstein

si vous cliquez sur l'onglet Capacité de votre table dynamodb, un lien de calcul de la capacité apparaît à côté du coût estimé. vous pouvez l'utiliser pour déterminer les unités de capacité de lecture et d'écriture ainsi que leur coût estimé.

les unités de capacité de lecture dépendent du type de lecture dont vous avez besoin (fortement cohérent/éventuellement cohérent), de la taille de l'élément et du débit souhaité.

les unités de capacité d'écriture sont déterminées uniquement par le débit et la taille de l'article.

pour calculer la taille de l’article, vous pouvez vous référer this et ci-dessous est une capture d’écran de la calculatrice enter image description here