Ungayifaka kanjani i-PostgreSQL “yamahhala” endaweni yebhizinisi enokhahlo

Abantu abaningi bajwayelene ne-PostgreSQL DBMS, futhi izibonakalise ngokufaka okuncane. Kodwa-ke, umkhuba obheke ku-Open Source usucace kakhulu, ngisho noma kukhulunywa ngezinkampani ezinkulu nezidingo zebhizinisi. Kulesi sihloko sizokutshela ukuthi ungayihlanganisa kanjani i-Postgres endaweni yebhizinisi futhi sabelane ngolwazi lwethu lokudala isistimu yokusekelayo (i-BSS) yalesi sizindalwazi sisebenzisa uhlelo lokusekelayo lwe-Commvault njengesibonelo.

Ungayifaka kanjani i-PostgreSQL “yamahhala” endaweni yebhizinisi enokhahlo
I-PostgreSQL isivele ikufakazele ukubaluleka kwayo - i-DBMS isebenza kahle kakhulu, isetshenziswa amabhizinisi edijithali asemfashinini afana ne-Alibaba ne-TripAdvisor, futhi ukuntuleka kwezimali zamalayisense kuyenza ibe enye indlela ehehayo yezilo ezinjenge-MS SQL noma i-Oracle DB. Kepha lapho nje siqala ukucabanga nge-PostgreSQL ku-Enterprise landscape, ngokushesha sihlangabezana nezidingo eziqinile: “Kuthiwani ngokubekezelela amaphutha okucushwa? ukumelana nezinhlekelele? kuphi ukuqapha okuphelele? Kuthiwani ngama-backups azenzakalelayo? Kuthiwani ngokusebenzisa imitapo yolwazi yamakhasethi kokubili ngokuqondile nasesitorejini sesibili?”

Ungayifaka kanjani i-PostgreSQL “yamahhala” endaweni yebhizinisi enokhahlo
Ngakolunye uhlangothi, i-PostgreSQL ayinawo amathuluzi okulondoloza akhelwe ngaphakathi, njengama-DBMS “abantu abadala” njenge-RMAN ku-Oracle DB noma i-SAP Database Backup. Ngakolunye uhlangothi, abahlinzeki bezinhlelo zokusekelayo zezinkampani (i-Veeam, i-Veritas, i-Commvault) nakuba besekela i-PostgreSQL, empeleni basebenza kuphela ngokucushwa okuthile (okuvame ukuzimela) kanye nesethi yemikhawulo ehlukahlukene.

Izinhlelo eziyisipele eziklanyelwe i-PostgreSQL ngokukhethekile, njenge-Barman, Wal-g, pg_probackup, zidume kakhulu ekufakweni okuncane kwe-PostgreSQL DBMS noma lapho kungadingeki izipele ezinzima zezinye izici ze-IT landscape. Isibonelo, ngaphezu kwe-PostgreSQL, ingqalasizinda ingase ihlanganise amaseva angokwenyama nangokoqobo, i-OpenShift, i-Oracle, i-MariaDB, i-Cassandra, njll. Kutuswa ukwenza isipele konke lokhu ngethuluzi elivamile. Ukufaka isixazululo esihlukile se-PostgreSQL kuphela kungumbono omubi: idatha izokopishwa ndawana thize kudiski, bese idinga ukususwa ukuze iqoshwe. Lesi sipele esiphindwe kabili kwandisa isikhathi sokulondoloza, futhi, ngokubaluleke kakhulu, isikhathi sokubuyisela.

Kusixazululo sebhizinisi, isipele sokufakwa kwenzeka ngenani elithile lamanodi kuqoqo elizinikele. Ngesikhathi esifanayo, ngokwesibonelo, i-Commvault ingasebenza kuphela neqoqo elinamanodi amabili, lapho Okuyisisekelo kanye Nesesibili kunikezwe ngokuqinile kumanodi athile. Futhi kunengqondo ukwenza ikhophi yasenqolobaneni ku-Primary, ngoba ikhophi yasenqolobaneni yaseSecondary inemikhawulo yako. Ngenxa yezici ze-DBMS, ukulahlwa akudalwanga Kwesibili, ngakho-ke kusele ithuba lokulondoloza ifayela kuphela.

