Précédent   Forum du club des développeurs et IT Pro > Bases de données > Firebird > Outils
Outils Forum d'entraide sur les outils tiers pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 28/02/2011, 12h43   #1
max974
Invité de passage
 
Inscription : février 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 3
Points : 0
Points : 0
Par défaut Synchronisation entre 2 bases dynamiques.

Bonjour à tous et merci d'avance pour ceux qui prendrons le temps de lire l'énoncé du problème.

Pour le moment la configuration actuelle est la suivante:

Un serveur d'applications lourdes et un serveur d'application légères (web) écrivent toutes les deux sur la même base de données firebird.
Jusque là pas de problèmes me direz vous...Mais pour des raisons de sécurité, dont je vais vous éviter les explications, nous devons avoir une base firebird sur chaque serveur.
En résumé, le serveur d'applis lourdes se sert de toutes les tables de la base.
Le serveur web n'écrit seulement que sur 15 tables de la bases mais à tout de même besoin du reste pour la consultation et la cohérence des données.
Si vous préférez, les 15 tables concernées vont êtres modifiées indépendamment sur les 2 bases mais doivent être synchronisées à l'identique régulièrement...
Aucun problèmes pour synchroniser les autres tables, car elle seront seulement modifiées sur le serveur applis lourdes et répliquées sur le serveur d'applis légères.
Mais comment fait-on lorsque les 2 bases sont modifiées différemment et que l'on doit les synchroniser?

Pour le moment j'utilise DBSync for Firebird&MySQL.
J'ai beau faire toutes les simulations possible avec les INSERT/UPDATE/DROP dans un sens comme dans l'autre, rien de va...
Le problème parait simple mais dès que vous rentrez dans les simulation vous comprendrez le problème.
Soit j'ai des données qui restent que je ne veux pas ou alors ça efface ce que je ne veux pas.
Bref je suis à cours de solution.

Quelqu'un s'est déjà trouvé face a ce genre de défis?

Si une personne pouvais m'aider ce serait vraiment bien

Merci à tous d'avance et n'hésitez pas a me demander des clarifications, pour moi le problème est clair mais je l'ai peut être mal expliqué...
max974 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 16h52   #2
Barbibulle
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 726
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 43

Informations forums :
Inscription : octobre 2002
Messages : 1 726
Points : 2 375
Points : 2 375
Bonjour,

"Il existe une application pour ça" ©

Cela s'appel de la réplication :

Uns liste de logiciels :
http://www.firebirdfaq.org/faq249/

Un à conseiller en particulier ? oui => http://www.ibphoenix.com/products/software/ibreplicator
Vous pouvez tester la version d'évaluation qui est juste limitée dans le temps.

Pour mettre en place ce type de logiciel je vous conseille de bien lire la documentation, afin de préparer votre base à la réplication avant de lancer la période d'évaluation.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/03/2011, 07h47   #3
max974
Invité de passage
 
Inscription : février 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 3
Points : 0
Points : 0
Bonjour Barbidulle et merci de votre réponse.

Je suis actuellement en phase de test sur ce logiciel.
J'ai quelques problèmes à régler avec ce logiciel mais je devrai y arriver.

En revanche je ne suis pas sur que la réplication soit bidirectionnelle.

En fait si ça l'est dans le sens où je peux répliquer dans un sens comme dans l'autre mais je ne suis pas certain que cela règle le problèmes des tables qui sont modifiées de chaque côtés...

Je vous tiens informé.

merci bonne journée !
max974 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2011, 09h45   #4
Barbibulle
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 726
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 43

Informations forums :
Inscription : octobre 2002
Messages : 1 726
Points : 2 375
Points : 2 375
Bonjour,

D'après ce que j'ai compris on peut avoir du bidirectionnelle.
D'ailleurs c'est pour ca qu'un role (ou user je ne sais plus) doit être créé pour la réplication cela lui permet de détecter que les mises à jours faite par ce role/user sont issus de la réplication et donc ne sont pas à prendre en compte pour la bidirection. (Sinon ca tournerait sans fin..)
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 11h05   #5
max974
Invité de passage
 
Inscription : février 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 3
Points : 0
Points : 0
Bonjour barbibulle et encore merci pour votre réponse.

Après plusieurs tests, j'en conclus que ce n'est pas possible.
J'ai bien crée des utilisateurs pour la réplication.

Mais il n'y a que deux types de réplication:
La synchronisation simple, qui fait une copie de la base source à la cible, ce qui ne m'intéresse donc pas, et la synchronisation symétrique, qui là, est intéressante pour tout, sauf que ça ne peux pas supprimer d'éléments...
De plus, je ne peux pas définir de règles de priorités car les deux bases sont complémentaires...

je suis donc bloqué, et je crois que ce que je veux réaliser est tout simplement impossible...

Merci pour tout et je te souhaite une bonne journée !
max974 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 12h28   #6
makowski
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 255
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 255
Points : 3 575
Points : 3 575
Citation:
Envoyé par max974 Voir le message
je suis donc bloqué, et je crois que ce que je veux réaliser est tout simplement impossible...
bien sur que non
IBReplicator permet de mettre en oeuvre cela
http://www.ibphoenix.com/products/software/ibreplicator
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 19h09   #7
Barbibulle
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 726
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 43

Informations forums :
Inscription : octobre 2002
Messages : 1 726
Points : 2 375
Points : 2 375
Citation:
Envoyé par max974 Voir le message
Mais il n'y a que deux types de réplication:
La synchronisation simple, qui fait une copie de la base source à la cible, ce qui ne m'intéresse donc pas, et la synchronisation symétrique, qui là, est intéressante pour tout, sauf que ça ne peux pas supprimer d'éléments...
C'est que vous avez du exclure les DELETE de la réplication !

Citation:
Envoyé par max974 Voir le message
De plus, je ne peux pas définir de règles de priorités car les deux bases sont complémentaires...
Il faut bien une règle... "Une base prioritaire par rapport à l'autre" ou bien "le dernier qui parlé a raison" (avec des timestamps) Permet de conserver la modification la plus récente des 2 bases.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 12h54.


 
 
 
 
Partenaires

Hébergement Web