Quels sont les avantages et les inconvénients de DynamoDB par rapport à d'autres bases de données NoSQL?
Nous utilisons la base de données MongoDB add-on sur Heroku pour notre produit SaaS. Maintenant que Amazon a lancé DynamoDB, un nuage de service de base de données, je me demandais comment cela change le NoSQL offres de paysage?
Spécifiquement pour les services cloud ou SaaS fournisseurs, comment le recours à la DynamoDB être meilleur ou pour le pire par rapport à-dire MongoDB? Existe-il des coûts, les performances, l'évolutivité, la fiabilité, les pilotes, communauté, etc. avantages de l'utilisation de l'un par rapport à l'autre?
- DynamoDB et MongoDB sont deux différentes bases de données NOSQL. DynamoDB est une Valeur-Clé magasin alors que MongoDB est une base de données de documents qu'ils répondent à des besoins différents. Donc, ces deux ne sont pas comparables à des bases de données.
Vous devez vous connecter pour publier un commentaire.
Pour commencer, il sera entièrement géré par Amazon d'une équipe d'experts, de sorte que vous pouvez parier qu'il va échelle très bien avec pratiquement aucune entrée de l'utilisateur final (le développeur).
Aussi, depuis sa construite et gérée par Amazon, vous pouvez supposer qu'ils ont conçue pour fonctionner très bien avec leur infrastructure de sorte que vous pouvez peut supposer que les performances seront au top. En plus d'être construit spécifiquement pour leurs infrastructures, ils ont choisi d'utiliser le SSD comme espace de stockage ainsi, dès le début, le débit du disque sera nettement plus élevé que les autres magasins de données sur AWS, qui sont de disque dur soutenues.
Je nai pas vu tous les pilotes encore et je pense que c'est trop tôt pour dire comment la communauté va réagir à cela, mais je pense que Amazon va avoir les pilotes pour l'ensemble des langues les plus populaires et la communauté serez susceptibles de recevoir ce bien et à son tour de créer des pilotes supplémentaires et des outils.
À l'aide de MongoDB par le biais d'un add-on pour Heroku devient MongoDB dans un produit SaaS ainsi.
En réalité, on serait en comparant service à un prestataire choisi par rapport à ce que Amazon peut offrir au lieu de comparer une persistance de la solution à l'autre.
C'est très difficile à faire. Chaque fournisseur de divers niveaux de service à des prix différents et l'on pourrait envisager la possibilité de le faire fonctionner sur leur propre matériel localement à des fins de développement d'une option de bienvenue.
Je pense que la différence clé à considérer est de MongoDB est un logiciel que vous pouvez installer n'importe où (y compris au AWS ou à d'autres services cloud ou en interne), où, comme DynamoDB est un SaaS disponible exclusivement en tant que service hébergé chez Amazon (AWS). Si vous souhaitez conserver la possibilité d'héberger votre application en interne, DynamoDB est pas une option. Si l'hébergement à l'extérieur de AWS n'est pas une préoccupation, alors, DynamoDB devrait être votre choix par défaut, à moins que des caractéristiques très spécifiques sont de la plus grande considération.
Il y a un tableau dans le lien suivant qui résume les attributs de DynamoDB et Cassandra:
http://www.datastax.com/dev/blog/amazon-dynamodb
Quelque chose qui a besoin d'amélioration sur DynamoDB pour devenir plus utile est la possibilité d'indexer les colonnes autres que la clé primaire.
Mise à JOUR 1 (06/04/2013)
Sur 04/18/2013, Amazon a annoncé un soutien Local pour les Index Secondaires, ce qui fait DynamoDB f***ing grand:
http://aws.amazon.com/about-aws/whats-new/2013/04/18/amazon-dynamodb-announces-local-secondary-indexes/
Je dois être honnête, j'étais très excité quand j'ai entendu parler de la nouvelle DynamoDB et n'a assister au webinaire hier. Cependant, il est difficile de prendre une décision maintenant, alors que tout ce qu'ils ont dit était encore très vague; je n'ai aucune idée les fonctions qui vont être autorisés /utilisé par le biais de leur service.
La seule chose que je sais est que la mise à l'échelle est géré automatiquement, ce qui est assez impressionnant, mais il y a encore beaucoup d'inconnues qu'il est difficile de vraiment faire une grande capacité d'analyse jusqu'à ce que tous les faits sont en et nous pouvons commencer à l'utiliser.
Jusqu'à présent, je vois encore mongo que fonctionne beaucoup mieux pour moi (personnellement) dans la réalisation du projet que j'ai travaillé.
Comme la plupart des DB décisions, il va vraiment venir vers le bas pour un projet à la décision de ce qui est le mieux pour votre besoin.
J'ai attendent impatiemment plus d'informations sur le produit, car pour l'instant même si il est en version beta et je ne voudrais pas sauter le bateau à adopter la dernière et la plus grande pour être un testeur 🙂
Je pense que l'une des principales différences entre DynamoDB et d'autres NoSQL offres est le débit réservé - vous payer pour un niveau de débit sur une table et, à condition de garder vos données bien partitionné, vous pouvez toujours vous attendre à ce que le débit d'être respectées. De sorte que la charge de votre application grandit, vous pouvez mettre à l'échelle et de vous garder des performances plus ou moins constant.
Amazon DynamoDB semble assez décent solution NoSQL. Il est rapide, et il est assez facile à utiliser. Autre que d'avoir un compte AWS, il n'y a vraiment pas de programme d'installation ou d'entretien requis. L'ensemble des fonctionnalités et API est assez petit droit maintenant, par rapport à MongoDB/CouchDB/Cassandra, mais je ne serais probablement s'attendre à ce que croître au fil du temps que les retours de la communauté des développeurs est reçu. Dès maintenant, tous les officiel AWS Sdk comprennent un DynamoDB client.
Pros
Contre
C'est vraiment bon comme une alternative pour le stockage de session dans évolutive de l'application. Un autre bon exemple serait enregistrement/de l'audit en système extensif. PAS préférable riche en fonctionnalités de l'application avec de fréquents d'amélioration ou de modifications.