2010-05-09 4 views
0

J'ai une série de bases de données, dont chacune est essentiellement autonome. Au départ, il me semblait que j'avais besoin d'une solution de réplication, mais plus je la recherchais, plus j'avais l'impression que la réplication était trop lourde et inutile de toute façon. Je n'ai pas encore fait de réplication MySQL, j'ai donc lu sur les docs en ligne, googling, et recherche SO pour les questions pertinentes, mais je ne peux pas trouver un scénario tout à fait comme le mien. Voici une brève description de mon problème:La réplication de MySQL est-elle appropriée dans ce cas?

  1. Les différentes bases de données n'ont presque jamais de connexion en direct les unes avec les autres.
  2. Ils doivent pouvoir "synchroniser" en copiant des fichiers sur une clé USB, puis en les déplaçant vers la destination appropriée.
  3. Il est possible que les données ne correspondent pas exactement, mais elles doivent avoir les mêmes relations parent-enfant. Autrement dit, si une clé générée diffère entre les bases de données, ce n'est pas grave. Mais les données visibles doivent correspondre.
  4. La synchronisation n'est pas critique. Les mises à jour peuvent être faites une semaine plus tard, ou même un mois plus tard, tant qu'ils sont faits à terme.
  5. Les mises à jour ne peuvent pas être garanties dans le bon ordre ou dans n'importe quel ordre. Ils seront dans l'ordre de chaque base de données; juste pas entre bases de données.
  6. Plutôt qu'un ensemble de relations maître-esclave, il s'agit plutôt d'une base de données centrale (R/W) et de plusieurs bases de données distantes (également R/W).
  7. Je ne sais pas combien de bases de données à distance j'ai jusqu'à ce qu'ils soient créés. Et la base de données centrale ne saura pas qu'une base de données existe jusqu'à ce que les données en proviennent. (Pour moi, cela implique que je ne peux pas utiliser la méthode de donner à chacun sa propre gamme d'identité unique pour garantir l'unicité dans la base de données centrale.)

Il me semble que l'essentiel est que je ne veux pas " réplication "autant que je veux" conscience ". Je veux que la base de données centrale sache ce qui s'est passé dans les bases de données distantes, mais il n'y a pas de contrainte de temps. Je veux que les bases distantes soient au courant de la base de données centrale, mais elles n'ont pas besoin de se connaître.

WTH est ma question? C'est ceci: Est-ce que ce scénario ressemble à n'importe lequel des scénarios de réplication typiques, ou est-ce que cela sonne comme si je devais rouler le mien? Peut-être que le numéro 7 ci-dessus est le seul qui compte, et étant donné cette exigence, la réplication prête à l'emploi est impossible.

EDIT: Je réalise que cette question pourrait être mieux adaptée à ServerFault. J'ai aussi cherché là-bas et n'ai trouvé aucune réponse à mes questions. Et basé sur les questions de réplication que j'ai trouvé à la fois sur SO et SF, il semblait que la décision était de 50-50 sur où poser ma question. Désolé si j'ai mal deviné.

+0

Tout cela semble être lié à l'administration de la base de données, pas à la programmation ... –

+0

Je pense que vous avez raison, mais cela devient un problème de programmation si je dois écrire le mien. C'est pourquoi j'ai décidé de le soumettre ici à la place. – MJB

+0

C'est devenu un point discutable, alors j'ai voté pour clore ma propre question. – MJB

Répondre

0

Étant donné que la base de données "maître" ne connaîtra pas la réplication des bases de données avant qu'elles n'apparaissent, il ne s'agit clairement pas d'un cas de réplication. C'est juste un insert ou une mise à jour quand les données apparaissent. Donc, je suis en train de conclure ceci et d'accepter cette réponse, car la question est devenue sans objet.

Questions connexes