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;