Junior
Šta je replikacija u kontekstu baza podataka?
sobes.tech АИ
Одговор од АИ
Репликација је процес копирања података из главне базе података (мастер) у једну или више секундарних база података у реалном времену или са малим закашњењем.
Главни циљеви репликације:
- Повећање доступности. У случају квара мајстора, реплика може преузети оптерећење.
- Повећање брзине читања. Захтеви за читање се распоређују између мајстора и реплика.
- Резервна копија. Реплика може бити коришћена као актуелна копија података.
- Аналитика. Аналитички упити могу се изводити на репликама, без оптерећења мајстора.
Врсте репликације:
- Асимптонска. Мастер не чека потврду од реплике о примени промена. Може доћи до малог закашњења података.
- Синхрона. Мастер чека потврду од реплике. Гарантује конзистентност података, али може успорити записе на мајстору.
- Полусинхрона. Компромис између асинхроне и синхроне. Мастер чека потврду од најмање једне реплике.
Пример конфигурације 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='<бинлог_фајл>', // Добија се са show master status;
MASTER_LOG_POS=<позиција>; // Добија се са show master status;
START SLAVE;