Коллекции MongoDB - PullRequest
       10

Коллекции MongoDB

2 голосов
/ 23 ноября 2010

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

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

Это кажется разумным подходом?

1 Ответ

4 голосов
/ 23 ноября 2010

Это похоже на разумный подход?

Что за пользовательский запрос # 1? "найти активность по периодам" ? Если пользователи хотят «найти по периоду», это имеет смысл.

Однако, если пользователям нужен накопленный вид, теперь вам нужно собрать историю для пользователя и объединить ее для отображения.

Если вы хотите и «по этому периоду», и «накопленный», тогда я предлагаю просто объединить все данные в один пользовательский объект. Легко пометить отдельные действия с помощью «запуска урожая» и «отметки времени».

Детали Mongo : MongoDB может обрабатывать отдельные документы размером до 4 МБ. Самые последние версии до 8 или 16 МБ. Если вы используете это место только для текста, пожалуйста, поймите, что это много текста. Копия войны и мира составляет чуть более 3 МБ. Итак, вы говорите о сотнях страниц текста в 4 МБ. С 8 или 16 МБ вы, вероятно, сможете хранить обновления статуса и твиты в течение многих лет для большинства людей.

Обратите внимание, что MongoDB имеет GridFS для хранения двоичных данных (например, файлов изображений), поэтому вы, как правило, храните только указатели на них в пользовательском документе.

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