Mae Alibaba wedi agor y cod ar gyfer PolarDB, DBMS dosbarthedig yn seiliedig ar PostgreSQL.

Mae Alibaba, un o'r cwmnïau TG Tsieineaidd mwyaf, wedi agor cod ffynhonnell y DBMS PolarDB dosbarthedig, yn seiliedig ar PostgreSQL. Mae PolarDB yn ymestyn galluoedd PostgreSQL gydag offer ar gyfer storio data gwasgaredig gydag uniondeb a chefnogaeth ar gyfer trafodion ACID yng nghyd-destun y gronfa ddata fyd-eang gyfan a ddosberthir ar draws gwahanol nodau clwstwr. Mae PolarDB hefyd yn cefnogi prosesu ymholiad SQL dosranedig, goddefgarwch namau, a storio data diangen i adennill gwybodaeth ar ôl i un nod neu fwy fethu. Os oes angen i chi ehangu'ch storfa, gallwch chi ychwanegu nodau newydd i'r clwstwr. Mae'r cod ar agor o dan drwydded Apache 2.0.

Mae PolarDB yn cynnwys dwy gydran - estyniadau a set o glytiau ar gyfer PostgreSQL. Mae clytiau'n ehangu galluoedd craidd PostgreSQL, ac mae estyniadau'n cynnwys cydrannau a weithredir ar wahân i PostgreSQL, megis mecanwaith rheoli trafodion dosranedig, gwasanaethau byd-eang, prosesydd ymholiad SQL dosranedig, metadata ychwanegol, offer ar gyfer rheoli'r clwstwr, defnyddio clwstwr, a symleiddio mudo systemau presennol iddo.

Mae'r clytiau yn ychwanegu at graidd PostgreSQL fersiwn ddosbarthedig o'r mecanwaith ar gyfer rheoli mynediad cyfochrog i ddata gan ddefnyddio multiversion (MVCC, rheoli arian cyfred Multiversion) ar gyfer gwahanol lefelau ynysu. Mae'r rhan fwyaf o ymarferoldeb PolarDB wedi'i gynnwys mewn estyniadau, sy'n lleihau dibyniaeth ar PostgreSQL ac yn symleiddio'r broses o ddiweddaru a gweithredu atebion yn seiliedig ar PolarDB (mae'n symleiddio'r newid i fersiynau newydd o PostgreSQL a chynnal cydnawsedd llawn â PostgreSQL). I reoli'r clwstwr, defnyddir y pecyn cymorth pgxc_ctl, yn seiliedig ar gyfleustodau tebyg gan PostgreSQL-XC a PostgreSQL-XL.

Mae tair cydran sylfaenol mewn clwstwr: nodau cronfa ddata (DN), rheolwr clwstwr (CM) a gwasanaeth rheoli trafodion (TM). Yn ogystal, gellir defnyddio cydbwysydd llwyth dirprwyol. Mae pob cydran yn broses ar wahân a gellir ei rhedeg ar weinydd gwahanol. Mae nodau cronfa ddata yn gwasanaethu ymholiadau SQL gan gleientiaid ac ar yr un pryd yn gweithredu fel cydlynwyr cyflawni ymholiad dosranedig gyda chyfranogiad nodau cronfa ddata eraill. Mae'r rheolwr clwstwr yn monitro cyflwr pob nod cronfa ddata, yn storio cyfluniad y clwstwr, ac yn darparu offer ar gyfer rheoli, gwneud copi wrth gefn, cydbwyso llwythi, diweddaru, cychwyn a stopio nodau. Mae’r gwasanaeth rheoli trafodion yn gyfrifol am gynnal cywirdeb cyffredinol ar draws y clwstwr cyfan.

Mae Alibaba wedi agor y cod ar gyfer PolarDB, DBMS dosbarthedig yn seiliedig ar PostgreSQL.

Mae PolarDB yn seiliedig ar y bensaernïaeth gyfrifiadurol ddosranedig a rennir, yn ôl pa ddata sy'n cael ei ddosbarthu wrth ei storio ar wahanol nodau, heb ddefnyddio storfa gyffredin ar gyfer pob nod, ac mae pob nod yn gyfrifol am y gyfran o ddata sy'n gysylltiedig ag ef ac yn perfformio ymholiadau cysylltiedig i'r data. Mae pob bwrdd yn cael ei rannu'n rhannau (rhinio) gan ddefnyddio stwnsh yn seiliedig ar y cywair cynradd. Os yw'r cais yn rhychwantu data sydd wedi'u lleoli ar wahanol nodau, mae mecanwaith gweithredu trafodion dosbarthedig a chydlynydd trafodion yn cael eu gweithredu i sicrhau atomigedd, cysondeb, ynysu a dibynadwyedd (ACID).

Er mwyn sicrhau goddefgarwch bai, mae pob segment yn cael ei ailadrodd i o leiaf dri nod. Er mwyn arbed adnoddau, mae'r data cyflawn yn cynnwys dau atgynhyrchiad yn unig, ac mae un wedi'i gyfyngu i storio'r log ysgrifennu'n ôl (WAL). Mae un o'r ddau nod gyda chopïau llawn yn cael ei ethol yn arweinydd ac yn cymryd rhan mewn prosesu ceisiadau. Mae'r ail nod yn gweithredu fel sbâr ar gyfer y segment data dan sylw, ac mae'r trydydd yn cymryd rhan yn y dewis o'r nod arweiniol a gellir ei ddefnyddio i adfer gwybodaeth os bydd dau nod yn methu gyda chopïau llawn. Trefnir atgynhyrchu data rhwng nodau clwstwr gan ddefnyddio algorithm Paxos, sy'n sicrhau diffiniad cyson o gonsensws mewn rhwydwaith â nodau a allai fod yn annibynadwy.

Nodir y bwriedir datgelu swyddogaeth lawn DBMS PolarDB dros dri datganiad: Yn y fersiwn gyntaf, bydd offer ar gyfer atgynhyrchu, argaeledd uchel a rheoli clwstwr yn cael eu cyhoeddi. Bydd yr ail ddatganiad yn cynnwys system gweithredu trafodion dosbarthedig sy'n cefnogi ACID traws-nodyn a gweithrediad SQL wedi'i ddosbarthu. Bydd y trydydd datganiad yn cynnwys ategyn ar gyfer PostgreSQL ac offer ar gyfer dosbarthu data hyblyg ar draws nodau, gan gynnwys lleoliad addasol o segmentau i gyflawni'r perfformiad gorau posibl a'r gallu i ehangu'r clwstwr trwy ychwanegu nodau newydd.

Ffynhonnell: opennet.ru

Ychwanegu sylw