Understanding Relational vs. Non-relational Databases

One should recommend just to use a RDBMS, because it does what you expect of a reliable database. It performs really good in almost all scenarios a typical application has. They also perform decent on time-series, key-value, graph-data or json documents.

If you then discover, that the way a RDBMS works (mainly indexes and locking), does NOT scale with your UseCase you should start exploring other options and only switch if you REALLY technically know why you switch in a particular usecase.

I've seen so many bored developers just trying out some stuff and using document-oriented systems for business-data. Kinda not so intelligent, because you loose ACID.
 
I've been using Oracle, MS SQL server and PostgreSQL as RDBMS side and for NoSQL: Redis, Mongo DB. Here is my own point of view.

RDBMS: Good for basic to large scale projects.
Cons: It's become headache when it's time to update (add-update table structure or migration) after it's running on the production for a longer period.

NoSQL: Its flexibility shifted me to run all my projects with NoSQL in last 3 years.In terms of future table structure update, it's way much easier.
Cons: Management UI of NoSQL are less feature rich compared to RDMS (e.g. Oracle, Microsoft) one.
 
Back