Alibaba imefungua msimbo wa PolarDB, DBMS iliyosambazwa kulingana na PostgreSQL.

Alibaba, mojawapo ya makampuni makubwa ya Kichina ya IT, imefungua msimbo wa chanzo wa DBMS PolarDB iliyosambazwa, kulingana na PostgreSQL. PolarDB huongeza uwezo wa PostgreSQL kwa zana za uhifadhi wa data uliosambazwa kwa uadilifu na usaidizi wa miamala ya ACID katika muktadha wa hifadhidata nzima ya kimataifa inayosambazwa katika nodi tofauti za nguzo. PolarDB pia inasaidia uchakataji wa hoja wa SQL uliosambazwa, ustahimilivu wa hitilafu, na uhifadhi wa data usiohitajika ili kurejesha maelezo baada ya nodi moja au zaidi kushindwa. Ikiwa unahitaji kupanua hifadhi yako, unaweza tu kuongeza nodi mpya kwenye nguzo. Nambari imefunguliwa chini ya leseni ya Apache 2.0.

PolarDB ina vipengele viwili - viendelezi na seti ya viraka vya PostgreSQL. Viraka hupanua uwezo wa msingi wa PostgreSQL, na viendelezi vinajumuisha vipengele vinavyotekelezwa kando na PostgreSQL, kama vile utaratibu wa usimamizi wa shughuli uliosambazwa, huduma za kimataifa, kichakataji hoja cha SQL kilichosambazwa, metadata ya ziada, zana za kudhibiti nguzo, kupeleka kundi na kurahisisha. uhamiaji wa mifumo iliyopo kwake.

Viraka huongeza kwa msingi wa PostgreSQL toleo lililosambazwa la utaratibu wa kudhibiti ufikiaji sambamba wa data kwa kutumia ubadilishanaji (MVCC, Udhibiti wa upatanishi wa Multiversion) kwa viwango tofauti vya kutengwa. Utendakazi mwingi wa PolarDB umejumuishwa katika viendelezi, ambavyo hupunguza utegemezi kwa PostgreSQL na kurahisisha usasishaji na utekelezaji wa masuluhisho kulingana na PolarDB (hurahisisha mpito kwa matoleo mapya ya PostgreSQL na kudumisha upatanifu kamili na PostgreSQL). Ili kudhibiti nguzo, pgxc_ctl zana ya zana hutumiwa, kulingana na matumizi sawa kutoka PostgreSQL-XC na PostgreSQL-XL.

Kuna vipengele vitatu vya msingi katika kundi: nodi za hifadhidata (DN), meneja wa nguzo (CM) na huduma ya usimamizi wa shughuli (TM). Zaidi ya hayo, mizani ya upakiaji wa wakala inaweza kutumika. Kila sehemu ni mchakato tofauti na inaweza kuendeshwa kwenye seva tofauti. Nodi za hifadhidata hutumikia maswali ya SQL kutoka kwa wateja na wakati huo huo hufanya kama waratibu wa utekelezaji wa hoja zilizosambazwa kwa ushiriki wa nodi zingine za hifadhidata. Msimamizi wa nguzo hufuatilia hali ya kila nodi ya hifadhidata, huhifadhi usanidi wa nguzo, na hutoa zana za kudhibiti, kuhifadhi nakala, kusawazisha mizigo, kusasisha, kuanzia, na kusimamisha nodi. Huduma ya usimamizi wa miamala inawajibika kudumisha uadilifu kwa ujumla katika kundi zima.

Alibaba imefungua msimbo wa PolarDB, DBMS iliyosambazwa kulingana na PostgreSQL.

PolarDB inategemea usanifu wa kompyuta ulioshirikiwa-hakuna kitu, kulingana na ambayo data inasambazwa wakati imehifadhiwa kwenye nodi tofauti, bila kutumia hifadhi ya kawaida kwa nodi zote, na kila nodi inawajibika kwa sehemu ya data inayohusishwa nayo na hufanya maswali yanayohusiana. kwa data. Kila meza imegawanywa katika sehemu (sharding) kwa kutumia hashing kulingana na ufunguo wa msingi. Ikiwa ombi linajumuisha data iliyo kwenye nodi tofauti, utaratibu wa utekelezaji wa muamala uliosambazwa na mratibu wa muamala huwashwa ili kuhakikisha atomiki, uthabiti, kutengwa na kutegemewa (ACID).

Ili kuhakikisha uvumilivu wa makosa, kila sehemu inarudiwa kwa angalau nodes tatu. Ili kuhifadhi rasilimali, data kamili inajumuisha nakala mbili tu, na moja ni mdogo kwa kuhifadhi kumbukumbu ya maandishi (WAL). Moja ya nodi mbili zilizo na nakala kamili huchaguliwa kama kiongozi na hushiriki katika kushughulikia maombi. Nodi ya pili hufanya kama vipuri kwa sehemu ya data inayohusika, na ya tatu inashiriki katika uteuzi wa nodi inayoongoza na inaweza kutumika kurejesha habari katika tukio la kushindwa kwa nodi mbili zilizo na nakala kamili. Urudiaji wa data kati ya nodi za nguzo hupangwa kwa kutumia algoriti ya Paxos, ambayo inahakikisha ufafanuzi thabiti wa maafikiano katika mtandao wenye nodi zisizoweza kutegemewa.

Imebainika kuwa utendakazi kamili wa PolarDB DBMS umepangwa kufichuliwa zaidi ya matoleo matatu: Katika toleo la kwanza, zana za urudufishaji, upatikanaji wa juu na usimamizi wa nguzo zitachapishwa. Toleo la pili litaangazia mfumo wa utekelezaji wa muamala uliosambazwa ambao unaauni ACID ya sehemu tofauti na utekelezaji wa SQL uliosambazwa. Toleo la tatu litajumuisha programu-jalizi ya PostgreSQL na zana za usambazaji wa data inayoweza kunyumbulika kwenye sehemu zote, ikijumuisha uwekaji badilifu wa sehemu ili kufikia utendakazi bora na uwezo wa kupanua nguzo kwa kuongeza nodi mpya.

Chanzo: opennet.ru

Kuongeza maoni