Я относительно новичок в MongoDB, и до сих пор действительно впечатлен.Я борюсь с лучшим способом настроить свои хранилища документов все же.Я пытаюсь провести некоторую сводную аналитику, используя данные из твиттера, и я не уверен, помещать ли твиты в пользовательский документ или хранить их как отдельную коллекцию.Похоже, что размещение твитов внутри пользовательской модели быстро достигнет предела в отношении размера.Если это так, то каков хороший способ запустить MapReduce для группы твитов пользователя?
Надеюсь, я не слишком расплывчен, но не хочу быть слишком конкретным и слишком конкретнымдалеко по неверному пути, вплоть до настройки моей модели предметной области.
Поскольку я уверен, что вам всем надоело слышать, я привык к земле RDB, где я выложил бы свою схему как
| USER |
--------
|ID
|Name
|Etc.
|TWEET__|
---------
|ID
|UserID
|Etc
Кажется, что логическая схема в Mongo будет
User
|-Tweet (0..3000)
|-Entities
|-Hashtags (0..10+)
|-urls (0..5)
|-user_mentions (0..12)
|-GeoData (0..20)
|-somegroupID
, но это не приведет к быстрому разрастанию документа User за пределы возможностей.Но я хотел бы провести анализ твитов, принадлежащих пользователям с похожим somegroupID.Это концептуально имеет смысл для макета модели, как указано выше, но в какой момент это слишком неудобно?И каковы жизнеспособные альтернативы?