2012-01-20 3 views
1

De ce que je comprends, avec Amazon DynamoDB vous payez pour le débit provisionné. L'application 1 effectue un taux d'écriture plus ou moins constant, les données sont idéales pour stocker des clés/valeurs et ne lisent jamais les données. Au moment où son 3 - 5k écrit/heure, mais il est lié à augmenter une fois que nous lançons. Application2 lit (à partir des données écrites par l'application1) une heure d'enregistrements toutes les heures et lit un jour d'enregistrements chaque jour. La cohérence éventuelle est acceptable.Dynamodb est bon pour mon utilisation? (lectures en bloc)

Alors ai-je raison de supposer que dynamodb ne me convient pas? Comme dans je devrais fournir un taux de lecture élevé, même si je frappe ce taux seulement pendant quelques secondes toutes les heures? Existe-t-il un moyen de vider les enregistrements? Pour l'instant, j'utilise master/slave sur mongodb. J'utilise l'esclave pour mes lectures de lot, de sorte que cela n'affecte pas le maître ... mais je préfère plutôt laisser quelqu'un d'autre gérer l'infrastructure db.

Répondre

3

Alors, ai-je raison de supposer que dynamodb ne me convient pas? Bonne question - Je n'aboutirai pas nécessairement à votre conclusion, bien que vous deviez tenir compte des caractéristiques spécifiques de coût/performance, qui peuvent ou non dépasser les avantages que vous recherchez. Comme dans je devrais provisionner un taux de lecture élevé, même si je frappe ce taux seulement pour quelques secondes toutes les heures?

C'est exact, Vous payez un taux horaire fixe, en fonction de la capacité dont vous réserver (voir Pricing) et de la capacité de fourniture de se doit aux exigences de débit maximales rencontrées pour la lecture un heure valeur de dossiers en conséquence afin pour éviter d'être étranglé.

De plus, vous devrez ajuster la capacité provisionnée pour le pic quotidien de un jour d'enregistrements tous les jours. Comme d'habitude pour AWS il y a une API disponible pour ce faire, mais être au courant des éléments FAQ connexes, .: par exemple

Ce dernier est particulièrement difficile, dans la mesure Vous pouvez augmenter votre débit provisionnés aussi souvent que vous voulez, mais Vous pouvez diminuer une fois par jour seulement!

Évidemment, vous devriez également consulter les autres FAQ disponibles concernant Débit paramétré, car il pourrait y avoir encore plus de subtilités. Compte tenu des complexités impliquées, il est probablement inévitable de saisir pleinement le concept de Provisioned Throughput in Amazon DynamoDB, dans la mesure où il faut en tenir compte dans l'architecture pour atteindre les résultats souhaités.Le calcul des détails de coût et de performance pour un cas d'utilisation particulier est apparemment un exercice non trivial pour DynamoDB;)

+0

Merci pour la réponse détaillée, mais la table de prix indique que vous payez pour les lectures d'articles/seconde. Donc, dans mon cas, je veux lire 4k articles toutes les heures, mais je veux que cette lecture en bloc se produise dans les 10 secondes. Je devrais provisionner pour 400 lectures/seconde = 200 unités (puisque je ne m'occupe pas de la cohérence éventuelle). la page de prix donne l'impression que le débit est par seconde et non moyenné par heure. Je suppose qu'il est grand temps que je devrais me salir les mains et l'essayer au moins. – sajal

+0

@sajal - vous avez raison, le prix n'est pas moyenné par heure; J'ai reformulé ma réponse pour souligner le concept de débit maximum par heure, désolé d'être trompeur à cet égard. –

Questions connexes