In thinking about which database might be best for any particular job, it’s easy to get lost in the PR. Advocates of traditional relational database systems like Oracle and PostgreSQL tend to focus on the fact that systems are feature-rich and provide features such as atomicity, consistency, isolation, and durability (ACID), while advocates of document databases (like MongoDB) and key-value stores (memcached, Dynamo, Riak, and many others) tend to focus on performance, horizontal scalability, and ease of configuration. This is obviously an apples-and-oranges comparison, and a good deal of misunderstanding and finger-pointing can result. Of course, the real situation is a bit more complicated: everyone really wants to have all of these features, and any trade-off between them is bound to be difficult.
For everyone in this situation, I’d strongly recommend starting with these questions.
Original title and link: Choosing a Datastore (NoSQL databases © myNoSQL)