Yuav ua li cas kom haum "dawb" PostgreSQL rau hauv ib puag ncig kev lag luam hnyav

Ntau tus neeg paub txog PostgreSQL DBMS, thiab nws tau ua pov thawj nws tus kheej hauv kev teeb tsa me me. Txawm li cas los xij, qhov sib txawv ntawm Open Source tau dhau los ua qhov tseeb, txawm tias nws los txog rau cov tuam txhab loj thiab cov kev xav tau ntawm kev lag luam. Hauv tsab xov xwm no peb yuav qhia koj yuav ua li cas koom nrog Postgres rau hauv ib puag ncig kev lag luam thiab qhia peb cov kev paub ntawm kev tsim cov txheej txheem thaub qab (BSS) rau cov ntaub ntawv no siv Commvault backup system ua piv txwv.

Yuav ua li cas kom haum "dawb" PostgreSQL rau hauv ib puag ncig kev lag luam hnyav
PostgreSQL twb tau ua pov thawj tias nws tsim nyog - DBMS ua haujlwm zoo, nws yog siv los ntawm cov lag luam digital xws li Alibaba thiab TripAdvisor, thiab qhov tsis muaj cov nqi ntawv tso cai ua rau nws muaj lwm txoj hauv kev rau cov dab xws li MS SQL lossis Oracle DB. Tab sis sai li sai tau thaum peb pib xav txog PostgreSQL hauv Enterprise toj roob hauv pes, peb tam sim ntawd khiav mus rau hauv cov kev cai nruj: "Dab tsi txog kev teeb tsa kev ua txhaum cai? kev puas tsuaj? Qhov kev saib xyuas dav dav nyob qhov twg? Yuav ua li cas rau automated backups? Yuav ua li cas txog kev siv daim kab xev tsev qiv ntawv ob qho tib si ncaj qha thiab ntawm qhov chaw cia khoom thib ob?

Yuav ua li cas kom haum "dawb" PostgreSQL rau hauv ib puag ncig kev lag luam hnyav
Ntawm ib sab, PostgreSQL tsis muaj cov cuab yeej thaub qab, zoo li "tus neeg laus" DBMSs xws li RMAN hauv Oracle DB lossis SAP Database Backup. Ntawm qhov tod tes, cov neeg muag khoom ntawm cov tuam txhab thaub qab (Veeam, Veritas, Commvault) txawm hais tias lawv txhawb nqa PostgreSQL, qhov tseeb lawv tsuas yog ua haujlwm nrog qee yam (feem ntau standalone) kev teeb tsa thiab nrog ntau yam kev txwv.

Cov txheej txheem thaub qab tshwj xeeb tsim los rau PostgreSQL, xws li Barman, Wal-g, pg_probackup, yog qhov nrov heev hauv kev teeb tsa me me ntawm PostgreSQL DBMS lossis qhov twg hnyav thaub qab ntawm lwm cov ntsiab lus ntawm IT toj roob hauv pes tsis xav tau. Piv txwv li, ntxiv rau PostgreSQL, cov txheej txheem yuav suav nrog lub cev thiab virtual servers, OpenShift, Oracle, MariaDB, Cassandra, thiab lwm yam. Nws yog ib advisable mus thaub qab tag nrho cov no nrog ib tug ntau yam cuab yeej. Txhim kho cov kev daws teeb meem tshwj xeeb rau PostgreSQL yog lub tswv yim tsis zoo: cov ntaub ntawv yuav raug theej ib qho chaw rau disk, thiab tom qab ntawd nws yuav tsum tau muab tshem tawm rau daim kab xev. Qhov kev thaub qab ob npaug no ua rau lub sijhawm thaub qab, thiab tseem ceeb dua, lub sijhawm rov qab los.

