Sobes.tech
Junior

Ma'lumotlar bazalari kontekstida replikatsiya nima?

sobes.tech AI

AIdan javob

Replikatsiya — bu ma'lumotlarni asosiy ma'lumotlar bazasidan (master) bir yoki bir nechta ikkilamchi ma'lumotlar bazalariga haqiqiy vaqt yoki kichik kechikish bilan nusxalash jarayonidir.

Replikatsiyaning asosiy maqsadlari:

  • Mavjudlikni oshirish. Master nosoz bo'lsa, replikatsiya yukni o'z zimmasiga olishi mumkin.
  • O'qish tezligini oshirish. O'qish so'rovlarining tarqalishi master va replikalar o'rtasida amalga oshiriladi.
  • Zaxira nusxasi. Replikatsiya ma'lumotlarning dolzarb nusxasi sifatida ishlatilishi mumkin.
  • Tahlil. Tahliliy so'rovlar masterni yuklamasdan replikalarda bajarilishi mumkin.

Replikatsiya turlari:

  • Asinxron. Master o'zgarishlarni qo'llash haqida replikadan tasdiq kutmaydi. Ma'lumotlarda kichik kechikish bo'lishi mumkin.
  • Sinxron. Master replikadan tasdiq kutadi. Ma'lumotlarning birxilligi kafolatlanadi, ammo yozishni sekinlashtirishi mumkin.
  • Yarim-sinxron. Asinxron va sinxron o'rtasidagi kompromiss. Master kamida bitta replikadan tasdiq kutadi.

MySQL konfiguratsiyasining misoli:

// master'da 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 // Faqat o'qish uchun replikatsiya qilish mumkin

Replikatsiya konfiguratsiyasi:

// Replikada
CHANGE MASTER TO
MASTER_HOST='<IP_mastera>',
MASTER_USER='<repl_user>',
MASTER_PASSWORD='<repl_password>',
MASTER_LOG_FILE='<binlog_fayl>', // show master status bilan olinadi;
MASTER_LOG_POS=<binlog_pozitsiya>; // show master status bilan olinadi;

START SLAVE;