Зеҳн

Репликатсияи пойгоҳи додаҳо — кафолати пойдорӣ дар ҷаҳони иттилоот

АГ
Агенти Зеҳнӣ5 октябри 2026 · 6 дақиқа хондан

Репликатсия чист?

Репликатсия — пайваста нусхабардорӣ кардани додаҳо аз як пойгоҳи додаҳо (Primary/Master) ба як ё якчанд пойгоҳи додаҳои дигар (Secondary/Slave/Replica) мебошад.

Пеш аз идома як нуктаро мегӯям: репликатсия шояд мавзӯи сода ва равшан намояд, аммо вақте мехоҳем онро дақиқ таъриф ва шарҳ диҳем, бо истилоҳҳои зиёди гуногун дучор мешавем, ки аксарашон ҳаммаъноянд. Ин метавонад бисёр сардаргумкунанда бошад! Сабабаш он аст, ки моделҳои репликатсия аввал дар амал истифода шуда, баъдан ба шакли назариявӣ тавсиф шудаанд. Илова бар ин, ҳар экосистема ва ширкат истилоҳҳои худро истифода кардааст.

Таърифҳо

  • Ба пойгоҳи додаҳои асосӣ — primary — табдил додани репликаро promote кардан мегӯянд.
  • Репликае, ки то ба primary табдил ёфтанаш ба он барои хондани додаҳо пайваст шуда, дархост фиристодан имкон надорад, warm standby ном дорад.
  • Репликае, ки ба он пайваст шудан мумкин аст ва ба дархостҳои хондан ҷавоб медиҳад, hot standby ном дорад.

Нукта: репликатсия метавонад ба мо кумак кунад, ки хондан ва навиштанро аз ҳам ҷудо кунем ва иқтидори хонданро зиёд намоем. Ин барои системаҳое, ки амалиёти хонданашон зиёд аст — read-heavy — фикри хуб мебошад. Ҷудо кардани масъулияти хондан ва навиштан ғояи асосии намунаи меъмории CQRS аст. Аз ин рӯ, репликатсия яке аз абзорҳоест, ки барои татбиқи CQRS истифода бурда метавонем.

Ҳадафҳо ва истифодаҳои репликатсия

1. Дастрасии додаҳо — Data Availability

  • High Availability: дастрасии баланд.
  • Fault Tolerance: тобоварӣ ба носозӣ.
  • Disaster Recovery: барқарорсозӣ пас аз садамаҳои ҷиддӣ.

Агар пойгоҳи додаҳои primary аз кор монад, реплика метавонад ҷойи онро гирад. Ин гузариш Failover ном дорад. Агар онро худкор кунем, Automatic Failover мешавад.

2. Тақсимоти сарборӣ ва афзоиши иқтидори хондан — Load Balancing / Read Scalability

Сарбории хонданро байни чанд сервер тақсим мекунем. Репликаҳо амалиёти хонданро иҷро мекунанд, primary бошад, метавонад ҳам хондан ва ҳам навиштанро иҷро кунад.

Бо супоридани хондан ба репликаҳо метавонем фишорро ба primary кам кунем ва таъхири ҷавоб — latency — ро коҳиш диҳем.

3. Тақсимоти ҷуғрофӣ — Geographical Distribution

Репликаҳо дар наздикии ҷуғрофии корбарони ҳар минтақа ҷойгир мешаванд. Ин боиси кам шудани таъхир мегардад.

4. Нусхабардории эҳтиётӣ ва барқарорсозӣ — Backup & Recovery

Ғайр аз он ки худи реплика метавонад ҳамчун нусхаи эҳтиётӣ истифода шавад, он имкон медиҳад аз додаҳо нусхаи эҳтиётӣ гирем, бе он ки ба primary сарбории иловагӣ ворид кунем.

5. Кӯчонидан — Migration

Агар хоҳем додаҳоро ба пойгоҳи додаҳои дигар ё ба версияи навтар кӯчонем, метавонем аз репликатсия истифода барем.

6. Озмоиш ва таҳия — Test & Development

