2011-03-14 53 views
8

我有一个由3个服务器组成的MongoDB“副本集”。 它存储两个数据库,我想知道是否有可能只复制其中一个数据库而不运行多个mongoDB实例(每个数据库一个)。mongodb单个数据库复制

这里是“问题”

 Server1 Server2 Server3 
DB1  X   X   X 
DB2  X   X 

X代表所在服务器数据块有被复制。

感谢

回答

6

我不相信这是可能的草图。

与分片,其中指定下降到收集水平得到什么分片,与副本集你定义一个给定的MongoDB 例如是副本集的一部分。由于副本集中只有一个节点可以在任何给定的时间成为主节点,所以根据你所谈论的情况,那么如果例如这样的话,会出现问题。 Server1关闭,Server3升级到主服务器 - 因为DB2将无法写入。

4

我有一个simliar问题,并发现一个非常简单的解决方案在JavaScript中执行一个mongo壳。

源代码可在这里: http://www.suenkel.de/blog/2012/02/mongodb-replicate-one-database-or-collection/

随着对主服务器的OPLOG每个操作可以应用到另一台服务器(当然你也可以通过集合甚至数据库的名称空间滤波器打开tailable光标...)

+0

你可以发布解决方案,而不是链接?链接死了渲染你的答案没用... – Azarus 2017-10-28 02:09:25

相关问题