Alibaba yakavhura kodhi yePolarDB, DBMS yakagoverwa yakavakirwa paPostgreSQL.

Alibaba, imwe yemakambani makuru eChinese IT, yakavhura kodhi kodhi yeDBMS PolarDB yakagoverwa, yakavakirwa paPostgreSQL. PolarDB inowedzera kugona kwePostgreSQL nemidziyo yekugovera dhata chengetedzo nekuvimbika uye nerutsigiro rwekuita kweACID mukati meiyo dhatabhesi yepasi rose yakagoverwa munzvimbo dzakasiyana dzemasumbu. PolarDB zvakare inotsigira yakagoverwa SQL query process, kukanganisa kushivirira, uye yakawandisa chengetedzo yedata kudzoreredza ruzivo mushure mekunge imwe kana anopfuura node yatadza. Kana iwe uchida kuwedzera chengetedzo yako, unogona kungo wedzera node nyowani kune cluster. Iyo kodhi yakavhurika pasi peiyo Apache 2.0 rezinesi.

PolarDB ine zvikamu zviviri - edzedzero uye seti yezvigamba zvePostgreSQL. Mapeche anowedzera kugona kwePostgreSQL musimboti, uye mawedzero anosanganisira zvikamu zvinoitwa zvakaparadzana kubva kuPostgreSQL, senge yakagoverwa transaction manejimendi, masevhisi epasi rose, yakagoverwa SQL query processor, yakawedzera metadata, maturusi ekutonga cluster, kuendesa boka, uye kurerutsa. kutama kwemaitiro aripo kwairi.

Iwo mapeche anowedzera kuPostgreSQL musimboti vhezheni yakagovaniswa yemeshini yekudzora kuenderana kuwana kune data uchishandisa multiversion (MVCC, Multiversion concurrency control) kune akasiyana siyana ekuzviparadzanisa nevamwe. Kuwanda kwekushanda kwePolarDB kunosanganisirwa mukuwedzera, izvo zvinodzikisira kutsamira paPostgreSQL uye kurerutsa kuvandudzwa nekuita kwezvigadziriso zvinoenderana nePolarDB (inorerutsa shanduko kune itsva shanduro dzePostgreSQL uye kuchengetedza kuenderana kuzere nePostgreSQL). Kugadzirisa cluster, pgxc_ctl toolkit inoshandiswa, zvichibva pane zvakafanana zvinoshandiswa kubva kuPostgreSQL-XC uye PostgreSQL-XL.

Pane zvinhu zvitatu zvakakosha musumbu: database node (DN), cluster maneja (CM) uye transaction management service (TM). Pamusoro pezvo, proxy load balancer inogona kushandiswa. Chimwe nechimwe chikamu inzira yakaparadzana uye inogona kumhanya pane imwe sevha. Database node dzinoshandisa SQL mibvunzo kubva kune vatengi uye panguva imwe chete ita sevarongi vekugoverwa kwemubvunzo wekuita pamwe nekubatanidzwa kwemamwe dhatabhesi node. Iyo cluster maneja inotarisisa mamiriro ega yega dhatabhesi node, inochengeta iyo cluster kumisikidzwa, uye inopa maturusi ekugadzirisa, kutsigira, kuyera kuyera, kugadzirisa, kutanga, uye kumisa node. Iyo transaction manejimendi sevhisi ine basa rekuchengetedza kutendeseka kwese pane yese cluster.

Alibaba yakavhura kodhi yePolarDB, DBMS yakagoverwa yakavakirwa paPostgreSQL.

PolarDB yakavakirwa pane Yakagoverwa-hapana chakagoverwa komputa architecture, maererano neiyo data inogoverwa kana yakachengetwa pane dzakasiyana node, pasina kushandisa yakajairwa chengetedzo yeese node, uye imwe neimwe node inotarisira chikamu che data chakabatana nayo uye inoita mibvunzo ine chekuita. kune data. Tafura yega yega yakagovaniswa kuita zvikamu (sharding) uchishandisa hashing zvichibva pane kiyi yekutanga. Kana chikumbiro chacho chichitambanudzira dhata iri panzvimbo dzakasiyana-siyana, dhizaini yekutengeserana yakagoverwa uye murongi wekutengeserana anogadziriswa kuti ave nechokwadi cheatomicity, kuwirirana, kuzviparadzanisa nevamwe, uye kuvimbika (ACID).

Kuve nechokwadi chekushivirira kukanganisa, chikamu chimwe nechimwe chinodzokororwa kune angangoita matatu nodes. Kuti uchengetedze zviwanikwa, iyo data yakazara inosanganisira maviri chete replicas, uye imwe inogumira pakuchengeta kunyora-kumashure log (WAL). Imwe yemanodhi maviri ane replicas yakazara inosarudzwa semutungamiri uye inotora chikamu mukugadzirisa zvikumbiro. Chechipiri node inoshanda sechipo chechikamu che data chiri mubvunzo, uye chechitatu chinotora chikamu mukusarudzwa kwenode inotungamira uye inogona kushandiswa kudzoreredza ruzivo kana paine kukundikana kwemanodhi maviri ane replicas yakazara. Kudzokororwa kwedata pakati pemasumbu node kwakarongwa uchishandisa iyo Paxos algorithm, iyo inovimbisa inowirirana tsananguro yekubvumirana munetiweki ine inogona kusavimbika node.

Zvinocherechedzwa kuti kushanda kwakazara kwePolarDB DBMS kwakarongwa kuratidzwa pamusoro pezvitatu zvinoburitswa: Mushanduro yekutanga, zvishandiso zvekudzokorora, kuwanikwa kwepamusoro uye manejimendi emasumbu zvichaburitswa. Kuburitswa kwechipiri kuchave neyakagoverwa transaction execution system inotsigira cross-node ACID uye yakagoverwa SQL execution. Kuburitswa kwechitatu kuchasanganisira plugin yePostgreSQL uye maturusi ekuchinjika data kugovera munzvimbo dzese, kusanganisira inogadzirisa kuiswa kwezvikamu kuti uwane kuita kwakaringana uye kugona kuwedzera sumbu nekuwedzera node nyowani.

Source: opennet.ru

Voeg