IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

réplication base multi-master


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 187
    Par défaut réplication base multi-master
    bonjour,

    J'ai une base de donnée qui est accédé de plusieurs endroits dans le monde. certain de ces endroits bénéficie d'une bande passante très faible, ce qui rend l'accès directe à la base impraticable.

    Pour résoudre se problème de temps de réponse, j'imagine de répliquer ma base sur les différents lieux d'accès. Les accès seraient alors locaux et rapide.

    La base doit être modifiable depuis toutes ses réplications et les changements doivent être synchronisés de sorte a ce que mes bases soient (a peut près) toujours les même à un temps t.

    Je cherche donc un mécanisme de réplication postgres qui :
    - supporte plusieurs bases maitre (2 pour l'instant).
    - synchronise les données d'une base à l'autre.
    - ne bloque pas les accès durant la synchronisation.
    - ne soit pas nécessairement temps reél.
    - ne "gache" pas la bande passante.

    j'ai jeté un oeuil à pgCluster mais j'ai c'est pas très clair

    des idées, du vécu?

    merci

    Patrice.

  2. #2
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Je ne pense pas que Postgresql, dans les versions actuelles, propose des outils pour faire ce genre d'architecture évoluée
    Tu as éventuellement les dblinks mais ça voudrait dire que pour chaque insert/update/delete sur 1 maître, il faudrait un trigger qui le réplique via dblink ... Ca deviendrait vite une usine à gaz ...

    C'est à mon avis en tout très difficile de faire du synchrone avec Postgresql
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 996
    Billets dans le blog
    6
    Par défaut
    Ce que vous recherchez c'est faire une réplication de fusion. Ce n'est peut être pas implémenté sous PG. Mais vous pouvez le faire à la main. Ceci dit cela représente beaucoup de travail pour réaliser une telle chose alors que certains SGBDR proposent cela en standard (MS SQL Server).
    En effet il faut entre autre :
    1) ajouter une colonne avec un GUID dans toutes les tables répliquées
    2) prévoir 3 triggers (INSERT + UPDATE + DELETE) dans chacune des tables répliquées
    3) centraliser les mises à jours distribuées dans une base (qui servira aussi pour la gestion des conflits)
    4) prévoir que les clefs auto incrémentée ne se recoupent pas (gérer les auto incrément par plage ou modulo)
    5) introduire une gestion des conflits de réplication (qui gagne en cas de MAJ des deux côtés).

    Bref, quelques mois de développement au minimum pour réaliser tout cela et un bon DBA pour gérer les conflits et surveiller la charge.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 187
    Par défaut
    SQLPro, savez vous ou je peux trouver de la documentation sur le sujet?
    cette approche m'intéresse.

    quelles sont les solutions pour la résolution des conflits?
    je pense notamment aux contraintes d'unicités et aux intégrités référentielles mises à mal par une suppression d'un coté et un ajout de l'autre.

    merci,

    P.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 996
    Billets dans le blog
    6
    Par défaut
    SQLPro, savez vous ou je peux trouver de la documentation sur le sujet?
    Fouillez le net avec les mots clef MERGE REPLICATION.

    quelles sont les solutions pour la résolution des conflits?
    Il s'agit de régles métiers à implanter dans le SGBDR. malgré cela il faut un outil de gestion des conflits.

    Exemple : règle métier = données la plus récente. Si data1.datatimeRefresh = data2.datatimeRefresh alors, faire tomber les tuples dans une base de gestion de conflit et demander au DBA comment il arbitre.

    Compter 3 à 6 mois de développement pour un spécialiste SQL... Bon courage !

    PS : ceci existe en standard dans SQL Server....

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 187
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Compter 3 à 6 mois de développement pour un spécialiste SQL... Bon courage !
    Oups, merci pour l'encouragement....

    P.

Discussions similaires

  1. Réplication base de données Master/Slave
    Par hichem tunis dans le forum Administration
    Réponses: 2
    Dernier message: 18/03/2014, 11h32
  2. Réplication multi master
    Par nandy.c dans le forum Administration
    Réponses: 6
    Dernier message: 22/01/2013, 09h55
  3. Réplication Multi Master - V9 - V11
    Par plochert dans le forum Administration
    Réponses: 0
    Dernier message: 01/02/2011, 11h18
  4. verrouillage des données / base Multi utilisateurs
    Par DI DODO dans le forum Access
    Réponses: 1
    Dernier message: 27/03/2006, 15h34
  5. Design d'une base multi-user
    Par Aurelien.Regat-Barrel dans le forum Langage SQL
    Réponses: 4
    Dernier message: 29/08/2005, 12h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo