DBMS тақсимшуда барои корхона

Теоремаи CAP асоси назарияи системаҳои тақсимшуда мебошад. Албатта, бахсу мунозира дар атрофи он кам намешавад: таърифхо дар он канонй нестанд ва далели катъй хам нест... Бо вучуди ин, мо дар мавкеъхои акли солим™ устувор истода, дуруст будани теоремаро ба таври интуитивй дарк мекунем.

DBMS тақсимшуда барои корхона

Ягона чизе, ки маълум нест, маънои ҳарфи "П" аст. Вақте ки кластер тақсим мешавад, он тасмим мегирад, ки то расидан ба кворум ҷавоб надиҳад ё маълумоти мавҷударо баргардонад. Вобаста аз натиҷаҳои ин интихоб, система ҳамчун CP ё AP тасниф карда мешавад. Масалан, Кассандра метавонад бо ҳар ду роҳ рафтор кунад, на ҳатто аз танзимоти кластер, балки аз параметрҳои ҳар як дархости мушаххас. Аммо агар система "P" набошад ва он тақсим шавад, пас чӣ мешавад?

Ҷавоб ба ин савол то ҳадде ғайричашмдошт аст: кластери CA наметавонад тақсим шавад.
Ин чӣ гуна кластер аст, ки тақсим карда наметавонад?

Хусусияти ҷудонашавандаи чунин кластер системаи нигоҳдории маълумот мебошад. Дар аксари ҳолатҳо, ин маънои пайвастшавӣ тавассути SAN мебошад, ки истифодаи қарорҳои CA-ро ба корхонаҳои калон, ки қодиранд инфрасохтори SAN-ро нигоҳ доранд, маҳдуд мекунад. Барои он ки серверҳои сершумор бо як маълумот кор кунанд, системаи файлии кластерӣ лозим аст. Чунин системаҳои файлӣ дар портфели HPE (CFS), Veritas (VxCFS) ва IBM (GPFS) мавҷуданд.

Oracle RAC

Опсияи Real Application Cluster бори аввал соли 2001 бо нашри Oracle 9i пайдо шуд. Дар чунин кластер, якчанд мисолҳои сервер бо як пойгоҳи додаҳо кор мекунанд.
Oracle метавонад ҳам бо системаи файлии кластерӣ ва ҳам ҳалли худ - ASM, Идоракунии автоматии нигаҳдорӣ кор кунад.

Ҳар як нусха журнали худро нигоҳ медорад. Амалиёт аз ҷониби як инстансия иҷро ва анҷом дода мешавад. Агар инстансия ноком шавад, яке аз гиреҳҳои кластери боқимонда (инстансияҳо) сабти худро мехонад ва маълумоти гумшударо барқарор мекунад - ба ин васила дастрасиро таъмин мекунад.

Ҳама мисолҳо кэши худро нигоҳ медоранд ва ҳамон саҳифаҳо (блокҳо) метавонанд дар як вақт дар кэши якчанд мисолҳо бошанд. Гузашта аз ин, агар як мисол ба саҳифа ниёз дошта бошад ва он дар кэши мисоли дигар бошад, он метавонад онро аз ҳамсояи худ бо истифода аз механизми фьюжинги кэш ба ҷои хондан аз диск дастрас кунад.

DBMS тақсимшуда барои корхона

Аммо чӣ мешавад, агар яке аз инҳо бояд маълумотро тағир диҳад?

Хусусияти Oracle дар он аст, ки он хидмати махсуси қулфкунӣ надорад: агар сервер мехоҳад сатрро қулф кунад, пас сабти қулф бевосита дар саҳифаи хотира, ки сатри қулфшуда ҷойгир аст, ҷойгир карда мешавад. Ба шарофати ин равиш, Oracle қаҳрамони иҷроиш дар байни пойгоҳи додаҳои монолитӣ аст: хидмати қулф ҳеҷ гоҳ ба монеа табдил намеёбад. Аммо дар конфигуратсияи кластер, чунин меъморӣ метавонад ба трафики шадиди шабака ва бунбастҳо оварда расонад.

Пас аз баста шудани сабт, инстансия ҳамаи дигар ҳолатҳоро огоҳ мекунад, ки саҳифае, ки ин сабтро нигоҳ медорад, нигоҳдории истисноӣ дорад. Агар як мисоли дигар бояд сабтро дар ҳамон саҳифа тағир диҳад, он бояд интизор шавад, ки тағирот дар саҳифа ворид карда шавад, яъне маълумоти тағирот ба журнали диск навишта шавад (ва транзаксия метавонад идома ёбад). Инчунин мумкин аст, ки саҳифа бо якчанд нусха пай дар пай иваз карда шавад ва баъд ҳангоми навиштани саҳифа ба диск шумо бояд бифаҳмед, ки версияи ҷории ин саҳифаро кӣ нигоҳ медорад.

