Предполагается довольно обычная структура - новости, комментарии, подсчёт лайков-дизлайков, профили пользователей, прочие вспомогательные структуры. Чтение чаще записи. В общем вырисовывается довольно чётко структурированная модель данных.
За плечами опыт строительства баз для таких проектов в старом добром MySQL. В то же время есть желание опробовать MongoDB в обвязке Mongoose, которая показалась очень удобной, в частности проектирование структуры и валидация данных.
Является ли нормальной практикой использование Монги для подобных проектов? Слышал про то, что оно больше для проектов, где критично выдерживать высокую частоту записи и допустимо изредка терять данные (как с этим у Монги в 2018?) - базы для онлайн-игр и системы аналитики, например.
sim3x, затем, что используя Mongoose разработка проекта становится гораздо более удобной. Кода меньше, сам код куда более лаконичен, нежели при использовании хоть голого mysql, хоть либы Sequelize.
sim3x, вот и вопрос - в чём головная боль? При разработке Монго - сплошное блаженство. Хотелось бы узнать какие могут быть проблемы в продакшне от имевших опыт взаимодействия с обеими базами.
Какие-то подводные камни кроме отсутствия транзакций ожидаются? По сравнению с join, будет ли ощутимое отставание в производительности при populate? Насколько хорошо работают индексы? Потребуется ли денормализация там, где в mysql достаточно вложенного подзапроса (например, подсчёт количества комментариев к новости)?