Alibaba wis mbukak kode kanggo PolarDB, DBMS sing disebarake adhedhasar PostgreSQL.

Alibaba, salah sawijining perusahaan IT China paling gedhe, wis mbukak kode sumber DBMS PolarDB sing disebarake, adhedhasar PostgreSQL. PolarDB ngluwihi kemampuan PostgreSQL kanthi alat kanggo panyimpenan data sing disebar kanthi integritas lan dhukungan kanggo transaksi ACID ing konteks kabeh database global sing disebarake ing macem-macem node kluster. PolarDB uga ndhukung pangolahan pitakon SQL sing disebarake, toleransi kesalahan, lan panyimpenan data sing berlebihan kanggo mbalekake informasi sawise siji utawa luwih simpul gagal. Yen sampeyan kudu nggedhekake panyimpenan, sampeyan mung bisa nambah simpul anyar menyang kluster. Kode iki mbukak ing lisensi Apache 2.0.

PolarDB kasusun saka rong komponen - ekstensi lan sakumpulan patch kanggo PostgreSQL. Patches ngembangake kemampuan inti PostgreSQL, lan ekstensi kalebu komponen sing diimplementasikake kanthi kapisah saka PostgreSQL, kayata mekanisme manajemen transaksi sing disebarake, layanan global, prosesor query SQL sing disebarake, metadata tambahan, alat kanggo ngatur kluster, nyebarake kluster, lan nyederhanakake. migrasi sistem sing wis ana.

Patch nambahake menyang inti PostgreSQL versi distribusi mekanisme kanggo ngontrol akses paralel menyang data nggunakake multiversion (MVCC, Multiversion concurrency kontrol) kanggo tingkat isolasi beda. Umume fungsi PolarDB kalebu ing ekstensi, sing nyuda katergantungan ing PostgreSQL lan nyederhanakake nganyari lan implementasine solusi adhedhasar PolarDB (nyederhanakake transisi menyang versi PostgreSQL anyar lan njaga kompatibilitas lengkap karo PostgreSQL). Kanggo ngatur kluster, pgxc_ctl toolkit digunakake, adhedhasar sarana sing padha saka PostgreSQL-XC lan PostgreSQL-XL.

Ana telung komponen dhasar ing kluster: simpul basis data (DN), manajer kluster (CM) lan layanan manajemen transaksi (TM). Kajaba iku, imbangan beban proxy bisa digunakake. Saben komponen minangka proses sing kapisah lan bisa ditindakake ing server sing beda. Node database nglayani pitakon SQL saka klien lan ing wektu sing padha tumindak minangka koordinator eksekusi query sing disebarake kanthi partisipasi node database liyane. Manajer kluster ngawasi kahanan saben simpul basis data, nyimpen konfigurasi kluster, lan nyedhiyakake alat kanggo ngatur, nggawe serep, ngimbangi muatan, nganyari, miwiti, lan mungkasi simpul. Layanan manajemen transaksi tanggung jawab kanggo njaga integritas sakabèhé ing kabeh kluster.

Alibaba wis mbukak kode kanggo PolarDB, DBMS sing disebarake adhedhasar PostgreSQL.

PolarDB adhedhasar arsitektur komputasi sing disebarake Shared-nothing, miturut data sing disebarake nalika disimpen ing node sing beda-beda, tanpa nggunakake panyimpenan umum kanggo kabeh simpul, lan saben simpul tanggung jawab kanggo bagean data sing ana gandhengane lan nindakake pitakon sing ana gandhengane. menyang data. Saben tabel dipérang dadi bagéan (sharding) nggunakake hashing adhedhasar kunci utama. Yen panjalukan kalebu data sing ana ing macem-macem node, mekanisme eksekusi transaksi sing disebarake lan koordinator transaksi diaktifake kanggo njamin atomicity, konsistensi, isolasi, lan linuwih (ACID).

Kanggo mesthekake toleransi fault, saben bagean replicated kanggo paling telung simpul. Kanggo ngirit sumber daya, data lengkap kalebu mung rong replika, lan siji diwatesi kanggo nyimpen log nulis (WAL). Salah siji saka rong simpul kanthi replika lengkap dipilih minangka pimpinan lan melu ngolah panjaluk. Simpul kapindho tumindak minangka nyisakke kanggo bagean data ing pitakonan, lan katelu njupuk bagéyan ing pilihan saka simpul anjog lan bisa digunakake kanggo mulihake informasi ing acara Gagal loro kelenjar karo replika lengkap. Replikasi data ing antarane kelenjar kluster diatur nggunakake algoritma Paxos, sing njamin definisi konsensus sing konsisten ing jaringan kanthi kelenjar sing ora bisa dipercaya.

Kacathet yen fungsionalitas lengkap DBMS PolarDB direncanakake bakal dicethakaké liwat telung rilis: Ing versi pisanan, alat kanggo réplikasi, kasedhiyan dhuwur lan manajemen kluster bakal diterbitake. Rilis kapindho bakal nampilake sistem eksekusi transaksi sing disebarake sing ndhukung ACID cross-node lan eksekusi SQL sing disebarake. Rilis kaping telu bakal kalebu plugin kanggo PostgreSQL lan alat kanggo distribusi data fleksibel ing node, kalebu penempatan segmen adaptif kanggo entuk kinerja optimal lan kemampuan kanggo nggedhekake kluster kanthi nambahake simpul anyar.

Source: opennet.ru

Add a comment