Sobes.tech
Junior

Was ist Replikation im Kontext von Datenbanken?

sobes.tech KI

Antwort von AI

Replikation ist der Prozess des Kopierens von Daten von einer Master-Datenbank in eine oder mehrere Replikate in Echtzeit oder mit geringer Verzögerung.

Hauptziele der Replikation:

  • Erhöhung der Verfügbarkeit. Bei Ausfall des Masters kann die Replikat die Last übernehmen.
  • Steigerung der Lesegeschwindigkeit. Leseanfragen werden zwischen dem Master und den Replikaten verteilt.
  • Backup. Das Replikat kann als aktuelle Kopie der Daten verwendet werden.
  • Analyse. Analytische Anfragen können auf den Replikaten ausgeführt werden, ohne den Master zu belasten.

Arten der Replikation:

  • Asynchron. Der Master wartet nicht auf eine Bestätigung vom Replikat über die Anwendung der Änderungen. Es kann eine kleine Verzögerung bei den Daten geben.
  • Synchron. Der Master wartet auf die Bestätigung vom Replikat. Gewährleistet die Datenkonsistenz, kann aber die Schreibgeschwindigkeit auf dem Master verlangsamen.
  • Halbsynchron. Ein Kompromiss zwischen asynchron und synchron. Der Master wartet auf die Bestätigung von mindestens einem Replikat.

Beispiel für die MySQL-Konfiguration:

// my.cnf auf dem Master
[mysqld]
server-id = 1
log_bin = mysql-bin

// my.cnf auf dem Replikat
[mysqld]
server-id = 2
relay_log = mysql-relay-bin
read_only = 1 // Das Replikat kann nur gelesen werden

Replikationskonfiguration:

// Auf dem Replikat
CHANGE MASTER TO
MASTER_HOST='<IP_des_Masters>',
MASTER_USER='<repl_user>',
MASTER_PASSWORD='<repl_password>',
MASTER_LOG_FILE='<binlog_datei>', // Mit show master status; erhalten
MASTER_LOG_POS=<binlog_position>; // Mit show master status; erhalten

START SLAVE;