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;