我有一种情况,在第一个集合中,我将DBRef用于另一个集合。第一个收藏是图书,第二个是用户(谁读过这些书)。用户可以有化身和其他各种信息,这是合理的保存在单独的收集。但现在我要把藏书切成碎片。如果我将其分割到两个节点中,用户集合将如何被分割?我希望将与特定书籍相关的用户保留在同一个节点上。这有可能吗?谢谢!
发布于 2014-03-08 15:41:30
目前,这在标记感知分片( http://docs.mongodb.org/manual/core/tag-aware-sharding/ )之外是不可能的。Kristina (当她还和10 when在一起的时候)写了一篇关于如何分发数据的好文章,可以很容易地用来分组多个集合:http://www.kchodorow.com/blog/2012/07/25/controlling-collection-distribution/
但是,您可能会发现这样的维护非常困难,除非您只是一个DBA,否则我不会建议您这样做,因为您将花费大量的时间与不断扩展的网络保持在一起。
相反,我要做的是在user_id上分割书籍,然后在散列的_id上分割用户集合,这样最多只需要查询两个碎片。
https://stackoverflow.com/questions/22266251
复制相似问题