В чем преимущество использования наследования в Монго? - PullRequest
2 голосов
/ 03 мая 2011

Мое приложение имеет модель сообщений, и пользователи могут оставлять комментарии.Я выбираю между использованием отдельных коллекций для публикации и комментария или встраиванием комментариев в сообщения.Есть ли преимущество в использовании встраивания?Я пытаюсь найти причину, почему это может быть лучше для того, что я делаю.

1 Ответ

3 голосов
/ 03 мая 2011

Это на самом деле не наследование, поддержание комментариев и сообщений в разных коллекциях в хорошем состоянии, только если есть ситуация, в которой вы обрабатываете их отдельно, и одна вызывается гораздо чаще, чем другая.

Например, если у меня был сайт, где сводка сообщений отображается на главной странице, а комментарии отображаются только при доступе к определенному сообщению. Я бы держал их в отдельных коллекциях (я бы, вероятно, даже не использовал MongoDB для постов, так как простого кэширования было бы достаточно), таким образом я могу настроить свою коллекцию постов так, чтобы она была маленькой и быстрой, а коллекцию комментариев - медленнее и больше. Я предполагаю, что трафик таков, что просмотры на главной странице - это OOM, а не конкретные просмотры постов (это не всегда правильно).

Существует также случай их объединения, поскольку он упрощает мою модель данных, имея только один объект. Для другого мне требуется только один запрос для извлечения всех данных для конкретной страницы, а не 2 запроса с 2 коллекциями. И, наконец, я сохраняю локальность данных, а это означает, что в случае необходимости Map / Reduce можно сделать более эффективно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...