Ukuze unciphise ubungozi bokuphelelwa yisikhathi, lapho udala isistimu ebekezelela amaphutha, kwakhiwa ukumiswa kweqoqo “okubukhoma”, futhi Okuyinhloko kungathutha kancane kancane phakathi kwamaseva ahlukene. Isibonelo, isofthiwe ye-Patroni ngokwayo ivula Okuyisisekelo endaweni yeqoqo ekhethwe ngokungahleliwe. I-IBS ayinayo indlela yokulandelela lokhu ngaphandle kwebhokisi, futhi uma ukucushwa kushintsha, izinqubo ziyaphuka. Okusho ukuthi, ukwethulwa kokulawula kwangaphandle kuvimbela i-ISR ekusebenzeni ngokuphumelelayo, ngoba iseva yokulawula imane nje ayiqondi ukuthi iyiphi idatha okufanele ikopishwe kuyo nokuthi iyiphi.

Enye inkinga ukuqaliswa kokusekelayo ku-Postgres. Kuyenzeka ngokulahlwa, futhi kusebenza kuma-database amancane. Kodwa kuma-database amakhulu, ukulahlwa kuthatha isikhathi eside, kudinga izinsiza eziningi futhi kungaholela ekuhlulekeni kwesibonelo sesizindalwazi.

Isipele sefayela silungisa isimo, kodwa kusizindalwazi esikhulu sihamba kancane ngoba sisebenza ngemodi yochungechunge olulodwa. Ngaphezu kwalokho, abathengisi banenani lemikhawulo eyengeziwe. Kuphakathi kokuthi awukwazi ukusebenzisa amafayela nokulahla izipele ngesikhathi esisodwa, noma ukuphindaphinda akusekelwa. Kunezinkinga eziningi, futhi ngokuvamile kulula ukukhetha i-DBMS ebizayo kodwa efakazelwe esikhundleni se-Postgres.

Akukho lapho ungahlehla khona! Onjiniyela baseMoscow bangemuva!

Kodwa-ke, muva nje ithimba lethu libhekane nenselele enzima: kuphrojekthi yokudala i-AIS OSAGO 2.0, lapho sidale khona ingqalasizinda ye-IT, abathuthukisi bakhethe i-PostgreSQL ohlelweni olusha.

Kulula kakhulu ukuthi abathuthukisi be-software abakhulu basebenzise izixazululo zomthombo ovulekile “ezijwayelekile”. I-Facebook inochwepheshe abenele ukusekela ukusebenza kwale DBMS. Futhi endabeni ye-RSA, yonke imisebenzi "yosuku lwesibili" yawela emahlombe ethu. Kwakudingeka siqinisekise ukubekezelelana kwamaphutha, sihlanganise iqoqo futhi, vele, simise ikhophi yasenqolobaneni. I-logic yesenzo yayimi kanje:

  • Fundisa i-SRK ukwenza izipele ukusuka ku-Primary node yeqoqo. Ukwenza lokhu, i-SRK kufanele iyithole - okusho ukuthi ukuhlanganiswa nesixazululo esisodwa noma esinye sokuphathwa kweqoqo le-PostgreSQL kuyadingeka. Endabeni ye-RSA, isofthiwe ye-Patroni yasetshenziselwa lokhu.
  • Nquma uhlobo lwekhophi yasenqolobaneni ngokusekelwe kumthamo wedatha nezidingo zokuphinda uthole. Isibonelo, uma udinga ukubuyisela amakhasi ngokuphindaphindiwe, sebenzisa ukulahla, futhi uma imininingwane yolwazi inkulu futhi ukubuyiselwa kwe-granular kungadingeki, sebenza ezingeni lefayela.
  • Namathisela ukuthi kungenzeka yini ukwenza isipele sebhulokhi kusixazululo ukuze udale ikhophi eyisipele kumodi enezintambo eziningi.

Ngesikhathi esifanayo, ekuqaleni saqala ukwakha uhlelo olusebenzayo nolulula ngaphandle kwehhanisi elibi lezingxenye ezengeziwe. Izinduku ezimbalwa, umthwalo womsebenzi omncane kubasebenzi kanye nengozi ephansi yokwehluleka kwe-IBS. Ngokushesha sazikhipha izindlela ezisebenzisa i-Veeam ne-RMAN, ngoba isethi yezixazululo ezimbili isivele ikhomba ukungathembeki kohlelo.

Umlingo omncane webhizinisi

Ngakho-ke, besidinga ukuqinisekisa ikhophi yasenqolobaneni ethembekile yamaqoqo angu-10 wamanodi angu-3 lilinye, nengqalasizinda efanayo eboniswe esikhungweni sedatha yokusekelayo. Izikhungo zedatha ngokuya nge-PostgreSQL zisebenza kumgomo osebenzayo wokungenzi lutho. Isamba sikasayizi wesizindalwazi sasingu-50 TB. Noma yiluphi uhlelo lokulawula izinga lebhizinisi lungabhekana kalula nalokhu. Kepha i-caveat ukuthi ekuqaleni i-Postgres ayinawo umkhondo wokuhambisana okugcwele nokujulile nezinhlelo zokusekelayo. Ngakho-ke, bekufanele sibheke isixazululo ekuqaleni ebesinokusebenza okuphezulu kakhulu ngokuhlangana ne-PostgreSQL, futhi sicwengisise uhlelo.

