Bosh sahifa Wiki Physical replication

Physical replication

Physical replicationdatabase storage holatini bloklar yoki write-ahead log yozuvlari darajasida boshqa tugunga ko‘chiradigan replication usuli. Replica primarydagi data file va log formatini takrorlaydi, shu sabab butun clusterga yaqin nusxa beradi, lekin odatda database versiyasi, platforma va storage formatiga qat’iyroq bog‘lanadi.

Boshlang‘ich nusxa va log

Yangi standby avval izchil base backup oladi. Backup davomida yozuvlar o‘zgarishi mumkinligi uchun uning boshlanish va tugash log pozitsiyalari qayd etiladi. Keyin archived yoki streaming loglar ketma-ket replay qilinib, standby primaryga yetkaziladi. Faqat data katalogini oddiy fayl nusxasi bilan ko‘chirish ochiq database uchun izchil natija bermasligi mumkin.

Primary har commitni logga yozadi. Replica log recordlarni aynan shu storage engine qoidalari bilan apply qiladi. Table nomi yoki row mazmunini tushunadigan alohida eventga aylantirish shart emas; shu jihat logical replicationdan farq qiladi.

Moslik chegaralari

Physical replica ko‘pincha bir xil major database versiyasi, page size va CPU arxitekturasi kabi mosliklarni talab qiladi. Upgrade paytida eski versiya yangi formatni o‘qimasligi mumkin. Extension binarylari, collation kutubxonasi va encryption keylari ham standbyda mavjud bo‘lishi lozim.

Bitta jadvalni tanlab tashlab ketish odatda mumkin emas: cluster ichidagi database, katalog va transaction holati birga ko‘chadi. Selective distribution uchun logical replication yoki ETL ma’qul.

Recovery va o‘qish

Standby recovery rejimida logni replay qiladi. Hot standby funksiyasi ruxsat etsa read-only querylar bajariladi. Uzoq query primaryda o‘chirilgan row versiyalarini talab qilsa replay bilan conflictga kirishi mumkin; tizim queryni bekor qiladi yoki primaryda cleanupni kechiktiradi. Bu tanlov lag va primary storage bloatiga ta’sir qiladi.

Failoverda standby promotion qilinib yangi timeline boshlaydi. Eski primaryning divergent logi avtomatik davom ettirilmaydi; u rewind yoki yangi base backup orqali qayta qo‘shiladi. Physical nusxa tez recovery beradi, ammo asynchronous bo‘lsa tasdiqlangan oxirgi log yetib kelmagan bo‘lishi mumkin.

Ekspluatatsiya

Monitoring receive, flush va replay positionlarini, archive gaplarini, restart point hamda disk sarfini ko‘radi. Corrupt log, yetishmagan segment yoki to‘la disk replicationni to‘xtatishi mumkin. Restore sinovi base backup va barcha kerakli loglar haqiqatan birga ishlashini tasdiqlaydi.

Physical replication accidental delete yoki zararli update’ni ham ko‘chiradi. Shu sabab immutable backup, point-in-time recovery loglari va alohida failure domaindagi nusxa saqlanadi.

Archive va retention

Streaming connection uzilganda standby yetishmagan segmentlarni log archivedan olishi mumkin. Archive nomlash, checksum va retention policy timeline’larni ajratadi. Segmentni faqat barcha kerakli standby va backup chain undan o‘tganidan keyin o‘chirish xavfsiz. Aks holda bitta gap butun replikaning qayta base backup olishini talab qiladi.

Replication slot primaryga qaysi positiongacha log saqlashni bildiradi. Bu data lossdan himoya qiladi, lekin uzoq offline replica sabab primary diskini cheksiz to‘ldirishi mumkin. Slot lag uchun quota va alert qo‘yiladi, keraksiz slot nazorat bilan o‘chiriladi. Standbydan cascading replica chiqarish primary network yukini kamaytiradi, ammo ikkinchi darajali replica lag va failure dependencyini oshiradi.

Promotion mashqi standby haqiqatan writable bo‘lishini, application credential va extensionlar ishlashini tekshiradi. Faqat replay positionga qarash service darajasidagi recovery tayyorligini to‘liq isbotlamaydi.

Bog‘liq tushunchalar

Logical replication, Write-ahead log, Standby, Base backup, Point-in-time recovery, Failover, Timeline, Hot standby