Junior
Kas ir replikācija datu bāzu kontekstā?
sobes.tech AI
Atbilde no AI
Replikācija ir process, kad datus kopē no galvenās datu bāzes (master) uz vienu vai vairākām sekundārajām datu bāzēm reāllaikā vai ar nelielu aizkavi.
Galvenie replikācijas mērķi:
- Pieejamības palielināšana. Gadījumā, ja master neizdodas, replikācija var pārņemt slodzi.
- Lasīšanas ātruma palielināšana. Lasīšanas pieprasījumi tiek sadalīti starp master un replikām.
- Rezerves kopija. Replikācija var tikt izmantota kā aktuāla datu kopija.
- Analīze. Analītiskie pieprasījumi var tikt veikti uz replikām, neuzlādējot master.
Replikācijas veidi:
- Asinhrona. Master negaida apstiprinājumu no replikas par izmaiņu piemērošanu. Var būt neliela datu aizkave.
- Sinhrona. Master gaida apstiprinājumu no replikas. Nodrošina datu konsekvenci, bet var palēnināt ierakstu uz master.
- Semi-sinhrona. Kompromiss starp asinhrono un sinhrono. Master gaida apstiprinājumu no vismaz vienas replikas.
MySQL konfigurācijas piemērs:
// my.cnf uz master
[mysqld]
server-id = 1
log_bin = mysql-bin
// my.cnf uz replikas
[mysqld]
server-id = 2
relay_log = mysql-relay-bin
read_only = 1 // Tikai lasīšanai replikācija
Replikācijas konfigurācija:
// Uz replikas
CHANGE MASTER TO
MASTER_HOST='<IP_masters>',
MASTER_USER='<repl_user>',
MASTER_PASSWORD='<repl_password>',
MASTER_LOG_FILE='<binlog_fails>', // Saņemts ar show master status;
MASTER_LOG_POS=<pozīcija>; // Saņemts ar show master status;
START SLAVE;