Sibambe “ama-hackathon” angu-3 angaphakathi - sabheka intuthuko engaphezu kwamashumi amahlanu, sayihlola, senza izinguquko mayelana nemibono yethu, saphinde sayihlola. Ngemuva kokubuyekeza izinketho ezitholakalayo, sikhethe i-Commvault. Ngaphandle kwebhokisi, lo mkhiqizo ungasebenza ngokufakwa kweqoqo le-PostgreSQL okulula kakhulu, futhi ukwakheka kwawo okuvulekile kwaphakamisa amathemba (ayefaneleka) okuthuthukiswa okuphumelelayo nokuhlanganiswa. I-Commvault ingakwazi futhi ukwenza isipele izingodo ze-PostgreSQL. Isibonelo, i-Veritas NetBackup ngokuya nge-PostgreSQL ingenza izipele ezigcwele kuphela.

Okuningi mayelana nezakhiwo. Amaseva wokuphatha we-Commvault afakwe kusikhungo ngasinye sedatha ezimbili ekucushweni kwe-CommServ HA. Uhlelo lufakwe esibukweni, luphathwe ngekhonsoli eyodwa futhi, ngokubuka kwe-HA, luhlangabezana nazo zonke izidingo zebhizinisi.

Ungayifaka kanjani i-PostgreSQL “yamahhala” endaweni yebhizinisi enokhahlo
Siphinde sethula amaseva emidiya amabili aphathekayo esikhungweni sedatha ngasinye, lapho sixhume khona amaqoqo ediski nemitapo yolwazi enikezelwe ngokukhethekile ukuzenza izipele nge-SAN ngeFiber Channel. Imininingo egciniwe enwetshiwe yokuhoxiswa iqinisekise ukubekezelelwa kwamaphutha kwamaseva emidiya, futhi ukuxhuma iseva ngayinye ku-CSV ngayinye kunikwe amandla ukusebenza okuqhubekayo uma noma iyiphi ingxenye yehlulekile. Isakhiwo sesistimu sivumela ukwenza isipele ukuthi kuqhubeke ngisho noma esinye sezikhungo zedatha siwa.

I-Patroni ichaza i-Primary node yeqoqo ngalinye. Kungaba yinoma iyiphi i-node yamahhala esikhungweni sedatha - kodwa ikakhulukazi. Kukhophi yasenqolobaneni, wonke ama-node awesibili.

Ukuze i-Commvault iqonde ukuthi iyiphi i-cluster node eyinhloko, sihlanganise uhlelo (sibonga ukwakheka okuvulekile kwesixazululo) ne-Postgres. Ngale njongo, kwakhiwe umbhalo obika indawo yamanje yenodi Eyinhloko kuseva yokuphatha ye-Commvault.

Ngokuvamile, inqubo ibonakala kanje:

U-Patroni ukhetha Okuyinhloko → I-Keepitalived ithatha iqoqo le-IP bese iqhuba iskripthi → i-ejenti ye-Commvault endaweni ekhethiwe ye-cluster ithola isaziso sokuthi lokhu Okuyinhloko → I-Commvault ihlela kabusha ngokuzenzakalelayo isipele ngaphakathi kweklayenti-mbumbulu.

Ungayifaka kanjani i-PostgreSQL “yamahhala” endaweni yebhizinisi enokhahlo
Inzuzo yale ndlela ukuthi isixazululo asithinti ukuvumelana, ukulunga kwamalogi, noma ukutholwa kwesibonelo se-Postgres. Iphinde inyuke kalula, ngoba akusadingeki ukulungisa amanodi e-Commvault Primary kanye naweSecondary. Kwanele ukuthi uhlelo luqonde ukuthi iPrimary ikuphi, futhi inani lama-node linganyuswa lifinyelele cishe kunoma yiliphi inani.