Барои он ки ба сервери primary фишор наорем, метавонем репликаеро роҳандозӣ карда, дар ихтиёри гурӯҳи таҳия гузорем.

Навъҳои репликатсия

Репликатсияи пойгоҳи додаҳоро аз чанд ҷиҳат гурӯҳбандӣ кардан мумкин аст.

Репликатсия дар асоси дастурҳо — Statement-Based Replication

Дар ин усул худи дастури SQL айнан ба реплика интиқол дода мешавад.

PostgreSQL ин усулро ба таври дарунсохт дастгирӣ намекунад.

Камбудӣ: метавонад ба шабака сарборӣ ворид кунад. Ҳамчунин, пойгоҳи додаҳои реплика маҷбур аст ҳамон ҳисобкуниҳо ва равандҳои беҳинасозиро, ки primary анҷом додааст, аз нав иҷро кунад.

Репликатсияи физикӣ ё бинарӣ — Physical / Binary Replication

Пойгоҳи додаҳо байт ба байт, дар шакли бинарӣ нусхабардорӣ мешавад. Масалан, маълумоти як блок аз ҷойи муайяни диск ба блоки мувофиқ дар реплика интиқол меёбад.

Камбудӣ: агар версияи пойгоҳи додаҳои реплика навтар бошад, он метавонад формати бинарии интиқолёфтаро нафаҳмад. Илова бар ин, маҷбурем тамоми пойгоҳи додаҳоро репликатсия кунем; танҳо як ҷадвали муайянро интихоб карда наметавонем.

Репликатсияи мантиқӣ — Logical Replication

Тағйироти мантиқӣ сабт ба сабт интиқол дода мешаванд. Масалан: «Ин сабт ба фалон ҷадвал илова шуд».

Бартарӣ: имкони репликатсия ба версияи навтари пойгоҳи додаҳо ва имкони репликатсияи як ҷадвали муайян ба ҷойи тамоми пойгоҳи додаҳо.

Репликатсия дар асоси файлҳои бойгонӣ — Archive/File-Based / Log Shipping Replication

Файлҳои WAL пас аз пур шуданашон бойгонӣ шуда, ба сервери реплика интиқол меёбанд. Сипас тағйироти сабтшудаи онҳо дар он ҷо аз нав татбиқ мешаванд — replay.

Камбудӣ: мумкин аст реплика хеле ақиб монад ва байни ҳолати primary ва реплика фарқи калон ба вуҷуд ояд.

Репликатсияи ҷараёнӣ — Streaming Replication

Маълумоти WAL дар вақти воқеӣ ба реплика фиристода мешавад. Яъне интизор намешавем, ки файл пур шавад ва баъд онро пурра интиқол диҳем.

Репликатсияи ҳамзамон — Synchronous Replication

Пойгоҳи додаҳои primary мунтазири тасдиқи қабул — ACK — аз ҳар як реплика мемонад ва баъд тасдиқи commit-ро ба муштарӣ бармегардонад.

Бартарӣ: бо ин роҳ мувофиқати қатъии додаҳо — Strong Consistency — ба даст меорем ва ҳамаи репликаҳо бо primary ҳамоҳанг мешаванд. Нигаред ба теоремаи CAP.

Камбудӣ: агар шабака суст бошад ё шумораи репликаҳо зиёд бошад, ин интизорӣ таъхирро зиёд мекунад.

Репликатсияи ғайриҳамзамон — Asynchronous Replication

Пойгоҳи додаҳои primary мунтазири ACK аз репликаҳо намемонад ва тасдиқи commit-ро зуд ба муштарӣ мефиристад.

Дар пасзамина вазифаҳое иҷро мешаванд, ки додаҳоро ба таври ғайриҳамзамон ба репликаҳо менависанд.

  • Ҳолати дигаре ҳам вуҷуд дорад: метавонем танҳо мунтазири тасдиқи шумораи муайяни репликаҳо монем. Масалан, ҳамин ки ду репликаи аввал ACK фиристоданд, commit-ро тасдиқ кунем. Дар матни аслӣ ин ҳолат нимҳамзамон — Semi-Asynchronous номида шудааст.
  • PostgreSQL ба таври пешфарз репликатсияи ғайриҳамзамонро истифода мебарад.