Hauv kev daws teeb meem kev lag luam, thaub qab ntawm kev teeb tsa tshwm sim nrog qee tus lej ntawm cov nodes hauv pawg tshwj xeeb. Nyob rau tib lub sijhawm, piv txwv li, Commvault tsuas tuaj yeem ua haujlwm nrog ob-node pawg, nyob rau hauv uas Lub Tsev Kawm Ntawv Qib Siab thiab Secondary tau nruj me ntsis rau qee cov nodes. Thiab nws tsuas yog ua rau kev nkag siab zoo rau thaub qab los ntawm Thawj Tswj Hwm, vim tias thaub qab los ntawm Secondary muaj nws cov kev txwv. Vim yog qhov peculiarities ntawm DBMS, lub pob pov tseg tsis tsim nyob rau theem nrab, thiab yog li ntawd tsuas yog qhov ua tau ntawm cov ntaub ntawv thaub qab tseem nyob.

Txhawm rau txo qhov kev pheej hmoo ntawm kev poob qis, thaum tsim lub kaw lus tsis raug cai, "nyob" pawg teeb tsa raug tsim, thiab Cov Thawj Coj tuaj yeem maj mam tsiv ntawm cov servers sib txawv. Piv txwv li, Patroni software nws tus kheej tso tawm Thawj Tswj Hwm ntawm ib qho kev xaiv xaiv pawg. IBS tsis muaj txoj hauv kev los taug qab qhov no tawm ntawm lub thawv, thiab yog tias qhov hloov pauv hloov, cov txheej txheem tawg. Ntawd yog, kev taw qhia txog kev tswj hwm sab nraud tiv thaiv ISR los ntawm kev ua haujlwm zoo, vim tias tus tswj hwm tsis nkag siab qhov twg thiab cov ntaub ntawv twg yuav tsum tau theej los ntawm.

Lwm qhov teeb meem yog kev siv cov thaub qab hauv Postgres. Nws yog ua tau los ntawm cov pov tseg, thiab nws ua haujlwm ntawm cov ntaub ntawv me me. Tab sis nyob rau hauv cov ntaub ntawv loj, cov pov tseg yuav siv sij hawm ntev, yuav tsum muaj ntau yam kev pab thiab tuaj yeem ua rau tsis ua haujlwm ntawm cov ntaub ntawv piv txwv.

Cov ntaub ntawv thaub qab kho qhov teeb meem no, tab sis ntawm cov ntaub ntawv loj loj nws qeeb vim nws ua haujlwm hauv hom xov ib leeg. Tsis tas li ntawd, cov neeg muag khoom muaj ntau qhov kev txwv ntxiv. Txawm hais tias koj tsis tuaj yeem siv cov ntaub ntawv thiab pov tseg cov ntaub ntawv pov tseg tib lub sijhawm, lossis tsis txaus siab deduplication. Muaj ntau yam teeb meem, thiab feem ntau nws yooj yim dua los xaiv ib qho kim tab sis pov thawj DBMS es tsis txhob Postgres.

Tsis muaj qhov twg rov qab! Moscow developers yog qab!

Txawm li cas los xij, tsis ntev los no peb pab neeg tau ntsib qhov kev sib tw nyuaj: hauv txoj haujlwm tsim AIS OSAGO 2.0, qhov twg peb tsim IT infrastructure, cov neeg tsim khoom xaiv PostgreSQL rau cov kab ke tshiab.