Тасодуфан навсозии як саҳифаҳо дар гиреҳҳои гуногуни RAC боиси ба таври назаррас коҳиш ёфтани кори пойгоҳи додаҳо мегардад, то ба дараҷае, ки иҷрои кластер метавонад нисбат ба як мисол пасттар бошад.

Истифодаи дурусти Oracle RAC ин аз ҷиҳати ҷисмонӣ тақсим кардани маълумот (масалан, бо истифода аз механизми ҷадвали тақсимшуда) ва дастрасӣ ба ҳар як маҷмӯи қисмҳо тавассути гиреҳи махсус мебошад. Мақсади асосии RAC на миқёси уфуқӣ, балки таъмини таҳаммулпазирии хатогиҳо буд.

Агар гиреҳ вокуниш ба набзи дилро қатъ кунад, он гоҳ гиреҳе, ки онро ошкор кардааст, аввал тартиби овоздиҳиро дар диск оғоз мекунад. Агар гиреҳи гумшуда дар ин ҷо қайд карда нашавад, пас яке аз гиреҳҳо масъулияти барқарорсозии маълумотро ба дӯш мегирад:

  • ҳамаи саҳифаҳоеро, ки дар кэши гиреҳи гумшуда буданд, "ях мекунад";
  • гузоришҳоро мехонад (аз нав кардани) гиреҳи гумшуда ва тағиротҳои дар ин гузоришҳо сабтшударо дубора татбиқ мекунад ва ҳамзамон тафтиш мекунад, ки гиреҳҳои дигар версияҳои охирини саҳифаҳои ивазшаванда доранд;
  • муомилоти интизоршударо бармегардонад.

Барои содда кардани гузариш байни гиреҳҳо, Oracle дорои консепсияи хидмат - мисоли виртуалӣ мебошад. Мисол метавонад ба хидматҳои сершумор хидмат расонад ва хидмат метавонад дар байни гиреҳҳо ҳаракат кунад. Мисоли замима, ки ба қисми муайяни пойгоҳи додаҳо хидмат мерасонад (масалан, гурӯҳи муштариён) бо як хидмат кор мекунад ва хидмате, ки барои ин қисми пойгоҳи додаҳо масъул аст, ҳангоми нокомии гиреҳ ба гиреҳи дигар мегузарад.

IBM Pure Data Systems барои муомилот

Як ҳалли кластерӣ барои DBMS дар портфели Blue Giant дар соли 2009 пайдо шуд. Аз ҷиҳати идеологӣ он вориси кластери параллелӣ Sysplex мебошад, ки дар таҷҳизоти "муқаррарӣ" сохта шудааст. Дар соли 2009, DB2 pureScale ҳамчун маҷмӯи нармафзор бароварда шуд ва дар соли 2012, IBM дастгоҳеро бо номи Pure Data Systems for Transactions пешниҳод кард. Онро набояд бо системаҳои тозаи додаҳо барои таҳлил омехта кард, ки он чизе беш аз номи Netezza номидашуда нест.

Дар назари аввал меъмории pureScale ба Oracle RAC шабоҳат дорад: ҳамин тавр, якчанд гиреҳҳо ба системаи умумии нигаҳдории маълумот пайваст мешаванд ва ҳар як гиреҳ намунаи DBMS-и худро бо минтақаҳои хотира ва сабтҳои транзаксияҳои худ иҷро мекунад. Аммо, бар хилофи Oracle, DB2 дорои хидмати махсуси қулфкунӣ мебошад, ки бо маҷмӯи равандҳои db2LLM* муаррифӣ мешавад. Дар конфигуратсияи кластер, ин хадамот дар гиреҳи алоҳида ҷойгир карда мешавад, ки он иншооти пайвастшавӣ (CF) дар Sysplex Parallel ва PowerHA дар маълумоти пок номида мешавад.

PowerHA хидматҳои зеринро пешниҳод мекунад:

  • мудири қулф;
  • кэши буферии глобалӣ;
  • соҳаи алоқаи байнипроцессорӣ.

Барои интиқоли маълумот аз PowerHA ба гиреҳҳои пойгоҳи додаҳо ва бозгашт, дастрасии дурдасти хотира истифода мешавад, аз ин рӯ пайвасти кластерӣ бояд протоколи RDMA-ро дастгирӣ кунад. PureScale метавонад ҳам Infiniband ва ҳам RDMA-ро тавассути Ethernet истифода барад.

DBMS тақсимшуда барои корхона

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

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

