Alibaba kodê ji bo PolarDB, DBMSek belavkirî ya li ser PostgreSQL vekir.

Alibaba, yek ji mezintirîn pargîdaniyên IT-ya Chineseînî, koda çavkaniyê ya DBMS PolarDB-ya belavkirî, li ser bingeha PostgreSQL vekir. PolarDB kapasîteyên PostgreSQL bi amûrên ji bo hilanîna daneya belavkirî bi yekitî û piştgirîya danûstendinên ACID-ê di çarçoweya tevaya databasa gerdûnî ya ku li ser girêkên komê yên cihêreng hatî belav kirin dirêj dike. PolarDB di heman demê de pêvajokirina pirsê ya SQL-ya belavkirî, tolerasyona xeletiyê, û hilanîna daneya zêde piştgirî dike da ku piştî têkçûna yek an çend girêkan agahdarî hilde. Heke hûn hewce ne ku hilanîna xwe berfireh bikin, hûn dikarin bi tenê girêkên nû li komê zêde bikin. Kod di bin lîsansa Apache 2.0 de vekirî ye.

PolarDB ji du hêmanan pêk tê - pêvekirin û komek paçên ji bo PostgreSQL. Pîvan kapasîteyên bingehîn ên PostgreSQL berfireh dikin, û pêvek pêkhateyên ku ji PostgreSQL-ê veqetandî hatine bicîh kirin, wek mekanîzmaya rêveberiya danûstendinê ya belavkirî, karûbarên gerdûnî, pêvajoyek pirsê ya SQL-ya belavkirî, metadatayên din, amûrên ji bo birêvebirina komê, bicihkirina komê, û hêsankirinê vedihewîne. koçkirina sîstemên heyî ber bi wê ve.

Pîvan guhertoyek belavkirî ya mekanîzmaya kontrolkirina gihîştina paralel a daneyan bi karanîna pirguhertoyê (MVCC, Kontrola hevdemî ya Multiversion) ji bo astên cihêreng ên veqetandinê li bingeha PostgreSQL zêde dikin. Piraniya fonksiyonên PolarDB-ê di pêvekan de tê de heye, ku girêdayîbûna bi PostgreSQL kêm dike û nûvekirin û pêkanîna çareseriyên li ser bingeha PolarDB-ê hêsan dike (ew veguheztina guhertoyên nû yên PostgreSQL hêsan dike û lihevhatina tevahî ya bi PostgreSQL re diparêze). Ji bo birêvebirina komê, amûrek pgxc_ctl tê bikar anîn, li ser bingehek karûbarek wekhev ji PostgreSQL-XC û PostgreSQL-XL.

Di komekê de sê hêmanên bingehîn hene: girêkên databasê (DN), rêveberê komê (CM) û karûbarê rêveberiya danûstendinê (TM). Wekî din, balansek barkirina proxy dikare were bikar anîn. Her pêkhateyek pêvajoyek cihê ye û dikare li ser serverek cûda were meşandin. Girêkên databasê pirsên SQL ji xerîdaran re xizmet dikin û di heman demê de bi tevlêbûna girêkên din ên databasê wekî koordînatorên pêkanîna lêpirsîna belavkirî tevdigerin. Rêvebirê komê rewşa her girêk databasê dişopîne, veavakirina komê hilîne, û amûran ji bo rêvebirin, paşvegirtin, hevsengkirina barkirinê, nûvekirin, destpêkirin û rawestandina girêkan peyda dike. Karûbarê rêveberiya danûstendinê berpirsiyar e ku yekrêziya giştî li seranserê tevahî komê biparêze.

Alibaba kodê ji bo PolarDB, DBMSek belavkirî ya li ser PostgreSQL vekir.

PolarDB li ser bingeha mîmariya hesabkirinê ya parvekirî-tiştek e, ku li gorî wê dema ku li ser girêkên cihêreng têne hilanîn, bêyî karanîna hilanînek hevpar ji bo hemî girêkan, têne belav kirin, û her nodek ji beşa daneyên ku pê re têkildar in berpirsiyar e û pirsên têkildar pêk tîne. ji daneyan re. Her tabloyek li ser bingeha mifteya bingehîn bi karanîna haşkirinê di beşan de tê dabeş kirin (sharding). Ger daxwazî ​​daneyên ku li ser girêkên cihêreng hene vedigire, mekanîzmayek pêkanîna danûstendinê ya belavkirî û koordînatorek danûstendinê têne çalak kirin da ku atomî, hevgirtî, veqetandin û pêbaweriyê (ACID) misoger bikin.

Ji bo misogerkirina tolerasyona xeletiyê, her beş bi kêmî ve sê girêkan tê dubare kirin. Ji bo hilanîna çavkaniyan, daneya bêkêmasî tenê du kopiyan vedihewîne, û yek jî bi hilanîna têketin-vegera nivîsandinê (WAL) sînorkirî ye. Yek ji du girêkên bi kopiyên tijî ve wekî rêber tê hilbijartin û beşdarî daxwazên pêvajoyê dibe. Nodeya duyemîn ji bo beşa daneyê ya navborî wekî yedek tevdigere, û ya sêyem di hilbijartina girêka pêşeng de cih digire û dikare were bikar anîn da ku di bûyera têkçûna du girêkan de bi kopiyên tam re agahdariyê vegerîne. Vejandina daneyê di navbera girêkên komê de bi karanîna algorîtmaya Paxos ve tê organîze kirin, ku pênaseyek hevgirtî ya lihevhatinê di torgilokek bi girêkên potansiyel nebawer de misoger dike.

Tê destnîşankirin ku fonksiyona tevahî ya PolarDB DBMS tête plan kirin ku di sê serbestberan de were eşkere kirin: Di guhertoya yekem de, amûrên ji bo dubarekirinê, hebûna bilind û rêveberiya komê dê bêne weşandin. Daxuyaniya duyemîn dê pergalek darvekirina danûstendinê ya belavkirî destnîşan bike ku ACID-navdêr û darvekirina SQL-ya belavkirî piştgirî dike. Daxuyaniya sêyemîn dê pêvekek ji bo PostgreSQL û amûrên ji bo belavkirina daneya maqûl a li seranserê nodan, di nav de cîhkirina adapteyî ya beşan ji bo bidestxistina performansa çêtirîn û şiyana berfirehkirina komê bi zêdekirina girêkên nû ve bigire.

Source: opennet.ru

Add a comment