我有一个案例,在第一个集合中我使用 DBRef 到另一个集合。第一个集合是书籍,第二个是用户(阅读这些书籍)。用户可以拥有头像等各种信息,分开收藏是合理的。但现在我需要对书籍收藏进行分片。如果我在 2 个节点之间分片,用户集合将如何分片?我想将与特定书籍相关的用户保留在同一节点中。那可能吗?谢谢!
问问题
293 次
1 回答
1
目前这在标签感知分片之外是不可能的(http://docs.mongodb.org/manual/core/tag-aware-sharding/)。Kristina(当她还在 10gen 时)写了一篇关于如何分发数据的好文章,可以很容易地用于对多个集合进行分组:http ://www.kchodorow.com/blog/2012/07/25/controlling-collection -分配/
但是,您可能会发现维护起来非常困难,除非您只是一名 DBA,否则我不建议您这样做,因为您实际上将花费大部分时间将其与不断扩展的网络保持在一起。
我要做的是将书籍分片user_id
,然后在散列上对用户集合进行_id
分片,这样您最多只需要查询两个分片
于 2014-03-08T15:41:30.240 回答