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;