Isixazululo asizenzisi silungile futhi sinama-nuances aso. I-Commvault ingakwazi ukwenza ikhophi yasenqolobaneni sonke isenzakalo, hhayi isizindalwazi ngasinye. Ngakho-ke, isenzakalo esihlukile sidalwe kusizindalwazi ngasinye. Amaklayenti wangempela ahlanganiswe abe amaklayenti mbumbulu abonakalayo. Ikhasimende ngalinye mbumbulu le-Commvault liyiqoqo le-UNIX. Lawo ma-cluster node lapho kufakwe khona i-ejenti ye-Commvault ye-Postgres yengezwa kuwo. Ngenxa yalokho, wonke ama-virtual nodes we-pseudo-client asekelwa njengesibonelo esisodwa.

Ngaphakathi kwekhasimende mbumbulu ngalinye, i-node esebenzayo yeqoqo iyakhonjiswa. Yilokhu okuchazwa yisixazululo sethu sokuhlanganisa se-Commvault. Umgomo wokusebenza kwayo ulula: uma i-IP yeqoqo iphakanyiswa endaweni, umbhalo ubeka ipharamitha "ye-node esebenzayo" ku-agent ye-Commvault - empeleni, umbhalo ubeka "1" engxenyeni edingekayo yememori. . I-ejenti idlulisela le datha ku-CommServe, futhi i-Commvault yenza ikhophi yasenqolobaneni kusuka endaweni oyifunayo. Ngaphezu kwalokho, ukufaneleka kokucushwa kuhlolwa ezingeni leskripthi, okusiza ukugwema amaphutha lapho uqala ukwenza isipele.

Ngesikhathi esifanayo, isizindalwazi esikhulu sisekelwa amabhulokhi kuzo zonke izintambo eziningi, ukuhlangabezana ne-RPO kanye nezidingo zewindi lokulondoloza. Umthwalo ohlelweni awubalulekile: Amakhophi agcwele awaveli njalo, ngezinye izinsuku amalogi kuphela aqoqwa, futhi ngezikhathi zomthwalo ophansi.

Nokho, sisebenzise izinqubomgomo ezihlukene zokwenza ikhophi yasenqolobaneni yamalogu e-PostgreSQL - agcinwa ngokuvumelana nemithetho ehlukene, akopishwe ngokuvumelana neshejuli ehlukile, futhi ukuphindaphinda akuvunyelwe kuwo, njengoba lawa malogi aqukethe idatha eyingqayizivele.

Ukuqinisekisa ukungaguquguquki kuyo yonke ingqalasizinda ye-IT, amaklayenti wefayela le-Commvault afakiwe endaweni ngayinye yeqoqo. Abafaki amafayela e-Postgres kuzipele futhi zenzelwe kuphela i-OS nezipele zohlelo lokusebenza. Le ngxenye yedatha nayo inenqubomgomo yayo nesikhathi sokulondoloza.

Ungayifaka kanjani i-PostgreSQL “yamahhala” endaweni yebhizinisi enokhahlo
Njengamanje, i-IBS ayizithinti izinsizakalo zokukhiqiza, kodwa uma isimo sishintsha, i-Commvault inganika amandla ukukhawulela ukulayisha.

Ingabe kuhle? Kuhle!

Ngakho-ke, asitholanga nje kuphela okusebenzisekayo, kodwa futhi nesipele esizenzakalelayo esiphelele sokufakwa kweqoqo le-PostgreSQL, futhi lihlangabezana nazo zonke izidingo zezingcingo zebhizinisi.

Imingcele ye-RPO ne-RTO yehora elingu-1 namahora angu-2 ihlanganiswe ne-margin, okusho ukuthi uhlelo luzohambisana nayo ngisho nokwanda okukhulu kwevolumu yedatha egciniwe. Ngokuphambene nokungabaza okuningi, i-PostgreSQL kanye nemvelo yebhizinisi kuvele ukuthi iyahambisana. Futhi manje siyazi ngokuhlangenwe nakho kwethu ukuthi isipele sama-DBMS anjalo singenzeka ezinhlobonhlobo zokucushwa.

Yebo, kule ndlela kwakudingeka sigqoke amabhuzu ensimbi ayisikhombisa, sinqobe ubunzima obuningana, sinyathele amareki amaningana futhi silungise amaphutha amaningana. Kodwa manje indlela isivele ihloliwe futhi ingasetshenziswa ukusebenzisa i-Open Source esikhundleni se-DBMS yobunikazi ezimeni zebhizinisi ezinzima.

Uke wazama ukusebenza ne-PostgreSQL endaweni yebhizinisi?

Ababhali:

U-Oleg Lavrenov, unjiniyela wokuklama wezinhlelo zokugcina idatha, i-Jet Infosystems

UDmitry Erykin, unjiniyela wokuklama wezinhlelo zamakhompiyutha kwaJet Infosystems

Source: www.habr.com

Engeza amazwana