Momwe mungakwaniritsire "zaulere" PostgreSQL m'malo ovuta amabizinesi

Anthu ambiri amadziwa za PostgreSQL DBMS, ndipo yadziwonetsera yokha m'makhazikitsidwe ang'onoang'ono. Komabe, zomwe zikuchitika ku Open Source zadziwika bwino, ngakhale zikafika pamakampani akuluakulu komanso zofunikira zamabizinesi. M'nkhaniyi tikuuzani momwe mungaphatikizire Postgres m'malo ogwirira ntchito ndikugawana zomwe takumana nazo popanga zosunga zobwezeretsera (BSS) za database iyi pogwiritsa ntchito njira yosunga zobwezeretsera ya Commvault monga chitsanzo.

Momwe mungakwaniritsire "zaulere" PostgreSQL m'malo ovuta amabizinesi
PostgreSQL yatsimikizira kale kufunika kwake - DBMS imagwira ntchito bwino, imagwiritsidwa ntchito ndi mabizinesi apamwamba a digito monga Alibaba ndi TripAdvisor, ndipo kusowa kwa chindapusa cha ziphaso kumapangitsa kuti ikhale njira yoyesera yotengera zoopsa monga MS SQL kapena Oracle DB. Koma tikangoyamba kuganizira za PostgreSQL m'malo a Enterprise, nthawi yomweyo timakumana ndi zofunikira: "Nanga bwanji kulolerana kolakwika? kukana tsoka? ali kuti kuwunika kokwanira? Nanga bwanji zosunga zobwezeretsera zokha? Nanga bwanji kugwiritsa ntchito malaibulale a matepi mwachindunji komanso posungira ena?”

Momwe mungakwaniritsire "zaulere" PostgreSQL m'malo ovuta amabizinesi
Kumbali imodzi, PostgreSQL ilibe zida zosunga zobwezeretsera, monga ma DBMS "akuluakulu" monga RMAN ku Oracle DB kapena SAP Database Backup. Kumbali ina, ogulitsa makina osunga zobwezeretsera makampani (Veeam, Veritas, Commvault) ngakhale amathandizira PostgreSQL, kwenikweni amangogwira ntchito ndi kasinthidwe kake (kawirikawiri koyima) komanso ndi zoletsa zosiyanasiyana.

Makina osunga zosunga zobwezeretsera omwe amapangidwira PostgreSQL, monga Barman, Wal-g, pg_probackup, ndiwodziwika kwambiri pamakhazikitsidwe ang'onoang'ono a PostgreSQL DBMS kapena pomwe zosunga zolemetsa zazinthu zina za IT sizikufunika. Mwachitsanzo, kuwonjezera pa PostgreSQL, zomangamanga zingaphatikizepo ma seva akuthupi ndi enieni, OpenShift, Oracle, MariaDB, Cassandra, etc. Ndikoyenera kuthandizira zonsezi ndi chida wamba. Kuyika yankho lapadera la PostgreSQL ndi lingaliro loipa: deta idzakopera kwinakwake ku disk, ndiyeno iyenera kuchotsedwa pa tepi. Kusunga kawiri uku kumawonjezera nthawi yosunga zobwezeretsera, komanso, mozama kwambiri, nthawi yochira.

Mu njira yamabizinesi, zosunga zobwezeretsera zoyikapo zimachitika ndi ma node angapo mumagulu odzipereka. Nthawi yomweyo, mwachitsanzo, Commvault imatha kugwira ntchito ndi gulu lamagulu awiri, pomwe Pulayimale ndi Sekondale amapatsidwa ma node ena. Ndipo ndizomveka kusunga zosunga zobwezeretsera kuchokera ku Pulayimale, chifukwa zosunga zobwezeretsera kuchokera ku Sekondale zili ndi malire ake. Chifukwa cha mawonekedwe a DBMS, kutayira sikupangidwa pa Sekondale, chifukwa chake kuthekera kosunga mafayilo kumatsalira.