Агар саҳифае, ки дар он сатри тағирёфта ҷойгир аст, аллакай баста шуда бошад, он гоҳ мудири қулф саҳифаи тағирёфтаро аз хотираи гиреҳе, ки тағирот ворид кардааст, мехонад, қулфро озод мекунад, саҳифаи тағирёфтаро дар кэшҳои гиреҳҳои дигар беэътибор мекунад ва қулфи саҳифаро ба гиреҳе, ки онро дархост кардааст, диҳед.

"Ифлос", яъне саҳифаҳоро ҳам аз гиреҳи муқаррарӣ ва ҳам аз PowerHA (castout) ба диск навиштан мумкин аст.

Агар яке аз гиреҳҳои pureScale ноком шавад, барқарорсозӣ танҳо бо он транзаксияҳое маҳдуд мешавад, ки дар лаҳзаи нокомӣ ҳанӯз анҷом наёфтаанд: саҳифаҳое, ки аз ҷониби он гиреҳ дар транзаксияҳои анҷомшуда тағир дода шудаанд, дар кэши глобалии PowerHA ҷойгиранд. Гиреҳ дар конфигуратсияи камшуда дар яке аз серверҳои кластер аз нав оғоз мешавад, транзаксияҳои интизоршударо бармегардонад ва қуфлҳоро мебарорад.

PowerHA дар ду сервер кор мекунад ва гиреҳи асосӣ ҳолати худро ба таври синхронӣ такрор мекунад. Агар гиреҳи асосии PowerHA ноком шавад, кластер бо гиреҳи эҳтиётӣ корашро идома медиҳад.
Албатта, агар шумо ба маҷмӯи маълумот тавассути як гиреҳ дастрасӣ пайдо кунед, кори умумии кластер баландтар хоҳад буд. PureScale ҳатто метавонад пайхас кунад, ки як минтақаи муайяни маълумот аз ҷониби як гиреҳ коркард карда мешавад ва он гоҳ ҳама қуфлҳои марбут ба ин минтақа аз ҷониби гиреҳ бидуни иртибот бо PowerHA ба таври маҳаллӣ коркард карда мешаванд. Аммо вақте ки барнома кӯшиш мекунад, ки ба ин маълумот тавассути гиреҳи дигар дастрасӣ пайдо кунад, коркарди мутамаркази қулф дубора оғоз мешавад.

Санҷишҳои дохилии IBM дар сарбории 90% хондан ва 10% навиштан, ки ба сарбории кории истеҳсолии ҷаҳонӣ хеле монанд аст, миқёси қариб хатиро то 128 гиреҳ нишон медиҳанд. Шартҳои санҷиш, мутаассифона, ифшо нашудааст.

HPE NonStop SQL

Портфели Hewlett-Packard Enterprise инчунин платформаи дастраси худро дорад. Ин платформаи NonStop мебошад, ки соли 1976 аз ҷониби Tandem Computers ба бозор бароварда шудааст. Соли 1997 ширкатро Compaq ба даст овард, ки дар навбати худ дар соли 2002 бо Hewlett-Packard муттаҳид шуд.

NonStop барои сохтани барномаҳои муҳим истифода мешавад - масалан, HLR ё коркарди корти бонкӣ. Платформа дар шакли комплекси нармафзор ва сахтафзор (асбоб), ки гиреҳҳои ҳисоббарорӣ, системаи нигоҳдории маълумот ва таҷҳизоти коммуникатсионӣ дорад, дода мешавад. Шабакаи ServerNet (дар системаҳои муосир - Infiniband) ҳам барои мубодилаи байни гиреҳҳо ва ҳам барои дастрасӣ ба системаи нигаҳдории маълумот хизмат мекунад.

Дар версияҳои аввалини система протсессори хусусие истифода мешуд, ки бо ҳамдигар синхронизатсия карда мешуданд: ҳама амалҳо аз ҷониби якчанд протсессори синхронӣ иҷро мешуданд ва ҳамин ки яке аз протсессорҳо хатогӣ содир кард, он хомӯш карда шуд ва дуюмӣ корашро идома дод. Баъдтар, система ба протсессори анъанавӣ гузашт (аввал MIPS, баъд Itanium ва ниҳоят x86) ва механизмҳои дигар барои ҳамоҳангсозӣ истифода мешаванд:

  • паёмҳо: ҳар як раванди система дугоники "соя" дорад, ки раванди фаъол давра ба давра дар бораи ҳолати худ паёмҳо мефиристад; агар процесси асосй ноком шавад, процесси соя аз лахзаи муайянкардаи хабари охирин ба кор шуруъ мекунад;
  • овоздиҳӣ: системаи нигаҳдорӣ дорои ҷузъи махсуси сахтафзор мебошад, ки дастрасии сершумори якхеларо қабул мекунад ва онҳоро танҳо дар сурати мувофиқ будани дастрасӣ иҷро мекунад; Ба ҷои синхронизатсияи физикӣ, протсессорҳо ба таври асинхронӣ кор мекунанд ва натиҷаҳои кори онҳо танҳо дар лаҳзаҳои воридот / баромад муқоиса карда мешаванд.

