Alibaba fetħet il-kodiċi għal PolarDB, DBMS distribwit ibbażat fuq PostgreSQL.

Alibaba, waħda mill-akbar kumpaniji Ċiniżi tal-IT, fetħet il-kodiċi tas-sors tad-DBMS PolarDB distribwit, ibbażat fuq PostgreSQL. PolarDB jestendi l-kapaċitajiet ta 'PostgreSQL b'għodod għall-ħażna tad-dejta distribwita b'integrità u appoġġ għal tranżazzjonijiet ACID fil-kuntest tad-database globali kollha mqassma f'nodi ta' cluster differenti. PolarDB jappoġġja wkoll l-ipproċessar distribwit ta’ query SQL, it-tolleranza tal-ħsarat, u l-ħażna tad-dejta żejda biex tirkupra l-informazzjoni wara li jonqos nodu wieħed jew aktar. Jekk għandek bżonn tespandi l-ħażna tiegħek, tista 'sempliċement iżżid nodi ġodda mal-cluster. Il-kodiċi huwa miftuħ taħt il-liċenzja Apache 2.0.

PolarDB jikkonsisti f'żewġ komponenti - estensjonijiet u sett ta 'garża għal PostgreSQL. L-irqajja jespandu l-kapaċitajiet tal-qalba ta’ PostgreSQL, u l-estensjonijiet jinkludu komponenti implimentati separatament minn PostgreSQL, bħal mekkaniżmu ta’ ġestjoni tat-tranżazzjonijiet distribwiti, servizzi globali, proċessur ta’ query SQL distribwit, metadejta addizzjonali, għodod għall-ġestjoni tal-cluster, skjerament ta’ cluster, u simplifikazzjoni. il-migrazzjoni tas-sistemi eżistenti lejha.

L-irqajja jżidu mal-qalba tal-PostgreSQL verżjoni mqassma tal-mekkaniżmu għall-kontroll tal-aċċess parallel għad-dejta bl-użu ta 'multiversion (MVCC, Multiversion concurrency control) għal livelli ta' iżolament differenti. Ħafna mill-funzjonalità ta 'PolarDB hija inkluża fl-estensjonijiet, li tnaqqas id-dipendenza fuq PostgreSQL u tissimplifika l-aġġornament u l-implimentazzjoni ta' soluzzjonijiet ibbażati fuq PolarDB (jissimplifika t-tranżizzjoni għal verżjonijiet ġodda ta 'PostgreSQL u żżomm kompatibilità sħiħa ma' PostgreSQL). Biex timmaniġġja l-cluster, tintuża l-għodda pgxc_ctl, ibbażata fuq utilità simili minn PostgreSQL-XC u PostgreSQL-XL.

Hemm tliet komponenti bażiċi fi cluster: nodi tad-database (DN), cluster manager (CM) u servizz ta 'ġestjoni tat-tranżazzjonijiet (TM). Barra minn hekk, jista 'jintuża proxy load balancer. Kull komponent huwa proċess separat u jista 'jitħaddem fuq server differenti. Nodi tad-database iservu mistoqsijiet SQL mill-klijenti u fl-istess ħin jaġixxu bħala koordinaturi ta 'eżekuzzjoni ta' mistoqsijiet distribwiti bil-parteċipazzjoni ta 'nodi ta' database oħra. Il-maniġer tal-cluster jimmonitorja l-istat ta 'kull nodu tad-database, jaħżen il-konfigurazzjoni tal-cluster, u jipprovdi għodod għall-ġestjoni, il-backup, l-ibbilanċjar tat-tagħbija, l-aġġornament, il-bidu u t-twaqqif ta' nodi. Is-servizz tal-ġestjoni tat-tranżazzjonijiet huwa responsabbli għaż-żamma tal-integrità ġenerali fil-cluster kollu.

Alibaba fetħet il-kodiċi għal PolarDB, DBMS distribwit ibbażat fuq PostgreSQL.

PolarDB huwa bbażat fuq l-arkitettura tal-kompjuter distribwit Shared-nothing, li skontha d-dejta titqassam meta tinħażen fuq nodi differenti, mingħajr ma tuża ħażna komuni għan-nodi kollha, u kull nodu huwa responsabbli għall-porzjon tad-dejta assoċjata magħha u jwettaq mistoqsijiet relatati għad-data. Kull tabella hija sharded f'partijiet (sharding) bl-użu ta 'hashing ibbażat fuq iċ-ċavetta primarja. Jekk it-talba tifrex fuq data li tinsab fuq nodi differenti, mekkaniżmu ta’ eżekuzzjoni ta’ tranżazzjoni distribwita u koordinatur tat-tranżazzjoni jiġu attivati ​​biex jiżguraw l-atomiċità, il-konsistenza, l-iżolament u l-affidabbiltà (ACID).

Biex tiġi żgurata t-tolleranza tal-ħsarat, kull segment huwa replikat għal mill-inqas tliet nodi. Biex tiffranka r-riżorsi, id-dejta kompluta tinkludi biss żewġ repliki, u waħda hija limitata għall-ħażna tar-reġistru tal-kitba lura (WAL). Wieħed miż-żewġ nodi b'repliki sħaħ jiġi elett bħala l-mexxej u jipparteċipa fl-ipproċessar tat-talbiet. It-tieni node jaġixxi bħala spare għas-segment tad-dejta inkwistjoni, u t-tielet jieħu sehem fl-għażla tan-nodu ewlieni u jista 'jintuża biex jirrestawra l-informazzjoni f'każ ta' falliment ta 'żewġ nodi b'repliki sħaħ. Ir-replikazzjoni tad-dejta bejn in-nodi tal-cluster hija organizzata bl-użu tal-algoritmu Paxos, li jiżgura definizzjoni konsistenti ta 'kunsens f'netwerk b'nodi potenzjalment mhux affidabbli.

Huwa nnutat li l-funzjonalità sħiħa tal-PolarDB DBMS hija ppjanata li tiġi żvelata fuq tliet rilaxxi: Fl-ewwel verżjoni, se jiġu ppubblikati għodod għar-replikazzjoni, disponibbiltà għolja u ġestjoni tar-raggruppamenti. It-tieni rilaxx se jkollu sistema ta 'eżekuzzjoni ta' tranżazzjoni mqassma li tappoġġja l-eżekuzzjoni ACID bejn nodi u SQL distribwit. It-tielet rilaxx se jinkludi plugin għal PostgreSQL u għodod għal distribuzzjoni flessibbli tad-dejta bejn in-nodi, inkluż it-tqegħid adattiv ta 'segmenti biex tinkiseb l-aħjar prestazzjoni u l-abbiltà li tespandi l-cluster billi żżid nodi ġodda.

Sors: opennet.ru

Żid kumment