Следует ли хранить два одинаковых типа данных с разными вариантами использования в одной коллекции? - PullRequest
0 голосов
/ 24 марта 2011

У нас есть два очень похожих типа данных, которые оба являются «пользователями».Первый состоит из активных пользователей, а у другого есть пользователи, которые автоматически извлекаются и загружаются в нашу систему и имеют гораздо более низкий приоритет (с точки зрения скорости доступа), чем активные пользователи.

Каждый активный пользователь может привлечь как минимум 1000 пользователей, работающих с данными.Мы будем чаще использовать активных пользователей, и наша главная задача - производительность.С пользователями, работающими с данными, производительность вторична, но мы будем хранить их в больших количествах.

Есть какие-либо сведения о том, как мы должны с этим справляться?Либо одна коллекция для каждого пользователя (как активного, так и с данными) или две коллекции (одна для активных, другая для пользователей с данными)?

1 Ответ

1 голос
/ 24 марта 2011

Mongo отлично подходит для хранения похожих, но разных объектов в одной коллекции, если ваше приложение может с этим справиться.

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

Будете ли вы запрашивать их по-другому? Если это так, вы можете сохранить их отдельно, чтобы ваши индексы не раздуты.

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

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