Lexander
Возможность != необходимость
Какбэ необходимость требует по зависимости возможность.
Lexander
Вы просто пытались применить подход реляционных БД к объектным.
Какое отношение это имеет к реляционности как качеству БД?
Lexander
Размещение в одной коллекции нескольких объектов способствует, в конечном итоге, уменьшению дополнительных обращений к дисковой подсистеме
Каким образом? Что технически ускоряет? Я пока вижу только один фактор - данные одного типа более разрежены, что при чтении требует обращение к большему числу дисковых страниц (вероятность найти соседние записи на одной дисковой странице - ниже).
Lexander
Обвиняющих для начала стоит спросить зачем они используют этот инструмент и с чем сравнивают
1. Тестирование производительности - вполне удовлетворительная цель. О рекомендуемых случаях применения, я бы не против узнать. В данном топике рассматривается один из случаев, когда рекомендуется попробовать. Также стоит учитывать, что map/reduce несколько специфичный инструмент.
2. С чем сравнивают - я вроде бы описал. Сравнение имеет смысл в равных условиях/функциональности. Для описанной топикстартером задачи это определение справедливо.
Lexander
соответствует хранимым процедурам с несколькими сложными запросами
Использование map/reduce автоматически подразумевает выполнение дополнительных запросов?
Описанная в топике задача этого не предполагает, хотя согласен, что в предыдущем сообщении я задал более обобщённое условие в своём вопросе.
Lexander
скорости map/reduce вполне достаточно для ее задач
Собственно, весь вопрос был о том, насколько медленнее и критичнее в реальных “боевых условиях”, поскольку JavaScript, если я верно понял то, что прочитал о Монго, - блокирующая часть для всей базы, в отличие от хранимых процедур и вероятно, от реализаций map/reduce в других базах, поправьте, если ошибаюсь.
Lexander
если было заранее известно
Как, говорится, “знал бы где упадёшь, - соломки б подстелил”.