Kuti muchepetse chiopsezo cha nthawi yopuma, popanga dongosolo lolekerera zolakwika, makonzedwe a magulu a "moyo" amapangidwa, ndipo Primary imatha kusuntha pang'onopang'ono pakati pa ma seva osiyanasiyana. Mwachitsanzo, pulogalamu ya Patroni imayambitsa Primary pamagulu osankhidwa mwachisawawa. IBS ilibe njira yowonera izi kuchokera m'bokosi, ndipo ngati kasinthidwe kakusintha, njirazo zimasweka. Ndiko kuti, kukhazikitsidwa kwa ulamuliro wakunja kumalepheretsa ISR kugwira ntchito bwino, chifukwa seva yolamulira sichimamvetsetsa komwe ndi deta yomwe iyenera kukopera.

Vuto lina ndikukhazikitsa zosunga zobwezeretsera mu Postgres. Ndizotheka kudzera m'kutaya, ndipo imagwira ntchito pama database ang'onoang'ono. Koma m'ma database akuluakulu, kutaya kumatenga nthawi yaitali, kumafuna zinthu zambiri ndipo kungayambitse kulephera kwa deta.

Kusunga mafayilo kumawongolera momwe zinthu ziliri, koma pazosunga zazikulu zimachedwa chifukwa zimagwira ntchito yokhala ndi ulusi umodzi. Kuphatikiza apo, ogulitsa ali ndi zoletsa zingapo zowonjezera. Mwina simungagwiritse ntchito mafayilo ndikutaya zosunga zobwezeretsera nthawi imodzi, kapena kuchotsera sikuthandizidwa. Pali mavuto ambiri, ndipo nthawi zambiri zimakhala zosavuta kusankha DBMS yamtengo wapatali koma yotsimikiziridwa m'malo mwa Postgres.

Palibe kothawira! Opanga Moscow ali kumbuyo!

Komabe, posachedwapa gulu lathu linakumana ndi vuto lovuta: mu polojekiti yolenga AIS OSAGO 2.0, kumene tinapanga zomangamanga za IT, omangawo anasankha PostgreSQL pa dongosolo latsopano.

Ndizosavuta kuti opanga mapulogalamu akuluakulu agwiritse ntchito njira "zamakono" zotseguka. Facebook ili ndi akatswiri okwanira kuti athandizire kugwira ntchito kwa DBMS iyi. Ndipo ku RSA, ntchito zonse za "tsiku lachiwiri" zidagwera pamapewa athu. Tinkafunika kuonetsetsa kulekerera zolakwika, kusonkhanitsa gulu, ndipo, ndithudi, kukhazikitsa zosunga zobwezeretsera. Logic yochitapo kanthu inali motere:

  • Phunzitsani SRK kupanga zosunga zobwezeretsera kuchokera ku Primary node ya cluster. Kuti muchite izi, SRK iyenera kuyipeza - zomwe zikutanthauza kuti kuphatikizana ndi imodzi kapena ina PostgreSQL cluster management solution ikufunika. Pankhani ya RSA, mapulogalamu a Patroni adagwiritsidwa ntchito pa izi.
  • Sankhani mtundu wa zosunga zobwezeretsera kutengera kuchuluka kwa deta ndi zofunika kuchira. Mwachitsanzo, pamene mukufuna kubwezeretsa masamba granularly, ntchito kutayira, ndipo ngati Nawonso achichepere ndi lalikulu ndi granular kubwezeretsa sikufunika, ntchito pa mlingo wapamwamba.
  • Gwirizanitsani kuthekera kosunga zosunga zobwezeretsera ku yankho kuti mupange kopi yosunga zobwezeretsera mumachitidwe amitundu yambiri.

Panthawi imodzimodziyo, poyamba tinayamba kupanga dongosolo logwira mtima komanso losavuta popanda kugwiritsira ntchito zida zowonjezera. Ndodo zocheperako, kuchepa kwa ntchito kwa ogwira ntchito komanso kumachepetsa chiopsezo cha IBS kulephera. Nthawi yomweyo tidasiya njira zomwe zidagwiritsa ntchito Veeam ndi RMAN, chifukwa mayankho awiri akuwonetsa kale kusadalirika kwadongosolo.

Matsenga pang'ono abizinesi

