Alibaba кодро барои PolarDB, як DBMS тақсимшуда дар асоси PostgreSQL кушод.

Alibaba, яке аз бузургтарин ширкатҳои IT-и Чин, рамзи сарчашмаи DBMS PolarDB-и тақсимшударо дар асоси PostgreSQL кушод. PolarDB имкониятҳои PostgreSQL-ро бо абзорҳо барои нигоҳдории тақсимшудаи додаҳо бо якпорчагӣ ва дастгирии транзаксияҳои ACID дар заминаи тамоми пойгоҳи додаҳои глобалӣ, ки дар гиреҳҳои кластери гуногун паҳн шудааст, васеъ мекунад. PolarDB инчунин коркарди дархостҳои тақсимшудаи SQL, таҳаммулпазирии хатоҳо ва нигаҳдории зиёдатии маълумотро барои барқарор кардани маълумот пас аз нокомии як ё якчанд гиреҳ дастгирӣ мекунад. Агар ба шумо лозим аст, ки захираи худро васеъ кунед, шумо метавонед танҳо гиреҳҳои навро ба кластер илова кунед. Рамз таҳти иҷозатномаи Apache 2.0 кушода аст.

PolarDB аз ду ҷузъ иборат аст - васеъшавӣ ва маҷмӯи часбҳо барои PostgreSQL. Пачҳо имкониятҳои асосии PostgreSQL-ро васеъ мекунанд ва васеъшавӣ ҷузъҳои алоҳида аз PostgreSQL амалӣ карда мешаванд, ба монанди механизми идоракунии тақсимоти транзаксия, хидматҳои глобалӣ, протсессори дархости тақсимшудаи SQL, метамаълумоти иловагӣ, асбобҳо барои идоракунии кластер, ҷойгиркунии кластер ва соддагардонии ба он гузаштани системахои мавчуда.

Часбҳо ба ядрои PostgreSQL версияи тақсимшудаи механизми назорати дастрасии мувозӣ ба додаҳоро бо истифода аз мултиверсионалӣ (MVCC, назорати ҳамзамон Multiversion) барои сатҳҳои гуногуни изолятсия илова мекунанд. Аксарияти функсияҳои PolarDB ба васеъшавӣ дохил карда шудаанд, ки вобастагӣ аз PostgreSQL-ро коҳиш медиҳад ва навсозӣ ва татбиқи қарорҳоро дар асоси PolarDB осон мекунад (ин гузаришро ба версияҳои нави PostgreSQL ва нигоҳ доштани мутобиқати пурра бо PostgreSQL осон мекунад). Барои идоракунии кластер, асбоби pgxc_ctl истифода мешавад, ки дар асоси як утилитаи шабеҳ аз PostgreSQL-XC ва PostgreSQL-XL.

Дар кластер се ҷузъи асосӣ мавҷуданд: гиреҳҳои пойгоҳи додаҳо (DN), мудири кластер (CM) ва хидмати идоракунии транзаксия (TM). Илова бар ин, мувозинати прокси-борро метавон истифода бурд. Ҳар як ҷузъ раванди алоҳида аст ва мумкин аст дар сервери дигар иҷро карда шавад. Гиреҳҳои пойгоҳи додаҳо ба дархостҳои SQL аз мизоҷон хизмат мерасонанд ва ҳамзамон ҳамчун ҳамоҳангсози иҷрои дархостҳои тақсимшуда бо иштироки дигар гиреҳҳои пойгоҳи додаҳо амал мекунанд. Менеҷери кластер ҳолати ҳар як гиреҳи махзани маълумотро назорат мекунад, конфигуратсияи кластерро нигоҳ медорад ва абзорҳоро барои идоракунӣ, нусхабардорӣ, мувозинати сарборӣ, навсозӣ, оғоз ва қатъ кардани гиреҳҳо таъмин мекунад. Хидмати идоракунии транзаксия барои нигоҳ доштани якпорчагии умумӣ дар тамоми кластер масъул аст.

Alibaba кодро барои PolarDB, як DBMS тақсимшуда дар асоси PostgreSQL кушод.

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

Барои таъмини таҳаммулпазирии хатогиҳо, ҳар як сегмент ҳадди аққал се гиреҳ такрор карда мешавад. Барои сарфаи захираҳо, маълумоти мукаммал танҳо ду нусхаро дар бар мегирад ва яке бо нигоҳ доштани сабти навиштан (WAL) маҳдуд аст. Яке аз ду гиреҳ бо репликаҳои пурра ҳамчун роҳбар интихоб карда мешавад ва дар коркарди дархостҳо иштирок мекунад. Гиреҳи дуюм ҳамчун қисмати эҳтиётии сегменти додаҳои мавриди назар амал мекунад ва сеюм дар интихоби гиреҳи пешбар иштирок мекунад ва метавонад барои барқарор кардани иттилоот дар ҳолати нокомии ду гиреҳ бо репликаҳои пурра истифода шавад. Репликатсияи додаҳо байни гиреҳҳои кластерӣ бо истифода аз алгоритми Paxos ташкил карда мешавад, ки таърифи пайвастаи консенсусро дар шабака бо гиреҳҳои эҳтимолан эътимоднок таъмин мекунад.

Қайд карда мешавад, ки функсияҳои пурраи DBMS PolarDB дар тӯли се нашрия ба нақша гирифта шудааст: Дар версияи аввал асбобҳо барои такрорӣ, дастрасии баланд ва идоракунии кластер нашр карда мешаванд. Нашри дуюм дорои системаи тақсимшудаи иҷрои транзаксия мебошад, ки ACID-и байни гиреҳ ва иҷрои тақсимшудаи SQL-ро дастгирӣ мекунад. Нашри сеюм як плагин барои PostgreSQL ва абзорҳо барои тақсимоти чандири маълумот дар байни гиреҳҳо, аз ҷумла ҷойгиркунии мутобиқшавии сегментҳо барои ноил шудан ба иҷрои беҳтарин ва қобилияти васеъ кардани кластер тавассути илова кардани гиреҳҳои навро дар бар мегирад.

Манбаъ: opennet.ru

Илова Эзоҳ