Nws yog qhov yooj yim dua rau cov neeg tsim kho software loj los siv "trendy" qhib qhov kev daws teeb meem. Facebook muaj cov kws tshaj lij txaus los txhawb kev ua haujlwm ntawm DBMS no. Thiab nyob rau hauv rooj plaub ntawm RSA, tag nrho cov haujlwm ntawm "hnub thib ob" poob rau ntawm peb lub xub pwg nyom. Peb yuav tsum tau ua kom muaj kev zam txim, sib sau ua ke thiab, tau kawg, teeb tsa thaub qab. Lub logic ntawm kev txiav txim yog raws li nram no:

  • Qhia SRK kom ua cov ntaub ntawv thaub qab los ntawm Pawg Thawj Coj ntawm pawg. Txhawm rau ua qhov no, SRK yuav tsum pom nws - uas txhais tau tias kev koom ua ke nrog ib lossis lwm PostgreSQL pawg tswj kev daws teeb meem yog xav tau. Hauv rooj plaub ntawm RSA, Patroni software tau siv rau qhov no.
  • Txiav txim siab txog hom thaub qab raws li qhov ntim ntawm cov ntaub ntawv thiab cov kev xav tau rov qab. Piv txwv li, thaum koj xav tau rov qab cov nplooj ntawv granularly, siv cov pob tseg, thiab yog tias cov ntaub ntawv loj thiab cov ntaub ntawv rov qab tsis tas yuav tsum tau ua, ua haujlwm ntawm cov ntaub ntawv qib.
  • Txuas qhov ua tau ntawm thaiv thaub qab rau cov kev daws teeb meem los tsim cov ntawv luam theej tawm hauv ntau txoj xov.

Nyob rau tib lub sijhawm, peb pib tsim tawm los tsim kom muaj txiaj ntsig zoo thiab yooj yim uas tsis muaj kev sib tw monstrous ntawm cov khoom ntxiv. Cov crutches tsawg dua, kev ua haujlwm tsawg dua ntawm cov neeg ua haujlwm thiab qhov kev pheej hmoo ntawm IBS tsis ua haujlwm. Peb tam sim ntawd tshem tawm txoj hauv kev uas siv Veeam thiab RMAN, vim hais tias ib txheej ntawm ob txoj kev daws teeb meem twb qhia txog qhov tsis ntseeg ntawm qhov system.

Me ntsis khawv koob rau kev lag luam

Yog li, peb xav tau los lav txhim khu kev qha thaub qab rau 10 pawg ntawm 3 ntawm txhua tus, nrog rau tib qho kev tsim kho hauv qhov chaw khaws ntaub ntawv thaub qab. Cov chaw khaws ntaub ntawv hais txog PostgreSQL ua haujlwm ntawm lub hauv paus ntsiab lus nquag-passive. Tag nrho cov ntaub ntawv loj yog 50 TB. Txhua lub tuam txhab-theem tswj system tuaj yeem daws tau yooj yim nrog qhov no. Tab sis qhov caveat yog qhov pib Postgres tsis muaj qhov tsis txaus ntseeg rau tag nrho thiab sib sib zog nqus sib xyaw nrog cov txheej txheem thaub qab. Yog li ntawd, peb yuav tsum nrhiav kev daws teeb meem uas pib muaj qhov ua haujlwm siab tshaj plaws ua ke nrog PostgreSQL, thiab kho qhov system.

Peb tuav 3 sab hauv "hackathons" - peb tau saib ntau tshaj li tsib caug qhov kev txhim kho, sim lawv, hloov pauv nrog peb cov kev xav, thiab sim lawv dua. Tom qab tshuaj xyuas cov kev xaiv muaj, peb xaiv Commvault. Tawm ntawm lub thawv, cov khoom no tuaj yeem ua haujlwm nrog qhov yooj yim tshaj plaws PostgreSQL pawg installation, thiab nws qhib architecture tsa kev cia siab (uas tau tsim nyog) rau kev vam meej thiab kev koom ua ke. Commvault tseem tuaj yeem thaub qab PostgreSQL cav. Piv txwv li, Veritas NetBackup nyob rau hauv cov nqe lus ntawm PostgreSQL tsuas tuaj yeem ua tag nrho cov thaub qab.

Xav paub ntau ntxiv txog architecture. Commvault tswj servers tau teeb tsa hauv txhua qhov ntawm ob lub chaw khaws ntaub ntawv hauv CommServ HA teeb tsa. Lub kaw lus yog mirrored, tswj los ntawm ib lub console thiab, los ntawm HA point of view, ua tau raws li tag nrho cov lag luam yuav tsum tau.

