通过mongos Router在多个服务器中拆分MongoDB集合

时间:2012-05-22 14:18:06

标签: mongodb cloud mongoid mongomapper nosql

拥有一个名为maindatabase的MongoDB数据库,其中有3个文档集合命名为users,tags和categories,我想知道是否可以将它们分别分布在三个不同的服务器上(在不同的云服务提供商上)。

我的意思不是作为副本,而只是一个服务器集合(一个数据库只有服务器上的类别集合,一个用户在另一个服务器上,另一个用于第三个服务器上的标签)可以由mongos路由器有选择地路由

有人知道是否有可能吗?

2 个答案:

答案 0 :(得分:1)

除了@matulef关于通过movePrimary手动操作数据库的答案之外,这可能需要一个更简单的解决方案,只需维护3个数据库连接:每个服务器一个,每个服务器都在最初指定的不同云提供商的数据中心。您不会拥有单个mongos连接点的简单性,但是通过三个连接,您可以直接操作userstagscategories。他们各自的联系。

答案 1 :(得分:0)

不幸的是,您目前无法以这种方式在单个数据库中拆分集合。但是,如果将每个集合放在不同的数据库中,则可以执行此操作。在分片系统中,每个数据库都有一个与之关联的“主分片”,该数据库上的所有未分片集合都存在。如果将3个集合分成3个不同的数据库,则可以使用“movePrimary”命令将它们分别移动到不同的分片:

http://www.mongodb.org/display/DOCS/movePrimary+Command

但是,制作更多数据库会产生一些开销,因此不清楚这是否是满足您需求的最佳解决方案。

相关问题