【发布时间】:2012-02-24 01:39:01
【问题描述】:
我对 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 的用户的推文进行分析。上面的模型布局在概念上是有意义的,但是在什么时候这太笨拙了?还有哪些可行的替代方案?
【问题讨论】:
标签: mongodb schema-design