Аз соли 1987 инҷониб дар платформаи NonStop як DBMS-и релятсионӣ кор мекунад - аввал SQL/MP ва баъдтар SQL/MX.

Тамоми махзани маълумот ба қисмҳо тақсим карда мешавад ва ҳар як қисм барои раванди менеҷери дастрасии додаҳо (DAM) масъул аст. Он механизмҳои сабти маълумот, кэш ва қулфкуниро таъмин мекунад. Коркарди маълумот аз ҷониби равандҳои сервери иҷрокунанда, ки дар ҳамон гиреҳҳо бо менеҷерҳои мувофиқи додаҳо кор мекунанд, амалӣ карда мешавад. Нақшаи SQL/MX вазифаҳоро байни иҷрокунандагон тақсим мекунад ва натиҷаҳоро ҷамъ мекунад. Ҳангоми зарурати ворид кардани тағйироти мувофиқашуда, протоколи думарҳилаи ӯҳдадориҳо, ки аз ҷониби китобхонаи TMF (Интиқоли идоракунии транзаксия) пешниҳод шудааст, истифода мешавад.

DBMS тақсимшуда барои корхона

NonStop SQL метавонад равандҳоро авлавият диҳад, то дархостҳои тӯлонии таҳлилӣ ба иҷрои транзаксия халал нарасонанд. Аммо, ҳадафи он маҳз коркарди муомилоти кӯтоҳ аст, на таҳлил. Таҳиягар мавҷудияти кластери NonStop-ро дар сатҳи панҷ "нӯҳ", яъне вақти бекорӣ ҳамагӣ 5 дақиқа дар як сол кафолат медиҳад.

САП ҲАНА

Нашри аввалини устувори DBMS HANA (1.0) моҳи ноябри соли 2010 сурат гирифт ва бастаи SAP ERP дар моҳи майи соли 2013 ба HANA гузашт. Платформа ба технологияҳои харидашуда асос ёфтааст: TREX Search Engine (ҷустуҷӯ дар анбори сутун), P*TIME DBMS ва MAX DB.

Худи калимаи "HANA" як ихтисораи дастгоҳи аналитикии баландсифат аст. Ин DBMS дар шакли код дода мешавад, ки метавонад дар ҳама серверҳои x86 кор кунад, аммо насби саноатӣ танҳо дар таҷҳизоти сертификатсия иҷозат дода мешавад. Қарорҳо аз HP, Lenovo, Cisco, Dell, Fujitsu, Hitachi, NEC дастрасанд. Баъзе конфигуратсияҳои Lenovo ҳатто имкон медиҳанд, ки бидуни SAN кор кунанд - нақши системаи нигаҳдории умумиро кластери GPFS дар дискҳои маҳаллӣ иҷро мекунад.

Баръакси платформаҳои дар боло номбаршуда, HANA як DBMS дар хотира аст, яъне тасвири ибтидоии додаҳо дар RAM нигоҳ дошта мешавад ва танҳо сабтҳо ва аксҳои давравӣ ба диск барои барқароршавӣ дар ҳолати садама навишта мешаванд.

DBMS тақсимшуда барои корхона

Ҳар як гиреҳи кластери HANA барои қисми худи маълумот масъул аст ва харитаи маълумот дар як ҷузъи махсус нигоҳ дошта мешавад - Сервери ном, ки дар гиреҳи ҳамоҳангсоз ҷойгир аст. Маълумот дар байни гиреҳҳо такрор карда намешавад. Маълумоти қулфкунӣ инчунин дар ҳар як гиреҳ нигоҳ дошта мешавад, аммо система дорои детектори глобалии бунбаст мебошад.

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

Гиреҳи ҳамоҳангсоз такрор карда мешавад, бинобар ин, агар ҳамоҳангсоз ноком шавад, гиреҳи эҳтиётӣ фавран бар ӯҳда мегирад. Аммо агар гиреҳи дорои маълумот ноком шавад, пас ягона роҳи дастрасӣ ба маълумоти он ин аз нав оғоз кардани гиреҳ аст. Чун қоида, кластерҳои HANA сервери эҳтиётиро нигоҳ медоранд, то гиреҳи гумшударо дар он ҳарчи зудтар бозоғоз кунанд.

Манбаъ: will.com

Илова Эзоҳ