Junior
Mi az a replikáció az adatbázisok kontextusában?
sobes.tech MI
Válasz az MI-től
Replikáció — ez az adatmásolási folyamat egy fő adatbázisból (mester) egy vagy több másodlagos adatbázisba valós időben vagy kis késleltetéssel.
A replikáció fő céljai:
- Elérhetőség növelése. A mester hibája esetén a replikát átveheti a terhelést.
- Olvasási sebesség növelése. Az olvasási kérések a mester és a replikák között oszlanak meg.
- Biztonsági másolat. A replikát adatainak aktuális másolataként lehet használni.
- Elemzés. Az analitikus lekérdezések a replikákon futtathatók, anélkül, hogy terhelnék a mestert.
Replikáció típusai:
- Aszinkron. A mester nem vár megerősítést a replikától a változtatások alkalmazásáról. Kis adat késleltetés lehet.
- Szinkron. A mester vár a replikától megerősítést. Biztosítja az adatok konzisztenciáját, de lassíthatja a írást a mesterben.
- Fél-szinkron. Egy kompromisszum az aszinkron és a szinkron között. A mester legalább egy replikától vár megerősítést.
MySQL konfiguráció példája:
// my.cnf a mesterben
[mysqld]
server-id = 1
log_bin = mysql-bin
// my.cnf a replikában
[mysqld]
server-id = 2
relay_log = mysql-relay-bin
read_only = 1 // Csak olvasási replikát lehet csinálni
Replika konfiguráció:
// A replikában
CHANGE MASTER TO
MASTER_HOST='<IP_a_mestertől>',
MASTER_USER='<repl_felhasználó>',
MASTER_PASSWORD='<repl_jelszó>',
MASTER_LOG_FILE='<binlog_fájl>', // A show master status segítségével szerezhető be
MASTER_LOG_POS=<pozíció>; // A show master status segítségével szerezhető be
START SLAVE;