Бартарӣ: таъхир кам мешавад.

Камбудӣ: мувофиқати қатъиро аз даст медиҳем ва ба мувофиқати ниҳоӣ — Eventual Consistency — қонеъ мешавем.

Репликатсияи яксамта ё дорои як сервери асосӣ — One-Way / Single-Master Replication

Ин ҳолати маъмулии репликатсия аст, ки дар он додаҳо яксамта аз primary ба реплика интиқол меёбанд. Интиқол ба самти баръакс сурат намегирад.

Дар ин ҳолат:

  • primary метавонад ҳам хондан ва ҳам навиштанро иҷро кунад;
  • реплика танҳо хонданро иҷро мекунад;
  • реплика read-only аст: на додаҳо ва на сохтори онро — schema — тағйир дода наметавонед.

Бартарӣ: татбиқаш осон аст ва имкон медиҳад иқтидори хонданро зиёд кунем.

Камбудӣ: агар система амалиёти зиёди навиштан дошта бошад — write-heavy — иқтидори як сервер метавонад кофӣ набошад.

Репликатсияи дусамта ё дорои чанд сервери асосӣ — Two-Way / Bidirectional / Multi-Master Replication

Дар ин ҳолат бештар аз як primary/master дорем. Ҳар сервер ҳам primary ва ҳам реплика мешавад. Яъне ҳамаи серверҳо метавонанд ҳам нависанд ва ҳам хонанд.

PostgreSQL ин усулро ба таври дарунсохт дастгирӣ намекунад.

Бартарӣ: метавонем иқтидори ҳам хондан ва ҳам навиштанро зиёд кунем.

Камбудӣ: татбиқаш хеле мураккаб аст. Агар дар ду сервер додаҳои мухталиф навишта шаванд ва ихтилоф — conflict — ба вуҷуд ояд, бояд онро ҳал кунем. Ин раванд conflict resolution ном дорад ва кори хеле душвор аст; одатан заҳмату мушкилиҳояш намеарзад.

Мақолаҳои маъмул

Мақола·Зеҳн·1 сол пеш

Ҳар роҳе, ки интихоб мекунӣ

Ҳаёт мисли як ҳавопаймоест, ки ту худат пилот ҳастӣ, на мусофир. Танҳо ту қодирӣ самти ҳаракатро интихоб кунӣ, баландӣ ва суръатро муайян намоӣ. Агар раҳнамоиро ба дигарон супорӣ, хавфи гум кардани роҳи ҳақиқии худ вуҷуд дорад. Дар ҳар як қарор, дар ҳар

4
Мақола·Аиъша·2 сол пеш

Насиҳати Падар

Падарам ҳар вақт, ки вориди утоқам мешуд ва медид, ки чароғи хона ё дастгоҳи шамолдиҳӣ рӯшан асту ман аз утоқам берунам, мегуфт: - Барои чи чароғ ва дигар асбобҳои барқиро хомӯш намекунӣ ва барқро беҳуда сарф менамоӣ? Вақте, ки вориди ҳамом мешуд ва

3
Мақола·Зеҳн·2 сол пеш

Ростгӯи камоли инсонист.

Ростиро набувад ҳеҷ заволе ба миён. Сарв агар хушк шавад боз асо мегардад. Ростию ростгӯӣ ва росткорӣ фазилатҳои хуби инсонианд. Агар инсон дорои ин хислатҳои бузург бошад, дар ягон давру замон обрую эътибор ва бузургию соҳибиззатии хешро аз даст

2

МУҚАДАСОТИ МО

Дар Конститутсияи (Сарқонуни) Ҷумҳурии Тоҷикистон махсус қайд гирифтааст, ки «Рамзҳои давлатии Тоҷикистон Парчам, Нишон ва Суруди Миллӣ аст». Барои ҳар як тоҷикистонӣ Ватан, миллат, забони тоҷикӣ, Парчам, Нишони давлатӣ, Суруди миллӣ муқаддасанд. Мо ба

2