Alibaba ti ṣii koodu fun PolarDB, DBMS ti o pin ti o da lori PostgreSQL.

Alibaba, ọkan ninu awọn ile-iṣẹ IT ti Kannada ti o tobi julọ, ti ṣii koodu orisun ti DBMS PolarDB ti a pin, ti o da lori PostgreSQL. PolarDB gbooro awọn agbara ti PostgreSQL pẹlu awọn irinṣẹ fun ibi ipamọ data pinpin pẹlu iduroṣinṣin ati atilẹyin fun awọn iṣowo ACID ni aaye ti gbogbo data data agbaye ti o pin kaakiri awọn apa iṣupọ oriṣiriṣi. PolarDB tun ṣe atilẹyin sisẹ ibeere SQL pinpin, ifarada ẹbi, ati ibi ipamọ data laiṣe lati mu alaye pada lẹhin ọkan tabi diẹ ẹ sii awọn apa kuna. Ti o ba nilo lati faagun ibi ipamọ rẹ, o le nirọrun ṣafikun awọn apa tuntun si iṣupọ naa. Koodu naa wa ni sisi labẹ iwe-aṣẹ Apache 2.0.

PolarDB ni awọn paati meji - awọn amugbooro ati ṣeto awọn abulẹ fun PostgreSQL. Awọn abulẹ faagun awọn agbara ti mojuto PostgreSQL, ati awọn amugbooro pẹlu awọn paati ti a ṣe ni lọtọ lati PostgreSQL, gẹgẹbi ilana iṣakoso idunadura pinpin, awọn iṣẹ agbaye, ero isise ibeere SQL ti o pin, metadata afikun, awọn irinṣẹ fun ṣiṣakoso iṣupọ, gbigbe iṣupọ kan, ati irọrun ijira ti awọn eto ti o wa tẹlẹ si rẹ.

Awọn abulẹ ṣafikun si mojuto PostgreSQL ẹya ti a pin kaakiri ti ẹrọ fun ṣiṣakoso iraye si afiwera si data nipa lilo isodipupo (MVCC, iṣakoso concurrency Multiversion) fun awọn ipele ipinya oriṣiriṣi. Pupọ julọ iṣẹ ṣiṣe ti PolarDB wa ninu awọn amugbooro, eyiti o dinku igbẹkẹle lori PostgreSQL ati simplifies imudojuiwọn ati imuse awọn solusan ti o da lori PolarDB (o ṣe irọrun iyipada si awọn ẹya tuntun ti PostgreSQL ati mimu ibamu ni kikun pẹlu PostgreSQL). Lati ṣakoso iṣupọ naa, a lo ohun elo irinṣẹ pgxc_ctl, da lori iru ohun elo lati PostgreSQL-XC ati PostgreSQL-XL.

Awọn paati ipilẹ mẹta wa ninu iṣupọ kan: awọn apa ibi ipamọ data (DN), oluṣakoso iṣupọ (CM) ati iṣẹ iṣakoso idunadura (TM). Ni afikun, iwọntunwọnsi fifuye aṣoju le ṣee lo. Ẹya paati kọọkan jẹ ilana lọtọ ati pe o le ṣiṣẹ lori olupin ti o yatọ. Awọn apa aaye data sin awọn ibeere SQL lati ọdọ awọn alabara ati ni akoko kanna ṣiṣẹ bi awọn oluṣeto ti ipaniyan ibeere pinpin pẹlu ikopa ti awọn apa ibi ipamọ data miiran. Oluṣakoso iṣupọ n ṣe abojuto ipo ti ipade data kọọkan, tọju iṣeto iṣupọ, o si pese awọn irinṣẹ fun iṣakoso, ṣe afẹyinti, iwọntunwọnsi fifuye, imudojuiwọn, bẹrẹ, ati idaduro awọn apa. Iṣẹ iṣakoso idunadura jẹ iduro fun mimu iṣotitọ gbogbogbo kọja gbogbo iṣupọ.

Alibaba ti ṣii koodu fun PolarDB, DBMS ti o pin ti o da lori PostgreSQL.

PolarDB da lori Pipin-ohunkohun pinpin iširo faaji, ni ibamu si eyi ti data ti pin nigbati o ti fipamọ sori awọn apa oriṣiriṣi, laisi lilo ibi ipamọ ti o wọpọ fun gbogbo awọn apa, ati ipade kọọkan jẹ iduro fun apakan data ti o ni nkan ṣe pẹlu rẹ ati ṣe awọn ibeere ti o ni ibatan. si awọn data. Tabili kọọkan ti pin si awọn apakan (sharding) ni lilo hashing ti o da lori bọtini akọkọ. Ti ibeere naa ba ni data ti o wa lori awọn apa oriṣiriṣi, ẹrọ ipaniyan idunadura pinpin ati oluṣeto iṣowo ti mu ṣiṣẹ lati rii daju atomity, aitasera, ipinya, ati igbẹkẹle (ACID).

Lati rii daju ifarada ẹbi, apakan kọọkan jẹ tun ṣe si o kere ju awọn apa mẹta. Lati ṣafipamọ awọn orisun, data pipe pẹlu awọn ẹda meji nikan, ati pe ọkan ni opin si titoju iwe kikọ-pada (WAL). Ọkan ninu awọn apa meji pẹlu awọn ẹda ni kikun ni a yan bi adari ati kopa ninu awọn ibeere ṣiṣe. Ipade keji n ṣiṣẹ bi apoju fun apakan data ti o wa ninu ibeere, ati pe ẹkẹta gba apakan ninu yiyan ti ipade asiwaju ati pe o le ṣee lo lati mu alaye pada ni iṣẹlẹ ti ikuna awọn apa meji pẹlu awọn ẹda kikun. Atunse data laarin awọn apa iṣupọ ni a ṣeto pẹlu lilo Paxos algorithm, eyiti o ṣe idaniloju asọye ibamu ti ipohunpo ni nẹtiwọọki pẹlu awọn apa ti ko ni igbẹkẹle.

O ṣe akiyesi pe iṣẹ ṣiṣe ni kikun ti PolarDB DBMS ti gbero lati ṣafihan lori awọn idasilẹ mẹta: Ni ẹya akọkọ, awọn irinṣẹ fun ẹda, wiwa giga ati iṣakoso iṣupọ yoo jẹ atẹjade. Itusilẹ keji yoo ṣe ẹya eto ipaniyan idunadura pinpin ti o ṣe atilẹyin ACID-node ati ipaniyan SQL pinpin. Itusilẹ kẹta yoo pẹlu ohun itanna kan fun PostgreSQL ati awọn irinṣẹ fun pinpin data to rọ kọja awọn apa, pẹlu ibi isọdọtun ti awọn apakan lati ṣaṣeyọri iṣẹ ti o dara julọ ati agbara lati faagun iṣupọ nipa fifi awọn apa tuntun kun.

orisun: opennet.ru

Fi ọrọìwòye kun