Қисм-қисм, аммо пурқувват: Sharding, Partitioning ва Replication
Қисми охирини мафҳумҳои пойгоҳи додаҳо
Ба қисми охирини ин силсила хуш омадед! Дар ин қисм мехоҳем ҳар чизеро, ки пеши роҳамон меояд, қисм-қисм кунем, то қудрати воқеии пойгоҳҳои додаҳоро беҳтар фаҳмем. 😄
Дар хотир доред: дар ин силсила бо мафҳумҳои пойгоҳи додаҳо шинос мешавем. Ба коднависӣ ё навъи мушаххаси пойгоҳи додаҳо намепардозем.
✅ Репликатсия — Replication — чист?
Агар таърифи расмӣ диҳем:
Репликатсия равандест, ки дар он додаҳо аз як пойгоҳи додаҳо ба як ё чанд нусхаи дигар нусхабардорӣ ва паҳн карда мешаванд.
Ин усул барои ҳадафҳои зерин истифода мешавад:
- баланд бардоштани дастрасӣ — Availability;
- тобоварӣ ба носозӣ — Fault Tolerance;
- барқарорсозии додаҳо ҳангоми вайроншавӣ — Recovery.
Фарз кунед мағозаи интернетӣ дорем ва маълумоти маҳсулот дар як пойгоҳи додаҳо нигоҳ дошта мешавад. Агар сервери асосӣ бо ягон сабаб аз кор монад, мағоза низ аз кор мемонад.
Агар мағоза мисли Digikala калон бошад, ҳатто як дақиқаи қатъшавӣ метавонад миллионҳо зарар расонад.
Бо репликатсия метавонем ин мушкилро идора кунем: як ё чанд нусхаи пойгоҳи додаҳоро дар серверҳои дигар нигоҳ медорем. Агар сервери асосӣ вайрон шавад, корбарон метавонанд аз серверҳои дорои нусхаҳо истифода баранд.
Дар истилоҳоти матн сервери асосӣ master ва серверҳои дуюмдараҷа slave номида мешаванд.
Бартариҳои репликатсия:
- Ҳангоми вайрон шудани сервери асосӣ серверҳои дигар метавонанд ҷойи онро гиранд.
- Сарбории хондан ва, вобаста ба навъи репликатсия, навиштан байни серверҳо тақсим мешавад.
- Нусхаҳои додаҳо барқарорсозии зудтарро имконпазир мекунанд.
- Корбарон метавонанд ба сервери аз ҷиҳати ҷуғрофӣ наздиктар пайваст шаванд.
Ду навъи асосии репликатсия
Репликатсияи ҳамзамон — Synchronous Replication
Дар ин навъ тағйироти додаҳо ба репликаҳо фиристода мешаванд ва сервери асосӣ пеш аз тасдиқи анҷоми амалиёт мунтазири тасдиқи репликаҳои муайяншуда мемонад.
Дар матн ин раванд ҳамчун нусхабардории фаврӣ шарҳ дода шудааст: баробари сабт шудани додаҳо дар сервери асосӣ, онҳо дар серверҳои дуюмдараҷа низ сабт мешаванд.
Ин усул метавонад хароҷоти бештар дошта бошад, аммо барои барқарорсозӣ пас аз садама — Disaster Recovery — боэътимод аст.
Масалан, барои додаҳои бонкӣ, ки ҳассосияти баланд доранд, чунин репликатсия метавонад мувофиқ бошад.
Репликатсияи ғайриҳамзамон — Asynchronous Replication
Дар ин навъ додаҳо аввал дар сервери асосӣ сабт мешаванд ва баъд ба серверҳои дуюмдараҷа мерасанд. Сервери асосӣ барои тасдиқи амалиёт мунтазири онҳо намемонад.
Муаллиф интиқоли додаҳо дар вақтҳои муайянро мисол меорад: масалан, аз соати 12-и шаб то 6-и субҳ, вақте сарбории серверҳо камтар аст.
Дар матн ин усул барои барномаҳое мувофиқ дониста шудааст, ки хондани додаҳо муҳимтар аст ва навсозии фаврии нусхаҳо талаб намешавад. Ҳамчунин, он барои нусхабардории эҳтиётӣ пешниҳод мешавад.
Навъҳои дигар низ мавҷуданд. Барои он ки мақола дароз нашавад, танҳо номашонро меорем:
- Single-Master Replication
- Multi-Master Replication
- Chain Replication
- Geo Replication
✅ Шардинг — Sharding — ва қисмбандӣ — Partitioning — чистанд?
Агар ин ду мафҳумро якҷоя шарҳ диҳем, фарқашон равшантар мешавад. Аммо аввал бояд бо ду навъи васеъшавӣ шинос шавем.
Васеъшавии амудӣ — Vertical Scaling
Бо зиёд шудани сарборӣ серверро пурқувваттар мекунем. Масалан:
- RAM-и бештар мегузорем;
- CPU-и пурқувваттар истифода мебарем;
- имкониятҳои сахтафзорро беҳтар мекунем.
Васеъшавии уфуқӣ — Horizontal Scaling
Ба ҷойи пурқувват кардани як сервер, шумораи серверҳоро зиёд мекунем.
Шардинг — Sharding
Шардинг усули тақсим кардани додаҳо мебошад, ки дар он ҳар қисм — shard — дар сервери алоҳида нигоҳ дошта мешавад.
Ин усул барои васеъшавии уфуқӣ истифода мешавад: барои зиёд кардани иқтидор серверҳои нави пойгоҳи додаҳоро илова мекунем.
Шардинг имкон медиҳад ҳаҷми зиёди додаҳо ва дархостҳоро беҳтар идора кунем.
Он навъҳои гуногун дорад.
Шардинг аз рӯйи минтақаи ҷуғрофӣ
Масалан:
- додаҳои корбарони Амрико дар шарди наздик ба онҳо нигоҳ дошта мешаванд;
- додаҳои корбарони Осиё дар шарди наздик ба Осиё ҷой мегиранд.
Шардинг аз рӯйи фосилаи қиматҳо — Range Sharding
Масалан:
- корбарони дорои ID аз
1то90 000дар шарди якум; - корбарони дорои ID аз
90 001то200 000дар шарди дуюм.
Қисмбандӣ — Partitioning
Қисмбандӣ равандест, ки дар он додаҳои як ҷадвал ба чанд қисм — partition — тақсим мешаванд.
Дар мисоли мақола ин қисмҳо одатан дар як пойгоҳи додаҳо ва дар ҳамон як сервер ҷойгиранд. Онҳо барои идоракунии беҳтари додаҳо ва беҳтар кардани кори пойгоҳи додаҳо истифода мешаванд.
Фарқи асосии мисол чунин аст:
- Partitioning: тақсим кардани ҷадвал ба қисмҳо дар дохили як сервер.
- Sharding: тақсим кардани додаҳо байни чанд сервер.
✅ Кай аз кадомаш истифода барем?
Одатан аз Partitioning истифода мекунем, агар:
- дар як ҷадвал додаҳои зиёд дошта бошем, аммо сарбории умумии пойгоҳи додаҳо ҳанӯз идорашаванда бошад;
- мехоҳем вақти иҷрои дархостҳоро дар ҷадвалҳои калон кам кунем;
- пойгоҳи додаҳо дар як сервер ҷойгир бошад ва ба тақсим кардани он байни чанд сервер ниёз надошта бошем.
Одатан аз Sharding истифода мекунем, агар:
- ҳаҷми додаҳо ё сарборӣ ба дараҷае расида бошад, ки як сервер онро идора карда натавонад;
- корбарон дар минтақаҳои гуногуни ҷуғрофӣ бошанд ва мехоҳем таъхир — Latency — ро кам кунем;
- ба васеъшавии уфуқӣ ниёз дошта бошем, то бо зиёд шудани корбарон ё додаҳо серверҳои нав илова кунем.
Чаро мегӯем «одатан»?
Зеро дар ҷаҳони нармафзор як роҳи ҳал барои ҳама ҳолатҳо дуруст нест. Ҳама чиз ба вазифа ва талаботи лоиҳа вобаста аст. Ҳар интихоб бартарӣ ва маҳдудиятҳои худро дорад — ҳамон trade-off.
Эзоҳи тарҷума: репликатсияи ғайриҳамзамон ҳатман ҷадвали вақт надорад — он метавонад пайваста иҷро шавад; фарқаш дар интизор нашудани сервери асосӣ барои тасдиқи репликаҳост. Ҳамчунин, Partitioning худ аз худ васеъшавии амудӣ нест: васеъшавии амудӣ маънои пурқувват кардани сахтафзори серверро дорад.
Мақолаҳои маъмул
Ҳар роҳе, ки интихоб мекунӣ
Ҳаёт мисли як ҳавопаймоест, ки ту худат пилот ҳастӣ, на мусофир. Танҳо ту қодирӣ самти ҳаракатро интихоб кунӣ, баландӣ ва суръатро муайян намоӣ. Агар раҳнамоиро ба дигарон супорӣ, хавфи гум кардани роҳи ҳақиқии худ вуҷуд дорад. Дар ҳар як қарор, дар ҳар
Насиҳати Падар
Падарам ҳар вақт, ки вориди утоқам мешуд ва медид, ки чароғи хона ё дастгоҳи шамолдиҳӣ рӯшан асту ман аз утоқам берунам, мегуфт: - Барои чи чароғ ва дигар асбобҳои барқиро хомӯш намекунӣ ва барқро беҳуда сарф менамоӣ? Вақте, ки вориди ҳамом мешуд ва
Ростгӯи камоли инсонист.
Ростиро набувад ҳеҷ заволе ба миён. Сарв агар хушк шавад боз асо мегардад. Ростию ростгӯӣ ва росткорӣ фазилатҳои хуби инсонианд. Агар инсон дорои ин хислатҳои бузург бошад, дар ягон давру замон обрую эътибор ва бузургию соҳибиззатии хешро аз даст
МУҚАДАСОТИ МО
Дар Конститутсияи (Сарқонуни) Ҷумҳурии Тоҷикистон махсус қайд гирифтааст, ки «Рамзҳои давлатии Тоҷикистон Парчам, Нишон ва Суруди Миллӣ аст». Барои ҳар як тоҷикистонӣ Ватан, миллат, забони тоҷикӣ, Парчам, Нишони давлатӣ, Суруди миллӣ муқаддасанд. Мо ба

Барномасозӣ
Олами Афсонаҳо
Ахбор
Дунё