If you’ve read my previous blog on the battle of vices and virtues between MongoDB and DynamoDB, you’ll know that in a general sense, they are on fairly even ground. Which one you prefer depends on what you value. Our people are well-versed in usage of both of these NoSQL database services, so for us, there were two main things to consider: price and ease of management.
DynamoDB is a service managed by AWS, so there is minimal set-up and maintenance involved. In contrast, you have to set up MongoDB yourself. (See my last blog for more details on how to do this.) You also have to manage everything, including backups and general server maintenance. This takes up time, space, and therefore money for a company. However, access control (ie. permissions) is easier to manage on MongoDB than with DynamoDB. So, DynamoDB probably squeaks past into first place for ease of management, but it depends on what is likely to lead to more trouble in your situation.
While it may not be a clear winner for ease of management, MongoDB has the virtue of being a free service. Of course, you may have to pay for the servers you’ll use, however if this is something your company already has going, the marginal cost is likely to be pretty small. However, DynamoDB does cost money to run after exceeding a limited free tier. So for most people, MongoDB wins this round.
Ultimately it was a decision of money versus time. We have some incredibly talented people at OptimalBI, and through experience we have whittled installing and managing MongoDB down to a fine point. We already use Amazon’s EC2 servers, so there’s next-to-no extra effort required to get a server running for MongoDB. Because of this, and especially when considering the simpler access control of MongoDB, the lure of an ‘effortless’ DynamoDB is significantly lessened. This just leaves us with price. We are a fairly small company, so we try to save our pennies where we can. Therefore it seemed only natural to be seduced by the big neon sign above MongoDB with the flashing letters: ‘FREE’. Sure, it would be nice to have a managed service, but the difference it would make to us, when compared to a free service, would be small.
Thus, we made the switch.
Our decision was right for us, but the case may be different for you. Maybe setting up a server is a bigger hurdle. It may be that you don’t have the same ability to make backups. Perhaps you just have more money than time available.
In the end, it all depends on what you value.
Sarah – The tea-drinking programmer
Sarah blogs about her learning experiences as she navigates the road from student to professional.