Chifukwa chake, tidafunikira kutsimikizira zosunga zobwezeretsera zodalirika zamagulu 10 a node 3 iliyonse, yokhala ndi mawonekedwe omwewo omwe amawonetsedwa muzosunga zosunga zobwezeretsera. Malo opangira data malinga ndi PostgreSQL amagwira ntchito pa mfundo yogwira ntchito. Chiwerengero chonse cha database chinali 50 TB. Dongosolo lililonse loyang'anira makampani limatha kuthana ndi izi. Koma chenjezo ndikuti poyambirira Postgres alibe chidziwitso chokwanira komanso chozama ndi machitidwe osunga zobwezeretsera. Chifukwa chake, tidayenera kuyang'ana yankho lomwe poyamba linali ndi magwiridwe antchito kwambiri molumikizana ndi PostgreSQL, ndikuyeretsa dongosolo.

Tidakhala ndi "ma hackathons" atatu amkati - tidayang'ana zochitika zopitilira makumi asanu, tidaziyesa, tidapanga masinthidwe okhudzana ndi malingaliro athu, ndikuyesanso. Titawunikiranso zomwe zilipo, tidasankha Commvault. Kuchokera m'bokosilo, izi zitha kugwira ntchito ndi kukhazikitsa kosavuta kwamagulu a PostgreSQL, ndipo mapangidwe ake otseguka adadzutsa ziyembekezo (zomwe zinali zomveka) kuti zitukuke bwino komanso kuphatikiza. Commvault imathanso kusunga zipika za PostgreSQL. Mwachitsanzo, Veritas NetBackup malinga ndi PostgreSQL imatha kupanga zosunga zobwezeretsera zonse.

Zambiri za zomangamanga. Ma seva oyang'anira Commvault adayikidwa m'malo aliwonse awiriwa pamakonzedwe a CommServ HA. Dongosololi limawonetsedwa, limayendetsedwa kudzera pa kontrakitala imodzi ndipo, kuchokera pamalingaliro a HA, limakwaniritsa zofunikira zonse zamabizinesi.

Momwe mungakwaniritsire "zaulere" PostgreSQL m'malo ovuta amabizinesi
Tidayambitsanso ma seva awiri amtundu wapakatikati pa data iliyonse, komwe tidalumikizako ma disk arrays ndi malaibulale a tepi opatulidwira ma backups kudzera pa SAN kudzera pa Fiber Channel. Zosungirako zowonjezera zowonjezera zimatsimikizira kulolerana kwa ma seva atolankhani, ndipo kulumikiza seva iliyonse ku CSV iliyonse kumapangitsa kuti ntchito ipitirire ngati gawo lililonse lalephera. Zomangamanga zamakina zimalola zosunga zobwezeretsera kuti zipitirire ngakhale imodzi mwama data itagwa.

Patroni amatanthawuza Node Yoyambira pamagulu aliwonse. Itha kukhala node iliyonse yaulere mu data center - koma makamaka. Mu zosunga zobwezeretsera, node zonse ndi Zachiwiri.

Kuti Commvault imvetse kuti ndi masango ati omwe ali Pulayimale, tidaphatikizira dongosolo (chifukwa cha momwe yankholo lilili lotseguka) ndi Postgres. Pachifukwa ichi, script idapangidwa yomwe imafotokoza komwe kuli Node Yoyambira ku seva yoyang'anira Commvault.

Kawirikawiri, ndondomekoyi ikuwoneka motere:

Patroni amasankha Primary β†’ Keepalved amatenga gulu la IP ndikuyendetsa script β†’ wothandizira Commvault pa node yosankhidwa amalandira chidziwitso kuti iyi ndiye Primary β†’ Commvault imangokonzanso zosunga zobwezeretsera mkati mwa kasitomala wachinyengo.

Momwe mungakwaniritsire "zaulere" PostgreSQL m'malo ovuta amabizinesi
Ubwino wa njirayi ndikuti yankho silimakhudza kusasinthika, kulondola kwa zipika, kapena kubwezeretsanso chitsanzo cha Postgres. Imachulukiranso mosavuta, chifukwa sikofunikiranso kukonza ma node a Commvault Primary ndi Secondary. Ndikokwanira kuti dongosololi limamvetsetsa komwe Primary ali, ndipo chiwerengero cha node chikhoza kuwonjezeredwa pafupifupi mtengo uliwonse.