Yuav ua li cas kom haum "dawb" PostgreSQL rau hauv ib puag ncig kev lag luam hnyav
Peb kuj tau tsim ob lub cev tawm xov xwm hauv txhua qhov chaw cov ntaub ntawv, uas peb txuas nrog disk arrays thiab cov tsev qiv ntawv kab xev tshwj xeeb rau kev thaub qab ntawm SAN ntawm Fiber Channel. Txuas ntxiv deduplication databases tau lees paub qhov ua txhaum cai ntawm media servers, thiab txuas txhua tus neeg rau zaub mov rau txhua CSV tau ua haujlwm txuas ntxiv yog tias muaj kev cuam tshuam tsis tiav. Lub system architecture tso cai rau thaub qab mus ntxiv txawm tias ib qho ntawm cov chaw zov me nyuam poob.

Patroni txhais ib lub hauv paus rau txhua pawg. Nws tuaj yeem yog cov node dawb hauv cov ntaub ntawv chaw - tab sis tsuas yog feem ntau. Hauv kev thaub qab, tag nrho cov nodes yog Secondary.

Txhawm rau Commvault kom nkag siab txog cov pawg ntawm pawg twg yog Thawj Tswj Hwm, peb tau koom ua ke lub kaw lus (ua tsaug rau kev qhib cov qauv kev daws teeb meem) nrog Postgres. Rau lub hom phiaj no, ib tsab ntawv tau tsim los qhia txog qhov chaw tam sim no ntawm Lub Tsev Haujlwm Tseem Ceeb rau Commvault tswj server.

Feem ntau, cov txheej txheem zoo li no:

Patroni xaiv Primary β†’ Keepalived khaws cov IP pawg thiab sau tsab ntawv β†’ Commvault tus neeg sawv cev ntawm pawg pawg xaiv tau txais kev ceeb toom tias qhov no yog Thawj Tswj Hwm β†’ Commvault tau rov kho cov thaub qab hauv pseudo-neeg siv khoom.

Yuav ua li cas kom haum "dawb" PostgreSQL rau hauv ib puag ncig kev lag luam hnyav
Qhov zoo ntawm txoj hauv kev no yog qhov kev daws teeb meem tsis cuam tshuam rau qhov sib xws, qhov tseeb ntawm cov cav, lossis rov qab los ntawm Postgres piv txwv. Nws kuj yog ib qho yooj yim scalable, vim hais tias nws tsis yog yuav tsum tau kho lub Commvault Primary thiab Secondary nodes. Nws yog qhov txaus uas lub kaw lus nkag siab qhov twg Thawj Tswj Hwm yog, thiab tus naj npawb ntawm cov nodes tuaj yeem nce mus rau yuav luag txhua tus nqi.

Cov tshuaj tsis ua txuj ua zoo tagnrho thiab muaj nws tus kheej nuances. Commvault tsuas tuaj yeem backup tag nrho cov piv txwv, thiab tsis yog ib tus neeg databases. Yog li ntawd, ib qho piv txwv cais tau tsim rau txhua qhov database. Cov neeg siv khoom tiag tau muab tso ua ke rau hauv cov neeg siv khoom siv virtual pseudo. Txhua Commvault pseudo-neeg siv khoom yog UNIX pawg. Cov pawg nodes uas tus Commvault tus neeg sawv cev rau Postgres raug muab ntxiv rau nws. Raws li qhov tshwm sim, tag nrho cov nodes virtual ntawm pseudo-tus neeg siv khoom tau rov qab ua ib qho piv txwv.

Nyob rau hauv txhua tus pseudo-neeg siv khoom, lub active node ntawm pawg yog qhia. Qhov no yog qhov peb qhov kev sib koom ua ke rau Commvault txhais. Lub hauv paus ntsiab lus ntawm nws txoj haujlwm yog qhov yooj yim heev: yog tias ib pawg IP raug tsa ntawm lub node, tsab ntawv teev cov "active node" parameter hauv Commvault tus neeg sawv cev binary - qhov tseeb, tsab ntawv teev "1" hauv qhov xav tau ntawm lub cim xeeb. . Tus neeg sawv cev xa cov ntaub ntawv no mus rau CommServe, thiab Commvault ua ib qho thaub qab los ntawm qhov xav tau. Tsis tas li ntawd, qhov tseeb ntawm kev teeb tsa raug kuaj xyuas ntawm qib ntawv, pab kom tsis txhob muaj qhov yuam kev thaum pib thaub qab.

