215 votes

Amazon SimpleDB vs Amazon DynamoDB

J'ai une compréhension de base de ce que Amazon SimpleDB est, mais selon le Amazon DynamoDB description, il semble que ce soit presque la même chose : un Magasin NoSQL clé-valeur service.

Quelqu'un peut-il simplement expliquer le principales différences entre eux et dire dans quels cas choisir l'un sur l'autre .

185voto

Steffen Opel Points 31067

Cette question est traitée dans les FAQ respectives Q : Quelle est la différence entre Amazon DynamoDB et Amazon SimpleDB ? Laquelle dois-je utiliser ? (le lien de hachage ne fonctionne plus, mais utilisez la fonction de recherche dans la page pour localiser la question dans la page) dans une certaine mesure déjà, avec le résumé le plus compact à la fin du paragraphe :

Bien que SimpleDB ait des limites de mise à l'échelle, il peut être une bonne solution pour les petites charges de travail qui nécessitent une certaine flexibilité en matière de requêtes. Amazon SimpleDB indexe automatiquement tous les attributs des éléments et permet ainsi une d'interrogation au prix de la performance et de l'échelle.

Il s'agit donc d'un compromis entre performance/extensibilité et simplicité/flexibilité, c'est-à-dire que pour les scénarios les plus simples, il peut être plus facile de commencer avec SimpleDB pour éviter les complexités de l'architecture de votre application pour DynamoDB (voir ci-dessous pour une perspective différente).

L'entrée de la FAQ mentionne l'ouvrage de Werner Vogel. Amazon DynamoDB - un service de base de données NoSQL rapide et évolutif conçu pour les applications à l'échelle d'Internet également, qui est en effet une lecture élaborée et donc hautement recommandée concernant la Histoire du NoSQL chez Amazon en général et Dynamo en particulier ; il contient de nombreuses autres informations qui répondent également à votre question, par exemple

Il est devenu évident que les développeurs [même les ingénieurs d'Amazon] simplicité fortement préférée à contrôle fin, ils ont voté " avec leurs pieds " et ont adopté des solutions solutions AWS basées sur le cloud, telles que Amazon S3 et Amazon SimpleDB, plutôt que Dynamo. [addition mine]

De toute évidence, DynamoDB a été introduit pour remédier à ce problème et pourrait donc être qualifié de successeur de SimpleDB plutôt que de "simple" modification de son offre NoSQL existante :

Nous avons conclu qu'une solution idéale combinerait les meilleures parties de conception originale de Dynamo (évolutivité incrémentale, hautes performances performances prévisibles) avec les meilleurs éléments de SimpleDB (facilité d'administration d'un service en nuage, cohérence, et un modèle de données basé sur des tables qui est plus riche qu'un pur magasin clé-valeur).

Werner Résumé suggère que DynamoDB est une bonne solution pour les applications de toute taille maintenant en conséquence :

Amazon DynamoDB est conçu pour maintenir des performances élevées et prévisibles. et pour être hautement rentable pour les charges de travail de toute taille, de la plus les plus petites aux plus grandes applications Internet.

27voto

Mason Zhang Points 1747

Utiliser SimpleDB ou DynamoDB, cela dépend de votre cas d'utilisation, j'ai partagé une partie de mon expérience en utilisant SimpleDB dans certains cas au lieu de DynamoDB . Dans un autre produit, j'ai utilisé à la fois SimpleDB et DynamoDB pour stocker différentes données.

30 votes

J'ai aimé l'article - ça ne ferait pas de mal de le résumer ici.

0 votes

J'ai également aimé le post. @Mason, que pensez-vous de la façon dont SimpleDCB a lentement disparu de la console des produits AWS ? Utilisez-vous toujours SimpleDB ou avez-vous migré ?

1 votes

@DavidRobbins SimpleDB a peut-être été déprécié par AWS, mais il existe toujours et s'adapte parfaitement à ma modalité de données. Je n'ai pas encore migré mon code, et je ne prévois pas de le faire. Mais pour les nouveaux produits, je choisis d'autres bases de données comme dynamodb ou mysql.

22voto

saille Points 3585

SimpleDB ne semble pas bénéficier de l'amour d'Amazon ces derniers temps - il est même difficile de trouver où le provisionner dans la console AWS. Il semble que SimpleDB ne soit plus itéré. - utilisez DynamoDB comme premier choix pour une base de données de documents sur AWS.

SimpleDb n'est plus vraiment "itéré". Ce qui signifie qu'il n'y a pas nouveau développement dans le futur pour SimpleDb. Il est "maintenu et supporté", mais il ne s'améliorera pas.

12voto

Sagar Ranglani Points 107

3 différences essentielles :

  1. Indexation

    • SimpleDB crée un index pour le champ "EVERY" dans une table.
    • DynamoDB, vous devez définir les champs d'indexation avant de créer la base de données, et ils ne peuvent pas être modifiés.
  2. La tarification :

    • Le prix de SimpleDB est basé sur les heures-machine et la capacité de stockage.
    • DynamoDB facture en fonction du nombre d'enregistrements lus/écrits par seconde.
  3. Évolutivité :

    • SimpleDB nécessite un partitionnement manuel si le stockage des données dépasse 10 Go.
    • DynamoDB distribue automatiquement les données sous le capot, offrant ainsi une très grande évolutivité.

6voto

kalyanswaroop Points 241

L'une des différences résidait (comme l'indique @Mason Zhang dans son article ci-dessus) dans l'indexation. DynamoDB vous limitait auparavant à la création d'index au moment de la création de la table. Cependant, maintenant (depuis début 2014), il existe le concept d'index secondaire global (GSI). Le GSI peut être créé sur la table à tout moment. Jusqu'à 5 sont supportés. Ainsi, l'indexation n'est plus un problème bloquant pour de nombreux cas d'utilisation.

Vous devez également savoir que SimpleDB a des limites de taille et de performance. (10GB et disons, 25 requêtes/sec)

Peut-être qu'à terme, DynamoDB remplacera SimpleDB dans tous les cas d'utilisation, sauf les plus simples.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X