Sobes.tech
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;