2014-05-25 7 views
0

Nous migrons notre base de données MYSQL vers DynamoDB. Problème avec dynamoDb pour notre site Web est que nous avons beaucoup d'E/S. Les coûts de dynamoDB augmentent considérablement en raison des E/S élevées. Ma question est mieux posée comme un exemple:sont deux résultats d'une seule clé dans dynmodbo compté comme deux E/S?

Supposons que je dépiste le message pour un utilisateur. Supposons que l'ID de l'utilisateur est Key. Nous avons donc un identifiant d'utilisateur 1. Et le numéro de message est la clé de plage dans les valeurs incrémentielles. Et nous avons trois messages, 1,2,3. Je vais faire une table pour vous

Touche .... Plage ....... Message
1 ....... 1 .............. ..UK choisit un nouveau PM
1 ....... 2 ............... FR Le temps est froid
1 ....... 3 ... ............ Google Funds

Et supposons que je fasse une requête qui indique afficher les messages avec All Key = 1, et Range> 1. Cela retournera 2 éléments. Les messages 2 et 3 seront renvoyés.

La base de données dynamo compte-t-elle deux E/S, car deux enregistrements ont été renvoyés? Ou dynamoDB compte-t-il comme un enregistrement, car une requête a été exécutée sur une clé.

Répondre

0

Cela compterait comme 1 E/S ou 2 E/S ou même plus car cela dépend de la taille de votre rangée.

La définition exacte: Unité de capacité de lecture une représente lecture fortement marquée par seconde (ou deux lectures à cohérence à terme par seconde) pour les articles aussi grand que 4 KB

Donc, si vos lignes sont très grandes (100 KB), et votre requête renvoie 2 d'entre eux, alors ce sera 100 * 2/4 = 50 I/O. L'E/S est ici la même unité que celle utilisée dans le débit provisionné.

Le document officiel est here

Questions connexes