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;