Skip to content

Réplication

Introduction

La réplication de base de données consiste à copier électroniquement et fréquemment des données d'une base de données d'un ordinateur ou d'un serveur vers une base de données d'un autre, de sorte que tous les utilisateurs partagent le même niveau d'informations.

Le résultat est une base de données distribuée dans laquelle les utilisateurs peuvent accéder r apidement aux données pertinentes pour leurs tâches sans interférer avec le travail des autres. De nombreux éléments contribuent au processus global de création et de gestion de la réplication de base de données.

Voici les principales méthodes de réplication disponibles sous PostgreSQL, classées par type et usage :

Réplication Physique (binaire)

  • Fonctionnement : Copie exacte des fichiers de données (WAL - Write-Ahead Log).
  • Méthodes :
    • Réplication continue (Streaming Replication) :
      • Le serveur principal envoie les WAL en temps réel aux réplicas.
      • Utilisé pour la haute disponibilité et la tolérance aux pannes.
    • Réplication par archive (Log Shipping) :
      • Les WAL sont archivés et restaurés sur le réplica.
      • Moins temps réel, mais plus simple à mettre en place.

Réplication Logique

  • Fonctionnement : Copie des données au niveau logique (tables, lignes).
  • Méthodes :
    • Publication/Souscription (Publishing/Subscribing) :
      • Permet de répliquer des tables spécifiques entre bases, même de versions différentes.
      • Idéal pour la synchronisation partielle ou la migration.
    • Extensions tierces :
      • pglogical, Londiste, Bucardo : pour des besoins avancés ou multi-maîtres.

Réplication Multi-Maître

  • Fonctionnement : Plusieurs nœuds acceptent les écritures.
  • Solutions :
    • PostgreSQL natif : Limité, nécessite des outils externes.
    • Extensions : BDR, Citus (pour le sharding et la réplication distribuée).
    • Solutions externes : pgpool-II (avec gestion de conflit).

Réplication par Trigger

  • Fonctionnement : Utilisation de triggers pour copier les modifications vers une autre base.
  • Avantages/Inconvénients : Flexible mais complexe et moins performant.

Réplication via Outils Externes

  • Exemples :
    • pgpool-II : Gestion de pool de connexions et réplication.
    • Slony : Réplication asynchrone multi-maître.
    • Barman : Sauvegarde et restauration, utile pour la réplication de secours.

Résumé des cas d’usage

Type de réplicationCas d’usage principalComplexité
Streaming ReplicationHaute disponibilité, failoverMoyenne
Log ShippingSauvegarde à distance, PRAFaible
Publication/SouscriptionSynchronisation partielle, migrationFaible
Multi-MaîtreÉcritures distribuées, tolérance aux pannesÉlevée
TriggerSynchronisation personnaliséeÉlevée

Articles DIvers

Mise à jour le:

Publier sous CC BY-SA 4.0.