J'ai un "réplique de réplica" de travail composé de 3 serveurs. Il stocke deux DBS, je me demande si il est possible de reproduire un seul des DBS sans exécuter plus d'une instance de MongoDB (une par dB).
Voici un croquis du "problème" p>
Server1 Server2 Server3 DB1 X X X DB2 X X
3 Réponses :
Je ne crois pas que ce soit possible. p>
Contrairement à la Sharding, où vous spécifiez le niveau de la collection
J'ai eu un problème similiaire et j'ai trouvé une solution assez facile dans JavaScript pour être exécutée dans une coquille Mongo. P>
SourceCode disponible ici: http://www.suenkel.de/ Blog / 2012/02 / Mongodb-Replicat-one-One-OR-Collection / P>
avec l'ouverture d'un curseur tables sur l'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 ...) p>
Pouvez-vous poster la solution au lieu du lien? Les morts rendu de Linknis rendent votre réponse inutile ...
Selon l'architecture de réplicaset actuelle MongoDB, vous ne pouvez pas utiliser un seul réplica défini avec certains membres ayant des parties des bases de données ou des collections. P>
Toutefois, si vous avez besoin de reproduire une seule base de données ou une collecte en temps réel à un autre endroit, j'ai fini par suivre la solution suivante: p>
DirectoryPerdb CODE> A > Pour séparer les fichiers de base de données souhaités (créez une nouvelle réplica avec cette option activée si vous ne l'avez déjà pas déjà) LI>
- Copiez le répertoire de la base de données souhaitée sur le nouvel emplacement. LI>
- Déployez un nouveau réplicaset avec cette base de données unique. LI>
- Écrivez un script simple et utilisez Changer les flux pour effectuer la réplication pour vous. < / li>
ol>
Comme je l'ai dit, vous vous retrouverez avec un autre ensemble de réplica dédié à cette base de données, mais la réplication est effectuée en temps réel et les deux séries répliques ont les données de manière cohérente (vous devez effectuer vos opérations d'écriture sur le premier réplicaset , bien que). p>