Muaj coob tus neeg paub txog PostgreSQL database management system, thiab nws tau ua pov thawj nws tus kheej hauv kev teeb tsa me me. Txawm li cas los xij, qhov sib txawv ntawm qhov qhib qhov chaw tau pom tseeb dua, txawm tias rau cov tuam txhab loj thiab cov kev xav tau ntawm cov tuam txhab. Hauv tsab xov xwm no, peb yuav piav qhia txog yuav ua li cas koom ua ke Postgres rau hauv ib puag ncig ntawm cov tuam txhab thiab qhia peb qhov kev paub tsim ib lub kaw lus thaub qab (BSS) rau lub database no, siv Commvault backup system ua piv txwv.

PostgreSQL twb tau ua pov thawj tias nws muaj nqis lawm—DBMS ua haujlwm zoo heev, nws siv los ntawm cov lag luam digital niaj hnub xws li Alibaba thiab TripAdvisor, thiab qhov tsis muaj nqi tso cai ua rau nws yog lwm txoj hauv kev zoo rau cov tuam txhab loj xws li MS SQL lossis Oracle DB. Tab sis thaum peb pib xav txog PostgreSQL hauv thaj chaw ua lag luam, peb tam sim ntawd khiav mus rau hauv cov kev cai nruj: "Ua li cas txog kev ua kom tsis raug teeb tsa? Kev rov qab los ntawm kev puas tsuaj? Kev saib xyuas tag nrho nyob qhov twg? Ua li cas txog kev thaub qab tsis siv neeg? Ua li cas txog kev siv cov tsev qiv ntawv kab xev, ob qho tib si ncaj qha thiab ua qhov chaw cia thib ob?"

