Sobes.tech
Junior

Qu'est-ce que la réplication dans le contexte des bases de données?

sobes.tech IA

Réponse de l'IA

La réplication est le processus de copie des données d'une base de données principale vers une ou plusieurs bases de données secondaires en temps réel ou avec un léger retard.

Objectifs principaux de la réplication:

  • Amélioration de la disponibilité. En cas de défaillance du maître, la réplica peut prendre en charge la charge.
  • Augmentation de la vitesse de lecture. Les requêtes de lecture sont réparties entre le maître et les réplicas.
  • Sauvegarde. La réplica peut être utilisée comme copie à jour des données.
  • Analyse. Les requêtes analytiques peuvent être effectuées sur les réplicas, sans surcharger le maître.

Types de réplication:

  • Asynchrone. Le maître n'attend pas de confirmation de la réplica sur l'application des changements. Il peut y avoir un léger retard dans les données.
  • Synchrone. Le maître attend la confirmation de la réplica. Garantit la cohérence des données, mais peut ralentir l'écriture sur le maître.
  • Semi-synchrone. Un compromis entre asynchrone et synchrone. Le maître attend la confirmation d'au moins une réplica.

Exemple de configuration MySQL:

// my.cnf sur le maître
[mysqld]
server-id = 1
log_bin = mysql-bin

// my.cnf sur la réplica
[mysqld]
server-id = 2
relay_log = mysql-relay-bin
read_only = 1 // Peut faire de la réplica uniquement en lecture

Configuration de la réplica:

// Sur la réplica
CHANGE MASTER TO
MASTER_HOST='<IP_du_maître>',
MASTER_USER='<utilisateur_repl>',
MASTER_PASSWORD='<mot_de_passe_repl>',
MASTER_LOG_FILE='<fichier_binlog>', // Obtenu avec show master status;
MASTER_LOG_POS=<position_binlog>; // Obtenu avec show master status;

START SLAVE;