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

Outils PostgreSQL Discussion :

Réplication Maître - Maître


Sujet :

Outils PostgreSQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    février 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2008
    Messages : 25
    Points : 17
    Points
    17
    Par défaut Réplication Maître - Maître
    Bonjour,

    après avoir créer avec succès une réplication Maître - Esclave directement avec PostgreSQL, je cherche à créer une réplication Maître - Maître.

    J'ai déjà installé mes 2 serveurs en version 13 sous debian.

    Je cherche de la haute disponibilité, et si possible du load balancing.

    J'ai regardé pgpool mais je ne trouve pas de tuto récent pour l'installation et la configuration.

    Avez-vous des idées d'outils pour la mise en place ou de bons tutos ?

    Merci

  2. #2
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    mai 2002
    Messages
    20 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : mai 2002
    Messages : 20 719
    Points : 49 089
    Points
    49 089
    Billets dans le blog
    1
    Par défaut
    Il n'est pas possible d'avoir deux nœuds maitres avec PostGreSQL. Le seul SGBDR à proposer cela est Oracle avec RAC.

    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/ * * * * *

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    février 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2008
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Aucun outil ne permet d'avoir un pool qui gère plusieurs noeuds avec de la haute disponibilité avec PostgreSQL ?

  4. #4
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    mai 2002
    Messages
    20 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : mai 2002
    Messages : 20 719
    Points : 49 089
    Points
    49 089
    Billets dans le blog
    1
    Par défaut
    En read/write non... Il n'existe aucune solution libre à ce niveau !

    Il faut se tourner vers Microsoft SQL Server avec les DPV (très utilisées pour les sites web marchand comme CDiscount, Fnac.com, Veepee...) ou Oracle RAC. Et dans tous les cas il y a certaines conditions de modélisation de la base à respecter, la première étant que toute table doit avoir une clé primaire !

    Maintenant avec le cloud c'est plus simple, car l'évolutivité est intégrée. Par exemple Microsoft Azure SQL garantit que votre BD sera présente sur 3 sites différents (vous ne savez d'ailleurs jamais sur quel site sont dirigées les requêtes..., c'est distribué) et en sus le serveur peut être choisit dans la catégorie "élastique" ce qui permet de payer peu cher un petit serveur qui évoluera automatiquement en fonction de la charge...
    https://docs.microsoft.com/fr-fr/azu...-pool-overview

    Si votre but est de faire du "scale out", c'est à dire rajouter des serveurs SGBDR en parallèle, c'est que vous avez de gros besoins en nombre d'accès. Or PostgreSQL est très limité à ce sujet par défaut 100 utilisateurs et il n'est pas conseillé de dépasser 300 car la consommation des ressources va être phénoménale puisque PostGresQL ne fait pas de pooling ! À contrario, un SGBDR comme SQL Server permet d'avoir jusqu'à 30 000 utilisateurs sans broncher dans une seule instance (dans PostGreSQl on parle de "cluster" à la place de instance) et les licences des réplicas sont gratuites, sauf à permettre la lecture des nœuds esclaves.

    Enfin la "sacalabilité" horizontale est extrêmement couteuses en terme de codage, maintenance sécurité... C'est pourquoi on tente de l'éviter ou la repousser au plus tard !

    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/ * * * * *

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    février 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2008
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    On quitte un SGDB payant (Pervasive ou Actian maintenant) car le prix de la licence est un frein à l'installation. C'est pour cette raison que nous nous somme orientés vers une base gratuite, sachant que le maximum d'utilisateurs approche la centaine

  6. #6
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    mai 2002
    Messages
    20 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : mai 2002
    Messages : 20 719
    Points : 49 089
    Points
    49 089
    Billets dans le blog
    1
    Par défaut
    Alors quel intérêt d'avoir du READ/WRITE sur tous les nœuds ?

    Dans votre cas, PostGreSQL sera un bon choix si :
    1) vous ne dépassez pas trop les 100 utilisateurs
    2) vous avez des heures creuses pour la maintenance (par exemple nuit, weekend...)

    Et donc, la réplication en mode STREAMING permettra d'assurer le PCA/PRA

    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/ * * * * *

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    février 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2008
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Effectivement, la charge sur la base est quasi exclusivement la journée avec du creux les soirs et les dimanches.

    Le but d'avoir un Maitre - Maître + pool est une continuité sans intervention en cas de panne, contrairement au Maître - Esclave

  8. #8
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    avril 2002
    Messages
    5 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2002
    Messages : 5 903
    Points : 22 877
    Points
    22 877
    Par défaut
    Bonjour,

    Regardez du côté de Patroni pour le failover automatique d'une réplication asymétrique ("maître-esclave") en cas de panne du serveur primaire. Ça fonctionne très bien et c'est en production dans de nombreuses d'entreprises...
    Pas besoin d'une réplication symétrique ("maître-maître") pour ça. Au passage, quelques projets autour de PostgreSQL développent des solutions de ce type (PostgresXL, BDR (payant), Bucardo (à base de triggers), etc.).

    Autre point : pour la répartition de charge, vous pouvez aussi trouver des solutions libres et gratuites autour de PostgreSQL, comme HAProxy.

    @+,

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  9. #9
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    mai 2002
    Messages
    20 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : mai 2002
    Messages : 20 719
    Points : 49 089
    Points
    49 089
    Billets dans le blog
    1
    Par défaut
    La streaming réplication maintenant intégrée à PostgreSQl répond très bien à votre problématique et il vaut mieux utiliser un outil intégré, plus coopératif et plus pérenne lorsque cela existe plutôt qu'un outil tiers qui risque de disparaitre avec l'intégration de cette nouvelle fonctionnalité à PostGreSQL !

    Enfin, la notion de maître-maître, veut dire que vous pouvez écrire en parallèle sur les différents nœuds... mais cela provoque irrémédiablement des conflits (mise à jour du même client par deux utilisateurs différents au même moment...) , que seules des techniques très avancées, et hors de porté actuellement du monde PostGreSQL (Oracle RAC, SQL Server DPV...) permettent de contourner.

    Pas du tout besoin de cela dans votre cas. C'est donc bien une "réplication" maitre-esclave qu'il faut utiliser. Néanmoins, PG ne supporte pas le "failover" automatique comme le fait MS SQL Server par exemple...

    https://blog.capdata.fr/index.php/po...ication-en-12/

    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/ * * * * *

  10. #10
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    février 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2008
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par ced Voir le message
    Bonjour,

    Regardez du côté de Patroni pour le failover automatique d'une réplication asymétrique ("maître-esclave") en cas de panne du serveur primaire. Ça fonctionne très bien et c'est en production dans de nombreuses d'entreprises...
    Pas besoin d'une réplication symétrique ("maître-maître") pour ça. Au passage, quelques projets autour de PostgreSQL développent des solutions de ce type (PostgresXL, BDR (payant), Bucardo (à base de triggers), etc.).

    Autre point : pour la répartition de charge, vous pouvez aussi trouver des solutions libres et gratuites autour de PostgreSQL, comme HAProxy.

    @+,

    ced
    Merci Ced,

    je vais regarder du côté de Patroni, car effectivement le Maître - Maître était par rapport au failover.

    Comme dis précédemment, j'ai tenté PgPool-II qui semble convenir mais sans trop de succès à la mise en place

Discussions similaires

  1. [Mysql] Réplication Esclave - multi maîtres
    Par johnson95 dans le forum Débuter
    Réponses: 0
    Dernier message: 17/06/2010, 10h18
  2. Réponses: 5
    Dernier message: 18/09/2007, 16h18
  3. Réplication multi maître
    Par blutch38 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 07/05/2007, 09h58
  4. Forcer réplication après l'arrêt d'un des sites maîtres
    Par ymerej dans le forum Entreprise Manager
    Réponses: 1
    Dernier message: 26/02/2007, 13h42
  5. Ma BD Maître a perdu ses codes de réplication
    Par Angelote dans le forum Access
    Réponses: 1
    Dernier message: 24/11/2006, 10h12

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