Ntawm ib sab tes, PostgreSQL tsis muaj cov cuab yeej thaub qab ua ke zoo li "paub tab" DBMSs zoo li RMAN hauv Oracle DB lossis SAP Database Backup. Ntawm qhov tod tes, thaum cov chaw muab kev pabcuam thaub qab hauv tuam txhab (Veeam, Veritas, Commvault) txhawb nqa PostgreSQL, lawv tsuas yog ua haujlwm nrog kev teeb tsa tshwj xeeb (feem ntau yog standalone) thiab ntau yam kev txwv.
Cov txheej txheem thaub qab tshwj xeeb rau PostgreSQL xws li Barman, Wal-g, thiab pg_probackup nrov heev hauv cov chaw me me PostgreSQL lossis qhov twg tsis tas yuav tsum muaj cov thaub qab hnyav ntawm lwm cov ntsiab lus IT. Piv txwv li, ntxiv rau PostgreSQL, cov khoom siv hauv paus yuav suav nrog lub cev thiab virtual cov neeg rau zaub mov, OpenShift, Oracle, MariaDB, Cassandra, thiab lwm yam. Nws yog qhov zoo tshaj plaws los thaub qab tag nrho cov no siv cov cuab yeej thaub qab sib xws. Kev xa tawm cov kev daws teeb meem sib cais rau PostgreSQL yog lub tswv yim tsis zoo: cov ntaub ntawv yuav raug theej rau disk qhov twg, thiab tom qab ntawd yuav tsum tau tsiv mus rau daim kab xev. Qhov kev rov ua dua ntawm cov thaub qab no ua rau lub sijhawm thaub qab ntau ntxiv thiab, qhov tseem ceeb dua, lub sijhawm rov qab.
Hauv kev daws teeb meem lag luam, kev thaub qab kev teeb tsa tshwm sim thoob plaws qee tus lej ntawm cov nodes hauv ib pawg tshwj xeeb. Txawm li cas los xij, Commvault, piv txwv li, tsuas yog ua haujlwm nrog ob-node cluster, uas cov nodes thawj thiab thib ob tau muab faib ua ntu zus. Ntxiv mus, nws tsuas yog ua rau muaj kev nkag siab los thaub qab cov node thawj, vim tias cov thaub qab los ntawm cov node thib ob muaj lawv cov kev txwv. Vim yog qhov tshwj xeeb ntawm DBMS, ib qho dump tsis raug tsim rau ntawm cov node thib ob, yog li tsuas yog cov ntaub ntawv thaub qab xwb thiaj muaj.
Yuav kom txo tau qhov kev pheej hmoo ntawm lub sijhawm tsis ua haujlwm, ib qho kev teeb tsa pawg "nyob" raug tsim thaum tsim ib lub kaw lus uas tsis ua haujlwm, thiab tus thawj tuaj yeem maj mam tsiv mus rau ntau lub servers sib txawv. Piv txwv li, Patroni software cia li tso tus thawj ntawm ib qho cluster node uas xaiv tsis raws cai. SRK tsis muaj txoj hauv kev los saib xyuas qhov no tawm ntawm lub thawv, thiab yog tias qhov kev teeb tsa hloov pauv, cov txheej txheem tawg. Qhov no txhais tau tias kev siv kev tswj hwm sab nraud cuam tshuam rau SRK txoj kev ua haujlwm, vim tias tus neeg rau zaub mov tswj hwm tsuas yog tsis nkag siab tias cov ntaub ntawv twg yuav tsum tau theej los ntawm qhov twg.
Lwm qhov teeb meem yog qhov kev siv thaub qab hauv Postgres. Qhov no ua tau los ntawm kev pov tseg, thiab nws ua haujlwm rau cov ntaub ntawv me me. Txawm li cas los xij, rau cov ntaub ntawv loj dua, kev pov tseg siv sijhawm ntev, xav tau ntau cov peev txheej, thiab tuaj yeem ua rau lub hauv paus ntaub ntawv tsis ua haujlwm.
Cov ntaub ntawv thaub qab txhim kho qhov teeb meem, tab sis ntawm cov ntaub ntawv loj lawv qeeb vim lawv ua haujlwm hauv hom ib-threaded. Ntxiv mus, cov neeg muag khoom tsim ntau yam kev txwv ntxiv. Piv txwv li, lawv tsis tuaj yeem siv cov ntaub ntawv thiab cov ntaub ntawv thaub qab tib lub sijhawm, lossis lawv tsis txhawb nqa kev tshem tawm cov ntaub ntawv theej. Cov teeb meem muaj ntau heev, thiab nws feem ntau yooj yim dua los xaiv DBMS kim tab sis tau lees paub es tsis txhob Postgres.
Tsis muaj kev tig rov qab! Cov neeg tsim khoom hauv Moscow nyob tom qab peb!
Txawm li cas los xij, peb pab neeg nyuam qhuav ntsib teeb meem nyuaj: hauv qhov project los tsim AIS OSAGO 2.0, qhov chaw uas peb tau tsim cov IT infrastructure, cov neeg tsim khoom tau xaiv PostgreSQL rau lub kaw lus tshiab.
Cov neeg tsim khoom software loj pom tias nws yooj yim dua los siv cov kev daws teeb meem qhib tshiab. Piv txwv li, Facebook muaj ntau tus kws tshaj lij hauv cov neeg ua haujlwm txhawb nqa DBMS no. Tab sis hauv rooj plaub ntawm RSA, txhua txoj haujlwm "hnub thib ob" tau poob rau ntawm peb lub xub pwg nyom. Peb yuav tsum xyuas kom meej tias muaj kev ua txhaum, sib sau ua ke, thiab, tau kawg, teeb tsa cov thaub qab. Lub laj thawj yog raws li nram no:
- Qhia SRK kom thaub qab lub cluster lub node tseem ceeb. Yuav ua li no, SRK yuav tsum nrhiav tau nws, uas txhais tau tias yuav tsum muaj kev koom ua ke nrog PostgreSQL cluster management solution. Hauv RSA, Patroni software tau siv rau qhov no.
- Xaiv hom kev thaub qab raws li qhov ntim ntawm cov ntaub ntawv thiab cov kev xav tau rov qab los. Piv txwv li, yog tias xav tau kev rov qab los ntawm nplooj ntawv me me, siv cov khoom pov tseg, thaum yog tias cov ntaub ntawv loj thiab tsis xav tau kev rov qab los ntawm cov ntaub ntawv me me, siv cov khoom rov qab los ntawm cov ntaub ntawv.
- Ntxiv lub peev xwm thaub qab thaiv rau qhov kev daws teeb meem los tsim ib daim qauv thaub qab hauv hom ntau-threaded.
Peb lub hom phiaj thawj zaug yog tsim kom muaj ib lub kaw lus ua haujlwm tau zoo thiab yooj yim yam tsis muaj cov khoom ntxiv loj heev. Kev ua haujlwm tsawg dua txhais tau tias yuav ua haujlwm tsawg dua rau cov neeg ua haujlwm thiab txo qhov kev pheej hmoo ntawm kev ua tsis tiav ntawm lub kaw lus thaub qab. Peb tam sim ntawd txiav txim siab cov kev qhia uas siv Veeam thiab RMAN, vim tias kev sib xyaw ua ke ntawm ob qho kev daws teeb meem twb tau qhia txog qhov tsis ntseeg siab ntawm lub kaw lus.
Ib qho khawv koob me ntsis rau lub tuam txhab
Yog li, peb xav tau kev lav phib xaub rau 10 pawg ntawm 3 nodes txhua tus, nrog rau tib lub hauv paus mirrored hauv lub chaw khaws ntaub ntawv thaub qab. Cov chaw khaws ntaub ntawv ua haujlwm ntawm lub hauv paus active-passive rau PostgreSQL. Tag nrho cov ntim database yog 50 TB. Txhua lub chaw khaws ntaub ntawv hauv chav kawm lag luam tuaj yeem ua qhov no tau yooj yim. Txawm li cas los xij, Postgres tsis muab kev sib raug zoo tag nrho thiab sib sib zog nqus nrog cov txheej txheem thaub qab. Yog li ntawd, peb yuav tsum nrhiav kev daws teeb meem uas yuav muab kev ua haujlwm siab tshaj plaws nrog PostgreSQL thiab txhim kho lub kaw lus ntxiv.
Peb tau tuav peb qhov kev sib tw hackathons sab hauv, tshuaj xyuas ntau tshaj tsib caug tus qauv tsim, sim lawv, hloov pauv raws li peb cov kev xav, thiab sim lawv dua. Tom qab tshuaj xyuas cov kev xaiv muaj, peb tau xaiv Commvault. Cov khoom no tuaj yeem ua haujlwm yooj yim PostgreSQL cluster installation tawm ntawm lub thawv, thiab nws cov qauv qhib tau tsa kev cia siab (uas tau ua pov thawj tias muaj tseeb) rau kev hloov kho thiab kev koom ua ke zoo. Commvault kuj tseem tuaj yeem thaub qab PostgreSQL cav. Piv txwv li, Veritas NetBackup, thaum nws los txog rau PostgreSQL, tsuas yog tuaj yeem ua tiav tag nrho cov backups.
Xav paub ntxiv txog cov qauv vaj tsev. Cov neeg rau zaub mov tswj hwm Commvault tau teeb tsa hauv txhua lub chaw khaws ntaub ntawv ob lub hauv paus ntaub ntawv hauv CommServ HA configuration. Lub kaw lus tau mirrored, tswj hwm los ntawm ib lub console, thiab ua tau raws li txhua yam kev xav tau ntawm HA hauv tuam txhab.

