Alibaba e butse khoutu bakeng sa PolarDB, DBMS e phatlalalitsoeng ho latela PostgreSQL.

Alibaba, e leng e 'ngoe ea lik'hamphani tse kholo ka ho fetisisa tsa China tsa IT, e butse khoutu ea mohloli oa DBMS PolarDB e ajoang, e thehiloeng ho PostgreSQL. PolarDB e eketsa bokhoni ba PostgreSQL ka lisebelisoa tsa polokelo ea data e abuoang ka bots'epehi le ts'ehetso bakeng sa litšebelisano tsa ACID maemong a database ea lefats'e eohle e ajoang libakeng tse fapaneng tsa lihlopha. PolarDB e boetse e ts'ehetsa ts'ebetso ea lipotso tsa SQL tse phatlalalitsoeng, mamello ea liphoso, le polokelo e sa sebetseng ea data ho fumana tlhaiso-leseling ka mor'a hore node e le 'ngoe kapa tse ngata li hlolehe. Haeba o hloka ho holisa polokelo ea hau, o ka eketsa li-node tse ncha sehlopheng. Khoutu e bulehile tlasa laesense ea Apache 2.0.

PolarDB e na le likarolo tse peli - li-extensions le li-patches tsa PostgreSQL. Li-patches li holisa bokhoni ba mantlha ba PostgreSQL, 'me likeketso li kenyelletsa likarolo tse kentsoeng tšebetsong ka thoko ho PostgreSQL, joalo ka mokhoa oa taolo ea transaction, lits'ebeletso tsa lefats'e, processor ea lipotso tsa SQL, metadata e eketsehileng, lisebelisoa tsa ho laola sehlopha, ho tsamaisa sehlopha, le ho nolofatsa. ho falla ha litsamaiso tse teng ho eona.

Li-patches li eketsa motheong oa PostgreSQL mofuta o abuoang oa mochini oa ho laola phihlello e ts'oanang ea data o sebelisa multiversion (MVCC, Multiversion concurrency control) bakeng sa maemo a fapaneng a ho itšehla thajana. Boholo ba ts'ebetso ea PolarDB e kenyelelitsoe ho li-extensions, tse fokotsang ho itšetleha ka PostgreSQL le ho nolofatsa ntlafatso le ts'ebetsong ea tharollo e thehiloeng ho PolarDB (e nolofatsa phetoho ea liphetolelo tse ncha tsa PostgreSQL le ho boloka ho lumellana ka botlalo le PostgreSQL). Ho laola sehlopha, pgxc_ctl toolkit e sebelisoa, e ipapisitse le ts'ebeliso e ts'oanang ho tsoa ho PostgreSQL-XC le PostgreSQL-XL.

Ho na le likarolo tse tharo tsa motheo sehlopheng: li-database nodes (DN), mookameli oa lihlopha (CM) le tšebeletso ea tsamaiso ea transaction (TM). Ho feta moo, ho ka sebelisoa proxy load balancer. Karolo e 'ngoe le e' ngoe ke ts'ebetso e fapaneng 'me e ka tsamaisoa ho seva se fapaneng. Li-database node li fana ka lipotso tsa SQL ho tsoa ho bareki 'me ka nako e ts'oanang li sebetsa e le bahokahanyi ba phetisetso ea lipotso ka ho nka karolo ha li-database tse ling. Motsamaisi oa sehlopha o lekola boemo ba node e 'ngoe le e' ngoe ea database, o boloka tlhophiso ea sehlopha, mme o fana ka lisebelisoa tsa ho laola, ho tšehetsa, ho leka-lekanya thepa, ho ntlafatsa, ho qala le ho emisa li-node. Ts'ebeletso ea taolo ea transaction e na le boikarabello ba ho boloka botšepehi ka kakaretso ho sehlopha sohle.

Alibaba e butse khoutu bakeng sa PolarDB, DBMS e phatlalalitsoeng ho latela PostgreSQL.

PolarDB e ipapisitse le meralo ea komporo ea Shared-nothing, ho latela hore na data e ajoa ha e bolokoa libakeng tse fapaneng, ntle le ho sebelisa polokelo e tloaelehileng bakeng sa li-node tsohle, 'me node e' ngoe le e 'ngoe e ikarabella bakeng sa karolo ea data e amanang le eona mme e etsa lipotso tse amanang le eona. ho data. Tafole e 'ngoe le e' ngoe e arotsoe ka likarolo (sharding) ho sebelisoa hashing ho latela senotlolo sa mantlha. Haeba kopo e akaretsa lintlha tse fumanehang libakeng tse fapaneng, mokhoa oa ts'ebetso ea transaction e ajoang le mohokahanyi oa transaction o kenngoe ho netefatsa atomicity, consistency, isolation, le ho tšepahala (ACID).

Ho netefatsa mamello ea liphoso, karolo e 'ngoe le e' ngoe e phetoa bonyane li-node tse tharo. Ho boloka lisebelisoa, lintlha tse felletseng li kenyelletsa likopi tse peli feela, 'me e le' ngoe e lekanyelitsoe ho boloka tlaleho ea ho ngola morao (WAL). E 'ngoe ea li-node tse peli tse nang le li-replicas tse feletseng li khethoa e le moetapele' me li kopanela ho sebetsa likopo. Node ea bobeli e sebetsa e le sekheo bakeng sa karolo ea data eo ho buuoang ka eona, 'me ea boraro e nka karolo ho khethoeng ha node e etellang pele' me e ka sebelisoa ho tsosolosa tlhahisoleseding haeba ho hlōleha ha li-node tse peli tse nang le likopi tse feletseng. Ho pheta-pheta ha data pakeng tsa lihlopha tsa lihlopha ho hlophisitsoe ka mokhoa oa Paxos algorithm, e leng se tiisang tlhaloso e tsitsitseng ea tumellano ho marang-rang a nang le li-node tse ka 'nang tsa se ke tsa tšepahala.

Hoa hlokomeloa hore ts'ebetso e feletseng ea PolarDB DBMS e reriloe ho senoloa ka litokollo tse tharo: Phetolelong ea pele, lisebelisoa tsa ho pheta-pheta, ho fumaneha ho phahameng le tsamaiso ea lihlopha li tla hatisoa. Tokollo ea bobeli e tla ba le sistimi ea phetisetso e ajoang e ts'ehetsang ACID ea node le ts'ebetso ea SQL e ajoang. Phatlalatso ea boraro e tla kenyelletsa plugin bakeng sa PostgreSQL le lisebelisoa tsa phepelo ea data e feto-fetohang ho pholletsa le li-node, ho kenyeletsoa ho beoa ha likarolo ho fihlela ts'ebetso e nepahetseng le bokhoni ba ho holisa sehlopha ka ho eketsa li-node tse ncha.

Source: opennet.ru

Eketsa ka tlhaloso