2011-03-14 9 views
8

Tengo un "conjunto de réplicas" de MongoDB compuesto por 3 servidores. Está almacenando dos bases de datos, me pregunto si es posible replicar solo una de las bases de datos sin ejecutar más de una instancia mongoDB (una por base de datos).mongodb replicación única de BD

Aquí es un esquema del "problema"

 Server1 Server2 Server3 
DB1  X   X   X 
DB2  X   X 

X representa Server donde DB tienen que ser replicado en.

agradecimiento

Respuesta

6

no creo que es posible.

A diferencia sharding, donde se especifica abajo a la colección nivel de lo que se interpone fragmentada, con una réplica establece que estés definiendo que un determinado MongoDB ejemplo es parte de un conjunto de réplicas. Como solo un nodo en un conjunto de réplicas puede ser el maestro en cualquier momento dado, según el escenario del que se trate, entonces habría un problema si, por ejemplo, El Servidor1 falló y el Servidor3 fue promovido a maestro, ya que DB2 no podría ser escrito.

4

Tuve un problema similar y encontré una solución bastante fácil en JavaScript para ser ejecutada en un mongo-shell.

código fuente disponible aquí: http://www.suenkel.de/blog/2012/02/mongodb-replicate-one-database-or-collection/

Con la apertura de un cursor tailable en el oplog del servidor principal de cada operación se podría aplicar a otro servidor (por supuesto se puede filtrar por el espacio de nombres de las colecciones o incluso las bases de datos ...)

+0

¿Se puede publicar la solución en lugar del enlace? Los linknis muertos hacen que tu respuesta sea inútil ... – Azarus

Cuestiones relacionadas