Bosh sahifa Wiki Replica set

Replica set

Replica set — bir xil mantiqiy ma’lumot to‘plamini saqlaydigan va yuqori mavjudlik uchun birgalikda ishlaydigan database serverlari guruhidir. MongoDB kontekstida bitta primary yozuvlarni qabul qiladi, secondary tugunlar primary oplogini takrorlaydi. Primary ishlamay qolsa, mos secondarylar saylov orqali yangi primary tanlashi mumkin.

A’zolar va rollar

Primary barcha odatiy write operatsiyalarini tartiblaydi. Secondary oplogni o‘qib local dataga qo‘llaydi. Hidden secondary backup, reporting yoki delayed replica uchun client discoverydan yashirilishi mumkin. Arbiter data saqlamaydi, faqat saylov ovozi beradi; u redundancy va backup o‘rnini bosmaydi.

Voting memberlar soni quorumga ta’sir qiladi. Toq ovozlar tenglik xavfini kamaytiradi. Bir failure domaindagi uch tugun rack yoki region uzilganda birga yo‘qolishi mumkin, shu sababli placement mustaqil elektr va tarmoq zonalarini hisobga oladi.

Oplog va replikatsiya

Oplog capped collection bo‘lib, ma’lumot o‘zgarishlarini tartibli qayd etadi. Secondary entrylarni idempotent tarzda qo‘llaydi. U uzoq vaqt uzilib, kerakli entrylar oplogdan chiqib ketsa incremental catch-up qila olmaydi va initial sync talab etadi.

Replication lag primarydagi eng yangi optime bilan secondary holati orasidagi farqdir. Sekin disk, network yoki katta index build lagni oshiradi. Secondarydan o‘qish stale natija berishi mumkin. Read concern va read preference consistency hamda latency muvozanatini boshqaradi.

Saylov va failover

A’zolar heartbeat bilan bir-birini kuzatadi. Primary quorumni yo‘qotsa step down qiladi. Election term eski primary qaytib kelganda yangi yozuv qabul qilishini cheklaydi. Failover vaqtida qisqa write unavailability bo‘ladi; driver topology o‘zgarishini aniqlab, retryable write ni tegishli shartlarda takrorlaydi.

Network partitionda faqat ko‘pchilik tomoni primary saylashi mumkin. Minoritydagi eski primary step down qilmaguncha qisqa vaqt o‘zini primary deb bilishi ehtimoli fencing va term bilan boshqariladi. Client majority write concern ishlatsa keyinchalik rollback bo‘ladigan yozuv xavfi kamayadi.

Write concern

w:1 primary local tasdiqlagach javob beradi. Majority write concern replica setning ko‘pchilik hisoblagan a’zolarida durable bo‘lishini talab qiladi. Journaling disk crashiga nisbatan kafolatni kuchaytiradi. Kuchliroq concern latency va partitiondagi availabilityni kamaytirishi mumkin.

Timeout natijaning bajarilmaganini isbotlamaydi. Client idempotent operation ID yoki retryable write semanticsdan foydalanadi. Bir nechta hujjat tranzaksiyasi commit qarorini replica set logida saqlaydi, ammo tashqi side effect bilan avtomatik atomar emas.

Operatsion boshqaruv

Backup secondarydan olinishi primary yukini kamaytiradi, lekin snapshot oplog nuqtasi bilan izchil bo‘lishi kerak. Delayed secondary inson xatosidan vaqt oynasi beradi, ammo ransomware yoki credential buzilishida yagona himoya emas. Immutable backup alohida saqlanadi.

Monitoring member state, election, heartbeat latency, oplog window, replication lag, rollback, disk va connectionni ko‘rsatadi. Maintenance oldidan member priority va voting hisoblanadi; bir vaqtda quorum yo‘qotilmaydi. Version upgrade ketma-ket rolling bajarilib, protocol compatibility saqlanadi.

Ishlashni tekshirish

Replica set holati monitoringida a’zolar roli, replikatsiya kechikishi, oplog oynasi va saylovlar soni kuzatiladi. Oplog oynasi uzilib qolgan a’zo qayta ulanadigan davrdan qisqa bo‘lsa, to‘liq qayta sinxronlash talab etilishi mumkin. Zaxira va tiklash mashqlari replikatsiyaning o‘zi xato o‘chirish yoki buzilgan ma’lumotdan himoya qilmasligini ko‘rsatadi.

Bog‘liq tushunchalar

Primary replica, Secondary replica, Oplog, Write concern, Read concern, Election, Replication lag