I really dislike the name "NoSQL", because it isn't very descriptive. It tells me what the databases aren't where I'm more interested in what the databases are. I really think that this category really encompasses several categories of database. I'm just trying to get a general idea of what job each particular database is the best tool for.

A few assumptions I'd like to make (and would ask you to make):

  1. Assume that you have the capability to hire any number of brilliant engineers who are equally experienced with every database technology that has ever existed.
  2. Assume you have the technical infrastructure to support any given database (including available servers and sysadmins who can support said database).
  3. Assume that each database has the best support possible for free.
  4. Assume you have 100% buy-in from management.
  5. Assume you have an infinite amount of money to throw at the problem.

Now, I realize that the above assumptions eliminate a lot of valid considerations that are involved in choosing a database, but my focus is on figuring out what database is best for the job on a purely technical level. So, given the above assumptions, the question is: what jobs are each database (including both SQL and NoSQL) the best tool for and why?

  • Any chance you could pick two examples of these database and what their category would be?
    – JeffO
    Nov 18, 2016 at 17:57

4 Answers 4


Relational databases (SQL) are great for data that the underlying model remains stable. Many implementations have been around for a while (Oracle, DB2, SqlServer) and are stable and secure. Also, it's very easy to find experienced people to administrate them - and database admins are a must! The programmers should not have to deal with permissions, setup, and tuning. They should be able to concentrate on programming, and let the administrators worry about keeping the database up. Relational databases are also relatively easy to query, and there are many tools out there to assist with finding data from them.



Relational object. Stable servers with fine grain control over permissions.


Flexible storage. High scalability and sharding abilities.


There is some very good info on this in this article: Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j comparison :

While SQL databases are insanely useful tools, their monopoly of ~15 years is coming to an end. And it was just time: I can't even count the things that were forced into relational databases, but never really fitted them.
But the differences between NoSQL databases are much bigger than it ever was between one SQL database and another. This means that it is a bigger responsibility on software architects to choose the appropriate one for a project right at the beginning.
In this light, here is a comparison of Cassandra, Mongodb, CouchDB, Redis, Riak, Membase, Neo4j and HBase [...]


I guess this isn't a good question, for example, what kind of vehicles is good? Bugatti, BWM, automobile, mini machine, train, locomotive, airplane?
it depends on your situation,

for a small job with no huge data, sqlight may good.
for a company who use Microsoft's product, MSSQL is good.
for web developing, MySql is very easy to use.
for banks, Oracle or couchbase(if handle trancation issue).
for a small job with a lot of data, MongoDB is good.
for a company with huge data and only one kind table, Cassandra.
for a company with huge data, Couchbase.
for hadoop ecosystem, HBase.
for graph, image, in Memory, ...

  • 5
    I'm curious why you would recommend MySQL for a Microsoft shop over Sql Server?
    – Becuzz
    Jun 20, 2017 at 11:35
  • i correct that, I meant Mssql. Jun 20, 2017 at 14:29

Not the answer you're looking for? Browse other questions tagged or ask your own question.