Often times developers are caught in a loop of deciding which database to use. Personally this is a question that has continuously lingered in my brains for long. What is the best case for opting NoSQL over SQL and vice versa?
Any brilliant ideas/answers shall be greatly appreciated.
If data reportings or jobs are required to be run on data then I will prefer SQL over NoSQL.
NoSQL I will prefer for fast data exchange, multiple simultaneous events on data are required.
But in all case, this decision depends on product requirements and solution demands.
I might use NoSQL when building a cache or some other type of temporary/derived data storage.
As primary data storage, I'd personally always use a RDBM, as I want as many guarantees about the validity of my data as possible.
My pers. Rules of thumb based on the behavior
SQL.
noSQL:
If eventual consistency is enough, writes are more important than reads (except graph)
Document-Based
Graph-Base:
Key-Value:
There are cases for a column based architecture as well for example a deep table structure. "likes" for example are a classic column based architecture custom email data. But I don't really have a rule of thumb for column based databases.