2011-03-14 6 views
8

J'ai un MongoDB "jeu de réplicas" de travail constitué de 3 serveurs. Il stocke deux DB, je me demande s'il est possible de répliquer seulement l'un des DB sans exécuter plus d'une instance de mongoDB (une par DB).mongodb seule réplication de DB

Voici une esquisse du « problème »

 Server1 Server2 Server3 
DB1  X   X   X 
DB2  X   X 

X signifie serveur où DB doivent être présentes dans.

merci

Répondre

6

Je ne crois pas que ce soit possible.

Contrairement sharding, où vous spécifiez jusqu'à la collection niveau ce qui se fragmentées, avec réplique vous donne qu'un définissons MongoDB instance donnée fait partie d'un ensemble de réplique. Comme un seul nœud dans un jeu de réplicas peut être le maître à un moment donné, en fonction du scénario dont vous parlez, il y aurait alors un problème si, par exemple, Server1 est tombé en panne et Server3 a été promu maître - comme DB2 ne pourrait alors pas être écrit.

4

J'ai eu un problème simliar et j'ai trouvé une solution assez facile en javascript pour être exécutée dans un mongo-shell.

Sourcecode ici: http://www.suenkel.de/blog/2012/02/mongodb-replicate-one-database-or-collection/

Avec l'ouverture d'un curseur tailable sur le oplog du serveur maître chaque opération pourrait être appliquée à un autre serveur (bien sûr, vous pouvez filtrer par l'espace de noms des collections ou même les bases de données ...)

+0

Pouvez-vous poster la solution au lieu du lien? Les linknis morts rendent votre réponse inutile ... – Azarus

Questions connexes