Inilabas ng Alibaba ang source code ng PolarDB

Nagpakawala si Alibaba ilang araw na ang nakakalipas nagpasya na palabasin ang source code ng ang iyong ipinamamahagi na sistema ng pamamahala ng database "PolarDB" na batay sa PostgreSQL, ang code ay bukas sa ilalim ng lisensya ng Apache 2.0.

Para sa mga hindi pamilyar sa PolarDB, dapat mong malaman iyon ito ay isang pamanggit database batay sa ulap na binuo ni Alibaba na nagpapalawak ng mga kakayahan sa PostgreSQL para sa ibinahagi na imbakan ng data na may integridad at suporta para sa mga transaksyon ng ACID sa konteksto ng buong pandaigdigang database, na ipinamamahagi sa iba't ibang mga cluster node.

PolarDB din sumusuporta sa ipinamamahagi na pagpoproseso ng query sa SQL, na nagbibigay ng pagpapaubaya sa kasalanan at kalabisan na imbakan ng data upang mapunan ang impormasyon pagkatapos na mabigo ang isa o higit pang mga node. Kung kailangan mong palawakin ang iyong imbakan, magdagdag lamang ng mga bagong node sa kumpol.

Polar DB binubuo ng dalawang bahagi: mga extension at isang hanay ng mga patch para sa PostgreSQL. Ang mga patch ay nagpapalawak ng mga kakayahan ng PostgreSQL core at ang mga extension ay nagsasama ng magkahiwalay na ipinatupad na mga bahagi ng PostgreSQL, tulad ng isang ipinamamahagi na mekanismo ng pamamahala ng transaksyon, mga serbisyo sa pandaigdigan, isang ipinamahaging SQL query processor, karagdagang metadata, mga tool upang pamahalaan ang isang kumpol, magpatupad ng isang kumpol, at gawing simple ang paglipat ng mga umiiral na mga system dito.

Ang mga patch ay nagdagdag ng isang ipinamamahagi na bersyon ng mekanismo ng pagkontrol ng pagsabay sa multiversion (MVCC) sa core ng PostgreSQL para sa iba't ibang mga antas ng paghihiwalay. Ang karamihan sa pag-andar ng PolarDB ay inilipat sa mga extension, na binabawasan ang pagtitiwala sa PostgreSQL at pinapasimple ang pag-upgrade at pag-deploy ng mga solusyon na nakabatay sa PolarDB (pinapasimple ang paglipat sa mga bagong bersyon ng PostgreSQL at pinapanatili ang buong pagiging tugma ng PostgreSQL).

Mayroong tatlong pangunahing mga sangkap sa isang kumpol: mga database node (DN), cluster manager (CM) at serbisyo sa pamamahala ng transaksyon (TM), bilang karagdagan, ang isang proxy load balancer ay maaaring kasangkot. Ang bawat isa sa mga bahagi ay isang hiwalay na proseso at maaaring tumakbo sa iba't ibang mga pisikal na server. Ang mga database node ay nagsisilbi sa mga query ng client ng SQL at sa parehong oras ay kumikilos bilang mga coordinator ng pagpapatupad ng mga ipinamigay na query na may pakikilahok ng iba pang mga database node.

Sinusubaybayan ng tagapangasiwa ng kumpol ang katayuan ng bawat database node, nag-iimbak ng kumpol ng cluster at nagbibigay ng mga tool para sa pamamahala, pag-back up, pag-balancing ng pag-load, pag-update, pagsisimula, at paghinto ng mga node. Ang serbisyo sa pamamahala ng transaksyon ay responsable para sa pagpapanatili ng pangkalahatang integridad sa buong kumpol.

Ang PolarDB ay batay sa nakabahaging arkitektura ng computing na nakabahaging ayon sa kung aling data ang ipinamamahagi sa panahon ng pag-iimbak sa iba't ibang mga node, nang hindi gumagamit ng isang karaniwang imbakan para sa lahat ng mga node at ang bawat node ay responsable para sa piraso ng data na naka-link dito at nagsasagawa ng nauugnay na data ng query.

Ang bawat mesa ay nahahati gamit ang pangunahing mga pangunahing hash. Kung saklaw ng kahilingan ang data na matatagpuan sa iba't ibang mga node, ang ipinamamahagi na engine ng pagpapatupad ng transaksyon at ang coordinator ng transaksyon ay konektado upang matiyak ang pagiging atomiko, pagkakapare-pareho, paghihiwalay, at pagiging maaasahan (ACID).

Upang matiyak ang pagpapaubaya ng kasalanan, ang bawat segment ay kinopya sa hindi bababa sa tatlong mga node. Upang makatipid ng mga mapagkukunan, ang buong data ay nagsasama lamang ng dalawang mga replica at ang isa ay limitado sa pag-iimbak ng log na nasa likuran (WAL). Ang isa sa dalawang buong node ng replica ay pinili bilang pinuno at lumahok sa pagproseso ng kahilingan, habang ang pangalawang node ay gumaganap bilang ekstrang para sa segment ng data na isinasaalang-alang, at ang pangatlong nakikilahok sa pagpili ng pangunahing node at maaaring magamit upang maibalik impormasyon sa kaso ng kabiguan ng dalawang mga node na may buong mga replika.

Ang pagtitiklop ng data sa pagitan ng mga node ng cluster ay isinaayos gamit ang Paxos algorithm, na tinitiyak ang pare-pareho na pagpapasiya ng pinagkasunduan sa isang network na may mga potensyal na hindi pinagkakatiwalaang node. Dapat pansinin na ang buong pag-andar ng PolarDB DBMS ay pinlano na ilabas sa tatlong mga bersyon.

Panghuli, kung interesado kang malaman ang tungkol dito, maaari kang kumunsulta ang mga detalye sa sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.