Junior
Mis on replikatsioon andmebaaside kontekstis?
sobes.tech AI
Vastus AI-lt
Replikatsioon on protsess, kus andmed kopeeritakse ühelt peamise andmebaasilt (master) ühele või mitmele sekundaarandmebaasile reaalajas või väikese viivitusega.
Replikatsiooni peamised eesmärgid:
- Saadavuse suurendamine. Kui master ebaõnnestub, võib replikatsioon võtta üle koormuse.
- Lugemiskiiruse suurendamine. Lugemispäringud jaotatakse masteri ja replikate vahel.
- Varukoopia. Replikat saab kasutada kui ajakohast koopiat andmetest.
- Analüüs. Analüütilised päringud võivad toimuda replikatel, mitte koormates masterit.
Replikatsiooni tüübid:
- Asünkroonne. Master ei oota kinnitust replikalt muudatuste rakendamise kohta. Võib esineda väike andmete viivitus.
- Sünkroonne. Master ootab kinnitust replikalt. Tagab andmete järjepidevuse, kuid võib aeglustada kirjutamist masterile.
- Pool-sünkroonne. Kompromiss asünkroonse ja sünkroonse vahel. Master ootab kinnitust vähemalt ühest replikast.
MySQL konfiguratsiooni näide:
// my.cnf masteril
[mysqld]
server-id = 1
log_bin = mysql-bin
// my.cnf replikal
[mysqld]
server-id = 2
relay_log = mysql-relay-bin
read_only = 1 // Ainult lugemisreplik
Replikatsiooni seadistamine:
// Replikal
CHANGE MASTER TO
MASTER_HOST='<IP_master>',
MASTER_USER='<repl_user>',
MASTER_PASSWORD='<repl_password>',
MASTER_LOG_FILE='<binlog_fail>', // Saadakse show master status abil
MASTER_LOG_POS=<positsioon>; // Saadakse show master status abil
START SLAVE;