Nyob rau tib lub sijhawm, cov ntaub ntawv loj loj tau rov qab rau hauv cov blocks hla ntau cov xov, ua tau raws li RPO thiab cov kev xav tau ntawm lub qhov rais thaub qab. Kev thauj khoom ntawm qhov system tsis tseem ceeb: Cov ntawv luam tag nrho tsis tshwm sim ntau zaus, nyob rau lwm hnub tsuas yog sau cov cav, thiab thaum lub sijhawm thauj khoom tsawg.

Los ntawm txoj kev, peb tau siv cov cai sib cais rau thaub qab PostgreSQL archive cav - lawv tau khaws cia raws li cov cai sib txawv, theej raws li lub sijhawm sib txawv, thiab kev rho tawm tsis tau qhib rau lawv, txij li cov cav no muaj cov ntaub ntawv tshwj xeeb.

Txhawm rau kom muaj kev sib raug zoo thoob plaws IT infrastructure, cais cov neeg siv cov ntaub ntawv Commvault raug teeb tsa rau ntawm txhua pawg ntawm pawg. Lawv cais Postgres cov ntaub ntawv los ntawm kev thaub qab thiab tsuas yog npaj rau OS thiab daim ntawv thov thaub qab. Ib feem ntawm cov ntaub ntawv no kuj muaj nws tus kheej txoj cai thiab lub sijhawm khaws cia.

Yuav ua li cas kom haum "dawb" PostgreSQL rau hauv ib puag ncig kev lag luam hnyav
Tam sim no, IBS tsis cuam tshuam rau cov kev pabcuam tsim khoom, tab sis yog tias qhov xwm txheej hloov pauv, Commvault tuaj yeem pab txhawb nqa kev txwv.

Puas yog zoo? Zoo!

Yog li, peb tau txais tsis yog tsuas yog ua haujlwm tau xwb, tab sis kuj tseem muaj lub tshuab ua haujlwm tag nrho rau kev teeb tsa PostgreSQL pawg, thiab nws ua tau raws li txhua qhov kev xav tau rau kev hu xov tooj rau kev lag luam.

Lub RPO thiab RTO tsis nyob ntawm 1 teev thiab 2 teev yog them nrog cov npoo, uas txhais tau hais tias lub kaw lus yuav ua raws li lawv txawm tias muaj qhov nce ntxiv ntawm cov ntaub ntawv khaws cia. Contrary to ntau tsis ntseeg, PostgreSQL thiab lub lag luam ib puag ncig muab tau zoo heev. Thiab tam sim no peb paub los ntawm peb tus kheej cov kev paub dhau los tias kev thaub qab rau DBMSs yog ua tau nyob rau hauv ntau yam kev teeb tsa.

Ntawm chav kawm, nyob rau hauv txoj kev no peb yuav tsum tau hnav xya nkawm khau hlau, kov yeej ntau yam teeb meem, nqis rau ob peb rakes thiab kho ntau qhov yuam kev. Tab sis tam sim no txoj hauv kev twb tau sim thiab tuaj yeem siv los siv Open Source es tsis yog tus tswv DBMS hauv kev lag luam hnyav.

Koj puas tau sim ua haujlwm nrog PostgreSQL hauv ib puag ncig koom nrog?

Tus sau phau ntawv:

Oleg Lavrenov, tus tsim engineer ntawm cov ntaub ntawv khaws cia, Jet Infosystems

Dmitry Erykin, tus tsim engineer ntawm computer systems ntawm Jet Infosystems

Tau qhov twg los: www.hab.com

Ntxiv ib saib