Vous aurez probablement des problèmes avec SimpleDB en raison de sa « cohérence éventuelle » sur les écritures. Cela signifie que lorsque vous écrivez des données, il n'est pas garanti qu'elles soient renvoyées dans une requête effectuée immédiatement après. J'ai entendu dire que vous êtes en sécurité après quelques secondes, mais vous devez coder le système pour en tenir compte.
Ceci a été légèrement atténué avec l'introduction des options conditionnelles, ce qui garantit qu'il n'y a pas de mises à jour perdues s'il y a des écritures simultanées. Le modèle de cohérence éventuel peut compliquer le codage de choses simples telles que les compteurs et les files d'attente.
Here est un exemple de compteur incrémentiel implanté dans Java à l'aide du kit AWS SDK. Remarquez dans la méthode nextValue
:
while (!done) {
Les clients retry essentiellement jusqu'à leur vente est proprement traitée. Ce n'est pas évolutif!
Merci pour l'info. Je pense que je vais cuisiner autre chose en utilisant s3 et un travailleur qui utilise le manifeste pour remplir msmq sur le serveur. D'après ce que j'ai lu il n'y a pas de limites sur la quantité d'écritures d'objets s3 simultanées. – Quotient
Ils avaient l'habitude de payer pour les puts simpledb et obtient (met 10x plus cher) donc c'était aussi une considération, mais ceux-ci ont disparu de leur prix donc je suppose qu'ils les ont abandonnés. Chaque fois que j'ai commencé à regarder simpledb, j'ai fini par utiliser s3 comme un magasin de clé/valeur et soit en sélectionnant intelligemment les touches, soit en les indexant localement. – Tim
Notez également que s3 vous permet d'interroger des compartiments avec un préfixe. Cela peut être génial de rechercher des dates en utilisant un préfixe:/aaaa/mm/jj/... – Tim