Yankho lake silimadzinamizira kukhala labwino ndipo lili ndi ma nuances ake. Commvault ikhoza kungosunga zochitika zonse, osati nkhokwe zapadera. Chifukwa chake, chitsanzo chosiyana chinapangidwa pa database iliyonse. Makasitomala enieni amaphatikizidwa kukhala makasitomala achinyengo. Aliyense Commvault pseudo-kasitomala ndi gulu la UNIX. Magulu amagulu omwe wothandizira wa Commvault wa Postgres amawonjezedwa. Zotsatira zake, ma node onse a pseudo-client amathandizidwa ngati chitsanzo chimodzi.

Mkati mwa pseudo-kasitomala aliyense, mfundo yogwira ntchito ya tsango imawonetsedwa. Izi ndi zomwe yankho lathu lophatikizana la Commvault limafotokoza. Mfundo ya ntchito yake ndiyosavuta: ngati gulu la IP likwezedwa pa node, script imayika "active node" parameter mu Commvault agent binary - kwenikweni, script imayika "1" mu gawo lofunikira la kukumbukira. . Wothandizira amatumiza izi ku CommServe, ndipo Commvault amapanga zosunga zobwezeretsera kuchokera kumalo omwe akufuna. Kuphatikiza apo, kulondola kwa kasinthidwe kumafufuzidwa pamlingo wa script, kuthandiza kupewa zolakwika poyambitsa zosunga zobwezeretsera.

Nthawi yomweyo, nkhokwe zazikulu zimasungidwa mu midadada kudutsa ulusi wambiri, kukumana ndi RPO ndi zofunikira zazenera zosunga zobwezeretsera. Katundu padongosolo ndi wocheperako: Makope athunthu samachitika nthawi zambiri, masiku ena zipika zokha zimasonkhanitsidwa, komanso panthawi ya katundu wochepa.

Mwa njira, tagwiritsira ntchito ndondomeko zosiyana zosungira zolemba zakale za PostgreSQL - zimasungidwa motsatira malamulo osiyanasiyana, zimakopera malinga ndi ndondomeko yosiyana, ndipo kubwereza sikuloledwa kwa iwo, popeza mitengoyi ili ndi deta yapadera.

Kuti muwonetsetse kusasinthika kwazinthu zonse za IT, makasitomala amtundu wa Commvault amayikidwa pagulu lililonse lamagulu. Amapatula mafayilo a Postgres pazosunga zosunga zobwezeretsera ndipo amangopangidwira OS ndi zosunga zobwezeretsera. Gawo ili la deta limakhalanso ndi ndondomeko yake ndi nthawi yosungira.

Momwe mungakwaniritsire "zaulere" PostgreSQL m'malo ovuta amabizinesi
Pakadali pano, IBS simakhudza ntchito zopanga, koma ngati zinthu zisintha, Commvault imatha kuletsa kuchepetsa katundu.

Ndi zabwino? Zabwino!

Chifukwa chake, sitinangolandira zongogwira ntchito, komanso zosunga zobwezeretsera zokha pakukhazikitsa masango a PostgreSQL, ndipo zimakwaniritsa zofunikira zonse zamabizinesi.

Magawo a RPO ndi RTO a ola la 1 ndi maola a 2 ali ndi malire, zomwe zikutanthauza kuti dongosololi lidzawatsatira ngakhale ndi kuwonjezeka kwakukulu kwa chiwerengero cha deta yosungidwa. Mosiyana ndi zokayikitsa zambiri, PostgreSQL ndi malo amabizinesi zidakhala zogwirizana. Ndipo tsopano tikudziwa kuchokera pazomwe takumana nazo kuti zosunga zobwezeretsera za DBMS zotere ndizotheka pamasinthidwe osiyanasiyana.

Zowona, m'njira iyi tidayenera kuvala nsapato zisanu ndi ziwiri zachitsulo, kuthana ndi zovuta zingapo, kuponda ma rakes angapo ndikuwongolera zolakwika zingapo. Koma tsopano njirayo yayesedwa kale ndipo ingagwiritsidwe ntchito kukhazikitsa Open Source m'malo mwa DBMS yaumwini m'mabizinesi ovuta.

Kodi mwayesapo kugwira ntchito ndi PostgreSQL m'malo ogwirira ntchito?

Olemba:

Oleg Lavrenov, wopanga makina osungira deta, Jet Infosystems

Dmitry Erykin, wopanga makina apakompyuta ku Jet Infosystems

Source: www.habr.com

Kuwonjezera ndemanga