Amazon SimpleDB contre Amazon DynamoDB

Réponses:

179

Ceci est résolu par la FAQ respective Q: En quoi Amazon DynamoDB diffère-t-il d'Amazon SimpleDB? Que dois-je utiliser? (le lien de hachage ne fonctionne plus, mais utilisez la recherche sur 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 convenir aux petites charges de travail qui nécessitent une flexibilité de requête. Amazon SimpleDB indexe automatiquement tous les attributs d'élément et prend ainsi en charge la flexibilité des requêtes au détriment des performances et de l'échelle.

Il s'agit donc d'un compromis entre performances / évolutivité et simplicité / flexibilité, c'est-à-dire que pour des scénarios plus simples, il pourrait être plus facile de démarrer 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 FAQ liée fait référence à Amazon DynamoDB de Werner Vogel - un service de base de données NoSQL rapide et évolutif conçu également pour les applications à l'échelle Internet , qui est en effet une lecture élaborée et donc fortement recommandée concernant l' histoire 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 à grain fin en votant «avec leurs pieds» et en adoptant des solutions AWS basées sur le cloud, comme Amazon S3 et Amazon SimpleDB, plutôt que Dynamo. [plus le mien]

De toute évidence, DynamoDB a été introduit pour résoudre ce problème et pourrait donc être qualifié de successeur de SimpleDB plutôt que de «simplement» modifier son offre NoSQL existante:

Nous avons conclu qu'une solution idéale combinerait les meilleures parties de la conception Dynamo originale (évolutivité incrémentielle, haute performance prévisible) avec les meilleures parties de SimpleDB (facilité d'administration d'un service cloud, cohérence et un modèle de données basé sur une table qui est plus riche qu’un pur magasin de valeurs-clés).

Le résumé de Werner suggère que DynamoDB convient désormais parfaitement aux applications de toute taille:

Amazon DynamoDB est conçu pour maintenir des performances élevées prévisibles et être très rentable pour les charges de travail de toute échelle, des plus petites aux plus grandes applications à l'échelle Internet.

Steffen Opel
la source
27

utilisez 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 des données différentes.

Mason Zhang
la source
27
a aimé le post - ne ferait pas de mal à le résumer ici
nik.shornikov
aimé le poste aussi. @Mason, que pensez-vous de la façon dont SimpleDCB a lentement disparu de la console du produit AWS? Utilisez-vous toujours SimpleDB ou avez-vous migré?
David Robbins
1
@DavidRobbins SimpleDB a peut-être été déconseillé par AWS, mais il est toujours là et correspond parfaitement à mes données modales. Je n'ai pas encore migré mon code et je n'envisage pas de le faire. Mais pour les nouveaux produits, je choisis d'autres bases de données comme dynamodb ou mysql.
Mason Zhang
Le site lié a été marqué comme malware par Sophos. Faites attention.
IanGilham
1
@IanGilham merci pour le rappel. Je vérifie à nouveau le rapport d'analyse ( virustotal.com/en/url/… ): 1/68 a marqué le site comme malware. Cela pourrait donc être quelque chose de mal avec Sophos. BTW: ce site est actuellement géré par google blogspot.
Mason Zhang
18

SimpleDB ne semble pas recevoir d'amour d'Amazon ces jours-ci - 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é". Cela signifie qu'il n'y a pas de nouveau développement à l'avenir pour simpledb. Il est "maintenu et pris en charge", mais il ne s'améliorera pas.

saille
la source
2
Impossible d'améliorer parfait!
dividebyzero
10

3 différences clés:

  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. Tarification:

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

    • 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 évolutivité très élevée.
Sagar Ranglani
la source
5

L'une des différences était (comme le dit @Mason Zhang dans son article ci-dessus) dans l'indexation. DynamoDB vous limitait à la création d'index au moment de la création de la table. Cependant, maintenant (depuis début 2014), il y a le concept de Global Secondary Index (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 requêtes / sec)

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

kalyanswaroop
la source
0

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 porte 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 de provisionner petit et d'augmenter le nombre de débits provisionnés dont vous avez besoin. Et réduisez-le quand ce n'est pas nécessaire. (c.-à-d. pendant une promotion, les inscriptions de parrainage de célébrités, etc.

Gayan Hewa
la source
0

Je crois que la principale différence 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. Lire, écrire des optimisations personnalisables
  3. Meilleur modèle de cohérence éventuelle car l'utilisation d'un algorithme de hachage cohérent
webjockey
la source
0

Ce sont deux différences majeures, vous devez être conscient de

1: SimpleDB has a strict storage limitation of 10 GB. However, DynamoDB has no storage limitations for the data. It is highly scalable in terms of both storage and computation.

2:SimpleDB can handle max up to 25 Write Operations/Second. No such limit in DynamoDB.
Sateesh
la source
0

Ce sont deux différences majeures, vous devez en être conscient.

Avec DynamoDB Vous pouvez créer des applications avec un débit et un stockage pratiquement illimités. Ce n'est pas le cas avec SimpleDB.

  • 1: LIMITE DE STOCKAGE STRICTE DE 10 Go

SimpleDB a un limitation de stockage stricte de 10 Go. Cependant, DynamoDB n'a aucune limitation de stockage pour les données. Il est hautement évolutif en termes de stockage et de calcul.

  • 2: MAX JUSQU'À 25 OPÉRATIONS D'ÉCRITURE / DEUXIÈME

SimpleDB peut gérer jusqu'à 25 opérations d'écriture / seconde . Aucune telle limite dans DynamoDB.

Sateesh
la source