Junior
Verilənlər bazası kontekstində replikasiya nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Replikasiya — bu məlumatların əsas verilənlər bazasından (master) bir və ya bir neçə ikincil verilənlər bazasına real vaxtda və ya kiçik gecikmə ilə köçürülməsi prosesidir.
Replikasiyanın əsas məqsədləri:
- Əlçatanlığı artırmaq. Masterdə nasazlıq baş verərsə, replikasiya yükü üzərinə götürə bilər.
- Oxuma sürətini artırmaq. Oxu sorğuları master və replikalar arasında paylanır.
- Ehtiyat nüsxə. Replikasiya məlumatların aktual nüsxəsi kimi istifadə oluna bilər.
- Analiz. Analitik sorğular masteri yükləmədən replikalarda yerinə yetirilə bilər.
Replikasiya növləri:
- Asinxron. Master dəyişikliklərin tətbiqi barədə replikadan təsdiq gözləmir. Kiçik məlumat gecikməsi ola bilər.
- Sinxron. Master replikadan təsdiq gözləyir. Məlumatların ardıcıllığını təmin edir, lakin yazma sürətini yavaşlada bilər.
- Yarım-sinxron. Asinxron və sinxron arasında kompromis. Master ən azı bir replikadan təsdiq gözləyir.
MySQL konfiqurasiyasına nümunə:
// master-də my.cnf
[mysqld]
server-id = 1
log_bin = mysql-bin
// replikada my.cnf
[mysqld]
server-id = 2
relay_log = mysql-relay-bin
read_only = 1 // Yalnız oxuma replikası
Replikanın qurulması:
// Replikada
CHANGE MASTER TO
MASTER_HOST='<IP_master>',
MASTER_USER='<repl_user>',
MASTER_PASSWORD='<repl_password>',
MASTER_LOG_FILE='<binlog_fayl>', // show master status ilə alınır
MASTER_LOG_POS=<pozisiya>; // show master status ilə alınır
START SLAVE;