PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 08/04/2011 14:04:34

TTIOT
Membre

Réplication multi-maître-maitre

Bonjour à tous,

Je me permets de vous contacter afin d'avoir votre avis sur mon problème.
Je doit mettre en place un système de réplication entre différents serveurs à travers la France et tous ces serveurs doivent être en lecture/écriture.
J'ai regardé du coté de bucardo mais il ne gère que 2 maîtres.

Auriez vous des conseils pour moi sachant que les serveurs peuvent être injoignables?

Merci par avance de votre aide.

Cordialement,

Julien

Hors ligne

#2 08/04/2011 14:41:58

gleu
Administrateur

Re : Réplication multi-maître-maitre

Ce que vous cherchez à obtenir m'a l'air tout simplement impossible. Vous voulez du multi-maître, en sachant que les serveurs peuvent être injoignables. Comment gérez-vous les conflits dans ce cas ? par conflit, j'entends qu'un utilisateur sur un serveur modifie une ligne qu'un autre utilisateur sur un autre serveur modifie aussi. Comment voulez-vous que ce cas soit géré si les deux serveurs ne peuvent pas communiquer ?

Maintenant, cela étant dit, je n'ai jamais rencontré de cas où une réplication multi-maître était vraiment indispensable. Pourquoi pensez-vous en avoir besoin ?


Guillaume.

Hors ligne

#3 08/04/2011 14:52:02

TTIOT
Membre

Re : Réplication multi-maître-maitre

Tout d'abord merci de votre réponse.

Pour ce qui est des serveurs injoignables, c'est dans le cas où une agence est en blackout suite à une panne de courant (par exemple).
Après je suis ouvert à vos conseils concernant l'architecture.

je pense en avoir besoin car voilà le schéma actuelle :

Nous avons une base dite "groupe" où les infos de toutes les agences sont centralisées. Cette base est accessible à certains de nos clients pour inscription de données.
Les agences de leurs cotés doivent pouvoir travailler (logique) et donc créer également des données dans les bases "locales".
Ils me faut donc un moyen pour consolider le tout et que les données groupe soient descendues dans les données locales et inversement.

Je suis ouvert à tout conseil y compris architecture (c'est une refonte du SI).

Merci d'avance

Hors ligne

#4 08/04/2011 15:17:44

gleu
Administrateur

Re : Réplication multi-maître-maitre

Pour ce qui est des serveurs injoignables, c'est dans le cas où une agence est en blackout suite à une panne de courant

Dans ce cas, inutile que le serveur de l'agence ne soit un master lui-même, de toute façon, il n'a pas de courant smile

Je sais que ce n'est qu'un exemple. Cependant, il faut avoir un vrai cas d'utilisation pour demander une telle solution qui a toujours des contraintes très fortes.

Nous avons une base dite "groupe" où les infos de toutes les agences sont centralisées. Cette base est accessible à certains de nos clients pour inscription de données.
Les agences de leurs cotés doivent pouvoir travailler (logique) et donc créer également des données dans les bases "locales".
Ils me faut donc un moyen pour consolider le tout et que les données groupe soient descendues dans les données locales et inversement.

Il existe plusieurs façons. Par exemple, disons que vous avez la table stock où chaque agence doit pouvoir écrire. Il suffit dans ce cas de créer une table stock_agence1 où seule l'agence 1 peut écrire, stock_agence2 où seule l'agence 2 peut écrire, etc. Pour lire, il vous suffit d'une vue qui agrège les différentes tables ou d'une table parent dans le cas d'un héritage. Le but étant d'avoir pour chaque table un seul maître, ce qui vous permet d'utiliser Slony ou Londiste par exemple. Autre possibilité, associer un bigint pour la clé primaire et spécifier que l'agence 1 peut aller de la valeur 1 à 1000000, l'agence 2 de 1000001 à 2000000, etc. Il est possible de forcer cela en configurant correctement les séquences associées.

Bref, il existe des solutions ne passant pas par du maître/maître.


Guillaume.

Hors ligne

Pied de page des forums