Вопрос с дивана, потому что ни то ни другое я ни в каком серьезном проекте не использовал:
Сейчас становится популярным стек технологий MEAN (MongoDB ExpressJS AngularJS NodeJS). И вроде это стильно модно молодежно, а вроде и не для всех проектов подходит - ведь MongoDB это NoSQL, и я где-то прочитал, что там в отличие от SQL систем баз данных не соблюдается ACID, не поддерживаются JOIN'ы, но лучше скейлится.
1. Что именно из ACID не соблюдается, для каких веб-сайтов это не важно, а для каких ACID нужен?
2. Как жить без джоинов? Или они вообще не так уж нужны? Когда они нужны, а когда нет? А если вдруг на готовом сайте, использующем MongoDB понадобятся, то что делать?
3. Почему MongoDB лучше скейлится? Кому нужен скейлинг, кому нет? Что же делают люди, которым и скейлиться нужно, и джоины делать?
4. Можно ли в стеке MEAN MongoDB заменить на какую-нибудь реляционную базу данных (в идеале на PostgresQL - он вроде самый годный)?