The one point not covered is that relational databases acknowledge the need for noSQL hence they literally all have JSON data types to store document type data. So if scaling is not your issue (which it isn’t for most of us) then you can have the best of both worlds by using a relational database with built in support for JSON. Great article
If your only reason for considering NoSQL is that you need to massively scale horizontally, then you should take another look at the database landscape. There is an open source extension to Postgres called CitusDB. Citus clusters have been proven to outperform similarly sized Hadoop, MongoDB, and other NoSQL clusters. AS an added bonus, you can use Postgres for SQL, Document Store, or Key-Value Store.
I have had some exposure to noSQL databases, specifically MongoDB when it was still in a relatively infant stage, but this was 4–5 years ago. The idea appealed to me at the time and I could clearly see why some people would swear by it.
IMHO, there are very few cases when SQL is NOT the answer, when dealing with data. When dealing with structured data, NoSQL is for sure not the answer.
Agreed, standard SQL engines are not (yet) as easy to scale as Cassandra and friends. But they’re catching up quickly, I suggest taking a look at engines like FaunaDB…