web-dev-qa-db-fra.com

Amazon SimpleDB vs Amazon DynamoDB

J'ai quelques notions de base sur ce que Amazon SimpleDB est, mais selon la description de Amazon DynamoDB , il semble être presque identique: a magasin NoSQL Key-value service.

Quelqu'un peut-il simplement expliquer les principales différences entre eux et indiquer dans quels cas choisir l'un par rapport à l'autre .

187
Bilgin Ibryam

FAQ Q: Quelle est la différence entre Amazon DynamoDB et Amazon SimpleDB? Lequel dois-je utiliser? (le lien de hachage ne fonctionne plus, mais utilisez la fonction Trouver 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 en matière de dimensionnement, il peut convenir aux charges de travail plus petites nécessitant une souplesse de requête. Amazon SimpleDB indexe automatiquement tous les attributs d'élément et prend donc en charge la flexibilité des requêtes au détriment des performances et de l'échelle.

C’est donc un compromis entre performance/évolutivité et simplicité/flexibilité. Autrement dit, pour des scénarios plus simples, il serait peut-être encore plus facile de démarrer avec SimpleDB afin d’éviter la complexité de l’architecture de votre application pour DynamoDB (voir ci-dessous pour une perspective différente).

L'entrée liée FAQ fait référence à Werner Vogel Amazon DynamoDB - un service de base de données NoSQL rapide et évolutif conçu pour les applications de balance Internet également, ce qui est une lecture complexe et hautement recommandée. concernant l'historique de NoSQL sur Amazon en général et Dynamo en particulier; il contient de nombreuses autres idées qui répondent également à votre question, par exemple.

Il est devenu évident que les développeurs [même les ingénieurs d'Amazon] préféraient fortement la simplicité au contrôle précis, car ils votaient "avec leurs pieds" et adoptaient AWS dans le cloud. solutions, comme Amazon S3 et Amazon SimpleDB, sur Dynamo. [addition mienne]

Evidemment, DynamoDB a été introduit pour résoudre ce problème et pourrait donc être qualifié de successeur de SimpleDB plutôt que de "modifier" simplement leur offre NoSQL existante:

Nous avons conclu qu'une solution idéale permettrait de combiner les meilleures parties de la conception Dynamo d'origine (évolutivité incrémentielle, performances élevées prévisibles) avec les meilleures parties de SimpleDB (facilité d'administration d'un service cloud, cohérence et modèle de données basé sur des tables). plus riche qu'un pur magasin clé-valeur).

Le résumé de Werner suggère que DynamoDB convient parfaitement aux applications de toutes tailles, en conséquence:

Amazon DynamoDB a été conçu pour maintenir des performances élevées et prévisibles, ainsi que pour des charges de travail de toutes les tailles, des plus petites aux plus grandes applications Internet.

166
Steffen Opel

utiliser SimpleDB ou DynamoDB, cela dépend de votre cas d'utilisation. J'ai partagé une partie de mon expérience avec SimpleDB dans certains cas au lieu de DynamoDB . Dans un autre produit, j'ai utilisé SimpleDB et DynamoDB pour stocker des données différentes.

23
Mason Zhang

De nos jours, SimpleDB ne semble pas susciter l’amour d’Amazon. Il est difficile de trouver même où le mettre en service dans la console AWS. On dirait que SimpleDB n'est plus itéré sur - utilisez DynamoDB comme premier choix pour une base de données de documents sur AWS.

SimpleDb n'est plus vraiment "itéré sur". Ce qui signifie qu'il n'y a pas de nouveau développement à l'avenir pour simpledb. Il est "maintenu et soutenu", mais cela ne va pas aller mieux.

12
saille

3 différences principales:

  1. Indexage

    • SimpleDB crée un index pour le champ "EVERY" dans une table.
    • DynamoDB vous devez définir des champs d’indexation avant de créer la base de données et ne peut pas être modifié.
  2. Prix:

    • La tarification de SimpleDB est basée sur les heures machine et la capacité de stockage
    • DynamoDB facture de l'argent en fonction de la capacité de lecture/écriture des enregistrements par seconde.
  3. Evolutivité:

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

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

Vous devez également savoir que SimpleDB a des limites de taille et de performances. (10 Go et disons, 25 demandes/s)

Peut-être que DynamoDB remplacera éventuellement SimpleDB dans tous les cas d'utilisation, sauf les plus simples.

5
kalyanmysore

En termes simples, les deux magasins de données sont NoSql.

La différence réside dans l'évolutivité (et quelques autres aspects, mais la mise à l'échelle est la plus grande valeur, à mon avis). SimpleDB est assez similaire à MongoDB mais a un tas de limitations en ce qui concerne la mise à l'échelle.

Mais DynamoDB vous permet d’allouer de petites ressources et d’augmenter autant de débit fourni dont vous avez besoin. Et réduisez quand ce n'est pas nécessaire. (c.-à-d. pendant une promotion, les scénarios de parrainage de célébrités, etc., comme celui-ci auront un pic de configuration matérielle en fonction du temps)

0
Gayan Hewa

Je crois que la différence majeure entre Simple DB et Dynamo DB est

  1. Performances prévisibles en termes de latence et capacité à gérer des volumes élevés sans compromettre la latence et le débit. DynamoDB y parvient en utilisant la clé de partition
  2. Optimisations de lecture et d'écriture personnalisables
  3. Meilleur modèle de cohérence éventuelle grâce à l'utilisation d'un algorithme de hachage cohérent
0
webjockey