我对 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
但不会很快使用户文档膨胀到超出容量。但我想对属于具有相似 somegroupID 的用户的推文进行分析。上面的模型布局在概念上是有意义的,但是在什么时候这太笨拙了?什么是可行的替代方案?