Sobes.tech
Junior

Маалыматтар базаларынын контекстинде репликация эмне?

sobes.tech AI

AIден жооп

Репликация — бул негизги маалымат базасынан (мастер) бир нече экинчи даражадагы маалымат базаларына реалдуу убакытта же аз кечиктирүү менен көчүрүү процесси.

Репликациянын негизги максаттары:

  • Жарактуулукту жогорулатуу. Мастер иштен чыкса, реплика жүктү алмаштыра алат.
  • Окуу ылдамдыгын жогорулатуу. Окуу суроолору мастер жана репликалар арасында бөлүштүрүлөт.
  • Көчүрмө. Реплика маалыматтардын актуалдуу көчүрмөсү катары колдонулушу мүмкүн.
  • Аналитика. Аналитикалык суроолор мастерди жүктөбөстөн репликаларда аткарылат.

Репликациянын түрлөрү:

  • Асинхрон. Мастер өзгөртүүлөрдү колдонуу тууралуу репликадан ырастоо күтпөйт. Кичинекей кечиктирүү болушу мүмкүн.
  • Синхрон. Мастер репликадан ырастоо күтөт. Маалыматтын туруктуулугун камсыздайт, бирок жазууну жайлатышы мүмкүн.
  • Жарым-синхрон. Асинхрон жана синхрондун ортосунда компромисс. Мастер кеминде бир репликаны күтөт.

MySQL конфигурациясынын мисалы:

// my.cnf мастерде
[mysqld]
server-id = 1
log_bin = mysql-bin

// my.cnf репликда
[mysqld]
server-id = 2
relay_log = mysql-relay-bin
read_only = 1 // Окулушу мүмкүн реплика

Репликаны конфигурациялоо:

// Репликда
CHANGE MASTER TO
MASTER_HOST='<IP_мастер>',
MASTER_USER='<repl_user>',
MASTER_PASSWORD='<repl_password>',
MASTER_LOG_FILE='<binlog_файл>', // show master status аркылуу алынады
MASTER_LOG_POS=<позиця>; // show master status аркылуу алынады

START SLAVE;