В каких случаях лучше использовать NoSQL, а в каких SQL?
==========================================================

 Пользовался NoSQL и SQL, почувствовал разницу, но до сих пор не могу понять в каких проектах какую БД лучше использовать.  

Был бы признателен за ссылку на статью или развёрнутый ответ, чтобы в будущем я мог при проектировании проекта сразу определится с выбором базы данных. 

 *если в демагогию*  

NoSQL подходит для хранения, где логику взаимосвязей между объектами задаёт программист выше уровнем, SQL же напротив, обязывает описать логику хранения на уровне БД.   

Тот и другой подход имеют право на жизнь и могут быть производительней один другого в зависимости от ситуации.   

Модная тенденция перехода во многих аспектах разработки на NoSQL исходит из того, что большинство фреймворков (да и отрасль разработки в целом) созрела для перехода на эту парадигму.  
  

*если в практику*  

NoSQL - это чаще всего хранение типа ключ:значение, т.е. вы можете очень быстро записывать и читать парные значения, можете их быстро реплицировать, распределять, можете масштабировать эту конструкцию, всё что вам нужно в таком подходе, дак это поверх, выше уровнем абстракций описать логику связей между этими записями \ таблицами.   

В таком хранении у вас, на уровне БД, не будет возможности сказать, что поле A в таблице Аа должно быть заполнено значением из таблицы Бб и поля Б, вам придётся писать код, который сам определит эту логику.   

Само собой, вам придётся и писать логику всех запросов к данным, все джойны и так далее (хотя некоторые фреймворки облегчают или нивелирую это). 

 Вот вам развёрнутый ответ.  

> Пользовался NoSQL и SQL

  

Не могли вы пользоваться NoSQL, вы пользовались какой-то конкретной моделью данных и конкретной СУБД.  

> какую БД лучше использовать

  

Ни NoSQL ни SQL это ни БД, ни СУБД.  

> Был бы признателен за ссылку на статью или развёрнутый ответ, чтобы в будущем я мог при проектировании проекта сразу определится с выбором базы данных. 

  

В формате "ответ на Тостере" невозможно сравнить существующие сейчас модели данных и уж тем более дать советы по выбору СУБД. Начните с другого: оставьте историко-маркетологический термин "NoSQL" в стороне и начните с рассмотрения реальных моделей данных и их популярных реализаций:  

- [колоночная СУБД](https://en.wikipedia.org/wiki/Column-oriented_DBMS);  

- [хранилище "ключ-значение"](https://en.wikipedia.org/wiki/Key-value_database);  

- [документно-ориентированная БД](https://en.wikipedia.org/wiki/Document-oriented_database);  

- [графовая БД](https://en.wikipedia.org/wiki/Graph_database); 

 NoSql это только какие-нибудь логи хранить, всё остальное для веба обычно имеет реляцию. 

 Используй постгрес  

PostgreSQL — свободная объектно-реляционная система управления базами данных (СУБД)  
  

И не морочь нам голову  
  

Если у тебя на проекте заведется менеджер, которому понадобилась монга, на проект, больший чем сайт-визитка / лендинг, то советую потихоньку искать работу, тк проект завалят 

 NoSql можно кеш страниц или чего-то готового