Sobes.tech
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;