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;