Peb kuj tau xa ob lub physical media servers hauv txhua lub chaw khaws ntaub ntawv, txuas nrog rau cov disk arrays thiab tape libraries ntawm Fibre Channel SAN. Cov ntaub ntawv deduplication txuas ntxiv tau ua kom muaj kev zam txim rau cov media servers, thiab kev txuas ntawm txhua lub server rau txhua CSV tau ua kom muaj kev ua haujlwm txuas ntxiv txawm tias muaj ib qho khoom tsis ua haujlwm. Lub cev tsim qauv tso cai rau kev thaub qab txuas ntxiv txawm tias ib lub chaw khaws ntaub ntawv tsis ua haujlwm.
Patroni txhais ib lub Primary node rau txhua pawg. Qhov no tuaj yeem yog txhua lub node muaj nyob rau hauv lub chaw khaws ntaub ntawv, tab sis tsuas yog nyob rau hauv pawg thawj coj xwb. Hauv pawg thaub qab, txhua lub nodes yog Secondary.
Yuav kom ntseeg tau tias Commvault nkag siab tias lub cluster node twg yog lub hauv paus tseem ceeb, peb tau koom ua ke lub kaw lus (ua tsaug rau qhov kev daws teeb meem qhib architecture) nrog Postgres. Rau lub hom phiaj no, peb tau tsim ib tsab ntawv uas qhia qhov chaw tam sim no ntawm lub hauv paus tseem ceeb rau tus thawj tswj hwm. neeg rau zaub mov Commvault.
Feem ntau, cov txheej txheem zoo li no:
Patroni xaiv Primary → Keepalived coj lub IP cluster thiab khiav cov script → tus neeg sawv cev Commvault ntawm lub cluster node xaiv tau txais kev ceeb toom tias qhov no yog Primary → Commvault rov kho dua qhov thaub qab hauv pseudo-client.

