This article provides a nice, brief, overview of the differences between relational and NoSQL databases.
So far in all the systems I’ve developed, we’ve stuck with relational databases for the primary data stores, and then used others, such as ElasticSearch, and key-value based caches, for areas where traditional SQL couldn’t keep up (or didn’t need to be hit 50,000 times per minute for something that rarely changes). It definitely takes some effort, but mixing and matching to meet your needs works out better than being religious about a given data storage and access methodology and technology!