We are going to switch to AWS and I thought instead of deploying and managing MongoDB servers ourselves can we just use DynamoDB? The team is small and there is no DBA kind of person who will manage sharding, replication etc. So, does it make sense to use a managed offering like DynamoDB instead of MongoDB in this case?
Justin Njoh
MVPs & POCs on NoSQL DBs - why not ?
OP also should realize that the cloud computing environments aren't really cost effective, especially from storage point of view, for mid-to-long term. It's roughly 6 months in storage perspective, and 12 months in computation one, when costs become much more, when cloud is compared to its dedicated counterparts.
Hi Jose, There's usually no straight answer to this type of question. It very much usually depends on your use case and business considerations.
DynamoDB is a key-value oriented system, whereas MongoDB is a BSON (binary JSON) document store. I personally don't like proprietary systems (like DynamoDB) if it means you're tied into to a certain suplier and their way of doing things - perhaps your data model and requirements are simple enough not to worry about this.
As a hardened RDMS person myself, MongoDB for me is the natural choice for NoSQL data-heavy applications as a lot of the concepts are similar. Eg database => database; tables => collections; database roles & role-based security => similar in Mongo, etc.
MongoDB and several other companies can manage your installations for you in the cloud, very much like Amazon would. BUT that doesn't take away the responsibility of designing your own database schemas (contrary to perception and hype, NoSQL systems actually have schemas - flexible schemas - and more care (not less) is needed to manage these !) deciding your cluster size, choosing a good shard key (if sharding is involved) and generally doing the basics necessary to enable your application to run effectively and efficiently.