Qhov zoo ntawm txoj hauv kev no yog tias nws tsis cuam tshuam rau qhov sib xws, qhov tseeb ntawm cov cav, lossis kev rov qab los ntawm Postgres piv txwv. Nws kuj yooj yim scalable, vim Commvault tsis xav tau lub node thawj thiab theem nrab ruaj khov lawm. Tsuas yog paub tias lub node twg yog lub node thawj zaug tso cai rau tus lej ntawm cov nodes kom nce mus rau txhua tus nqi.
Cov kev daws teeb meem no tsis zoo tag nrho thiab muaj nws tus kheej qhov sib txawv. Commvault tsuas yog tuaj yeem thaub qab tag nrho cov instances, tsis yog cov ntaub ntawv ib leeg. Yog li ntawd, ib qho instance sib cais tau tsim rau txhua lub database. Cov neeg siv khoom tiag tiag tau muab faib ua pawg ua cov neeg siv khoom virtual pseudo. Txhua Commvault pseudo-client sawv cev rau UNIX cluster. Cov cluster nodes nrog Commvault tus neeg sawv cev rau Postgres tau teeb tsa ntxiv rau nws. Yog li ntawd, txhua lub virtual nodes ntawm pseudo-client tau thaub qab ua ib qho instance.
Txhua tus pseudo-client qhia txog lub cluster node uas ua haujlwm. Qhov no yog qhov peb txoj kev daws teeb meem rau Commvault txiav txim siab. Nws txoj haujlwm yooj yim heev: yog tias lub cluster IP raug tsa rau ntawm ib lub node, tsab ntawv teeb tsa "active node" parameter hauv Commvault agent binary - zoo, tsab ntawv teeb tsa "1" hauv qhov chaw nco tsim nyog. Tus neeg sawv cev xa cov ntaub ntawv no mus rau CommServe, thiab Commvault ua qhov thaub qab los ntawm lub node tsim nyog. Ntxiv mus, qhov kev teeb tsa raug txheeb xyuas ntawm qib script, pab kom tsis txhob muaj qhov yuam kev thaum pib thaub qab.
Cov ntaub ntawv loj loj raug thaub qab ua ntu zus hauv ntau qhov kwj deg, ua tau raws li RPO thiab qhov yuav tsum tau ua ntawm lub sijhawm thaub qab. Lub nra hnyav ntawm lub kaw lus tsis tseem ceeb: kev thaub qab tag nrho tshwm sim tsis tshua muaj, thiab rau lwm hnub, tsuas yog cov cav sau xwb, tshwj xeeb tshaj yog thaum lub sijhawm tsis muaj kev thauj khoom ntau.
Los ntawm txoj kev, peb tau siv cov cai sib cais rau kev thaub qab cov cav PostgreSQL archive - lawv raug khaws cia raws li cov cai sib txawv, theej raws li lub sijhawm sib txawv, thiab kev rho tawm cov ntaub ntawv tsis raug qhib rau lawv, vim tias cov cav no muaj cov ntaub ntawv tshwj xeeb.
Yuav kom ntseeg tau tias tag nrho cov IT infrastructure sib xws, cov neeg siv khoom Commvault file sib cais tau teeb tsa rau ntawm txhua lub cluster node. Lawv tsis suav nrog Postgres cov ntaub ntawv los ntawm cov backups thiab tsuas yog rau OS thiab daim ntawv thov backups. Cov ntaub ntawv no kuj muaj nws txoj cai thiab lub sijhawm khaws cia.

Tam sim no, SRK tsis cuam tshuam rau cov kev pabcuam tsim khoom, tab sis yog tias qhov xwm txheej hloov pauv, Commvault yuav muaj peev xwm ua kom muaj kev txwv kev thauj khoom.
Puas zoo? Zoo kawg!
Yog li, peb tau txais tsis yog tsuas yog ua haujlwm xwb, tab sis kuj yog qhov thaub qab tag nrho rau kev teeb tsa PostgreSQL uas tau teeb tsa ua ke, uas ua tau raws li txhua qhov kev xav tau ntawm lub tuam txhab.
Cov kev ntsuas RPO thiab RTO ntawm 1 teev thiab 2 teev raug tshaj dhau nrog qhov seem, txhais tau tias lub kaw lus yuav ua tau raws li lawv txawm tias muaj kev nce ntxiv ntawm cov ntaub ntawv khaws cia. Txawm hais tias muaj ntau qhov kev tsis ntseeg, PostgreSQL thiab qhov chaw ua lag luam tau ua pov thawj tias sib xws tag nrho. Thiab tam sim no, los ntawm peb tus kheej kev paub, peb paub tias kev thaub qab rau cov DBMSs no ua tau hauv ntau yam kev teeb tsa.
Tau kawg, raws txoj kev, peb yuav tsum hnav xya nkawm khau hlau, kov yeej ntau yam teeb meem, taug kev rau ob peb lub rakes, thiab kho ob peb qhov yuam kev. Tab sis tam sim no txoj hauv kev tau raug sim thiab tuaj yeem siv los siv qhib qhov chaw es tsis txhob siv cov DBMS tshwj xeeb hauv cov chaw ua haujlwm nyuaj.
Koj puas tau sim ua haujlwm nrog PostgreSQL hauv ib puag ncig tuam txhab?
Tus sau phau ntawv:
Oleg Lavrenov, tus kws tsim qauv tsim cov ntaub ntawv khaws cia ntawm Infosystems Jet
Dmitry Erykin, tus kws tsim qauv rau kev suav lej ntawm Infosystems Jet
Tau qhov twg los: www.hab.com
