Junior
Wat is replicatie in de context van databases?
sobes.tech AI
Antwoord van AI
Replicatie is het proces van het kopiëren van gegevens van een hoofd-database (master) naar een of meerdere secundaire databases in realtime of met een kleine vertraging.
De belangrijkste doelen van replicatie:
- Verbetering van de beschikbaarheid. Bij uitval van de master kan de replica de belasting overnemen.
- Verhoogde leessnelheid. Leesverzoeken worden verdeeld tussen de master en de replica's.
- Back-up. De replica kan worden gebruikt als een actuele kopie van de gegevens.
- Analyse. Analytische query's kunnen op de replica's worden uitgevoerd, zonder de master te belasten.
Types replicatie:
- Asynchroon. De master wacht niet op bevestiging van de replica over de toepassing van de wijzigingen. Er kan een kleine vertraging in de gegevens zijn.
- Synchroon. De master wacht op bevestiging van de replica. Garandeert gegevensconsistentie, maar kan de schrijfsnelheid op de master vertragen.
- Semi-synchroon. Een compromis tussen asynchroon en synchroon. De master wacht op bevestiging van ten minste één replica.
Voorbeeld van MySQL-configuratie:
// my.cnf op de master
[mysqld]
server-id = 1
log_bin = mysql-bin
// my.cnf op de replica
[mysqld]
server-id = 2
relay_log = mysql-relay-bin
read_only = 1 // Alleen-lezen replica
Replica-configuratie:
// Op de replica
CHANGE MASTER TO
MASTER_HOST='<IP_van_de_master>',
MASTER_USER='<repl_gebruiker>',
MASTER_PASSWORD='<repl_wachtwoord>',
MASTER_LOG_FILE='<binlog_bestand>', // Verkregen met show master status;
MASTER_LOG_POS=<binlog_positie>; // Verkregen met show master status;
START SLAVE;