Skip to main content

Datubāzes dublējumu plānošana, kas patiešām ļauj atjaunot datus

· 5 min read
Customer Care Engineer

Publicēts 2026. gada 22. septembrī

Datubāzes dublējumu plānošana, kas patiešām ļauj atjaunot datus

Datubāze plkst. 9:00 no rīta var izskatīties pilnīgi vesela. un tomēr neļaut atjaunot pasūtījumus, klientu ierakstus vai lietotnes izmaiņas, kas veiktas plkst. 8:45. Tieši šo plaisu datubāzes dublējumu plānošanai ir jākontrolē. Dublējumu plāns nav tikai uzdevums, kas darbojas pa nakti. Tas ir atkopšanas plāns ar noteiktiem datu zuduma ierobežojumiem, atjaunošanas laikiem, glabāšanas noteikumiem un brīdinājumiem, ja kaut kas nemanāmi pārstāj darboties.

Mazas uzņēmuma tīmekļa vietnes, aģentūras platformas vai augošas SaaS lietotnes gadījumā pareizais grafiks ir atkarīgs no tā, cik ātri mainās dati un cik dārgs būtu to zudums. Vizītkartes tipa vietne var pieļaut ikdienas dublējumu. Aizņemts veikals vai transakciju lietotne parasti to nevar. Pakalpojums ir mierīgs tikai tad, kad ir zināms atkopšanas punkts.

Sāciet ar atkopšanas mērķiem, nevis kalendāru​

Pirms izvēlēties stundas, dienas vai nedēļas dublējumus, nosakiet divus praktiskus mērķus: Recovery Point Objective (RPO) un Recovery Time Objective (RTO).

RPO atbild uz vienu neērtu jautājumu: cik daudz neseno datu uzņēmums var atļauties zaudēt? Ja jūsu RPO ir četras stundas, jūsu dublējumu un žurnālu stratēģijai jāļauj atjaunot datus punktā, kas nav vecāks par četrām stundām. E-komercijas datubāzei, kas visas dienas garumā saņem pasūtījumus, pat četras stundas var būt par daudz. Iekšējam rīkam ar mazām izmaiņām tas var būt saprātīgi.

RTO atbild uz nākamo jautājumu: cik ilgi lietotne var palikt nepieejama, kamēr notiek atkopšana? 5 GB datubāzes atjaunošana atšķiras no 2 TB datubāzes atjaunošanas, īpaši, ja ir jāpārbūvē indeksi, jāpārsūta dati no attālinātas krātuves vai secīgi jāatjauno vairāki atkarīgi pakalpojumi.

Šie mērķi nosaka grafiku. Tie arī novērš izplatītu maldīgu mierinājumu: dublējums eksistē, bet to nevar atjaunot laikā, kas uzņēmumam patiesībā ir pieejams.

Praktisks datubāzes dublējumu plānošanas modelis​

Lielākajai daļai ražošanas datubāžu labāk der slāņots grafiks, nevis viens liels nakts dumps. Precīzie rīki atšķiras starp MySQL, MariaDB, PostgreSQL, Microsoft SQL Server un pārvaldītām datubāzu platformām, taču darbības princips paliek tas pats: apvienot atjaunojamus pamata dublējumus ar biežu transakciju līmeņa aizsardzību.

Saprātīgs modelis daudziem uzņēmuma darba slodzes scenārijiem ietver ikdienas pilno dublējumu, biežākus inkrementālos vai diferenciālos dublējumus un nepārtrauktu transakciju žurnālu arhivēšanu tur, kur datubāze to atbalsta. PostgreSQL izmanto write-ahead logs (WAL); MySQL un MariaDB parasti izmanto bināros žurnālus. Šie žurnāli ļauj veikt point-in-time recovery, kas nozīmē, ka varat atjaunot datubāzi līdz brīdim tieši pirms nejaušas dzēšanas, neveiksmīgas izvietošanas vai bojāta importa.

Piemēram, neliels tiešsaistes veikals varētu katru nakti veikt pilno dublējumu, nepārtraukti saglabāt bināros žurnālus un uzturēt vairāku nedēļu atkopšanas punktus. Ja administrators plkst. 2:17 izpilda nepareizu SQL priekšrakstu, atkopšanas mērķis var būt plkst. 2:16, nevis iepriekšējā naktī. Šī atšķirība var izglābt ļoti garu pēcpusdienu.

Mārketinga vietne ar mazākām izmaiņām var izmantot ikdienas datubāzes dublējumus ar iknedēļas arhīva kopiju. SaaS platformai ar aktīviem lietotājiem var būt nepieciešami ikdienas pilnie dublējumi, žurnālu pārsūtīšana ik pēc dažām minūtēm un replikas vai papildu pieejamības pasākumi. Dublējumi neaizstāj augstu pieejamību, un augsta pieejamība neaizstāj dublējumus. Replikācija var ļoti efektīvi nokopēt kļūdu.

Pielāgojiet grafiku darba slodzei​

Datubāzes aktivitāte ne vienmēr ir vienmērīga. Aģentūra var redzēt klientu atjauninājumus darba laikā, bet pa nakti gandrīz nekādas izmaiņas. Rezervēšanas platforma lielāko nedēļas daļu var būt klusa un pēc tam piektdien ļoti noslogota. Pilnos dublējumus, kur iespējams, plānojiet zemākas aktivitātes periodos, taču neuzskatiet, ka mierīgs logs padara uzdevumu nekaitīgu.

Pilnie dublējumi var patērēt diska I/O, CPU, tīkla joslas platumu un datubāzes resursus. Noslogotā VPS vai izdalītā serverī neplānots dublēšanas process var konkurēt ar īstu klientu trafiku. Izmantojiet dublēšanas metodes, kas samazina bloķēšanu, vajadzības gadījumā ierobežo pārsūtīšanu un pirmajās izpildēs seko sistēmas metrikām. CPU noslodze, diska latentums, brīvā krātuve un dublējuma ilgums stāsta patieso stāstu.

Ja dublējuma ilgums sāk pārklāties ar nākamo ieplānoto dublējumu, grafikam jāpievērš uzmanība. Biežuma palielināšana, nepārskatot kapacitāti, var radīt dublējumu uzdevumu rindu, kas tehniski ir ieplānota, bet operatīvi kavējas.

Glabāšana ir vieta, kur dublējumu izmaksas satiekas ar risku​

Grafiks bez glabāšanas politikas ir nepilnīgs. Visu dublējumu glabāšana mūžīgi kļūst dārga un grūti pārvaldāma. Pārāk agra dublējumu dzēšana pārvērš nelielu problēmu par neatgriezenisku zudumu, kad bojājumi vai neatļautas izmaiņas tiek atklātas tikai pēc vairākām nedēļām.

Noderīga glabāšanas politika parasti uztur vairākus laika horizontus. Nesenajiem atjaunošanas punktiem jābūt biežiem, jo tie visdrīzāk būs vajadzīgi operacionālu kļūdu gadījumā. Ikdienas dublējumi nodrošina pārklājumu iepriekšējām nedēļām, savukārt iknedēļas vai ikmēneša arhīvi aizsargā pret vecākām problēmām, auditiem vai novēlotu datu bojājumu atklāšanu.

Pareizais glabāšanas periods ir atkarīgs no jūsu uzņēmuma, līgumsaistībām un atbilstības vajadzībām. Izstrādātāja staging datubāzei var būt vajadzīga tikai īsa vēsture. Klientu dati, finanšu transakcijas vai regulēti ieraksti var prasīt daudz ilgāku glabāšanu un stingrākas piekļuves kontroles. Nekopējiet glabāšanas politiku no cita uzņēmuma tikai tāpēc, ka tā izklausās profesionāli.

Ņemiet vērā arī dublējumu ķēžu slēpto apjomu. Inkrementālie dublējumi un transakciju žurnāli ir atkarīgi no tā, vai pamata dublējums joprojām ir pieejams. Ja nepieciešamais pilnais dublējums tiek noņemts pārāk agri, vēlākie inkrementālie faili var būt bezjēdzīgi. Automatizētajai glabāšanai ir jāsaprot šīs atkarības, nevis vienkārši jādzēš vecākais fails mapē.

Glabājiet dublējumus prom no datubāzes servera​

Dublējums, kas glabājas tikai tajā pašā serverī, ir noderīgs nelielas kļūdas gadījumā, bet ir vāja aizsardzība pret servera zudumu, krātuves atteici, izspiedējvīrusu vai nopietnu konfigurācijas incidentu. Glabājiet vismaz vienu šifrētu kopiju atsevišķā krātuvē ar neatkarīgiem akreditācijas datiem un piekļuves kontrolēm.

Tas neprasa pārvērst katru dublēšanas operāciju par lielu korporatīvu projektu. Taču tas prasa nodalīt atteices domēnus. Ja VPS disks kļūst nepieejams, datubāze un tās vienīgais dublējums nedrīkst pazust kopā. Kritiski svarīgām sistēmām apsveriet papildu nemaināmu vai pret rakstīšanu aizsargātu kopiju, lai uzbrucējs ar piekļuvi serverim nevarētu vienkārši izdzēst dublējumus kā pēdējo soli.

Šifrēšana ir svarīga gan pārsūtīšanas laikā, gan glabāšanas laikā. Dublējuma faili bieži satur tos pašus sensitīvos datus kā aktīvā datubāze, tostarp klientu informāciju, kontu ierakstus vai lietotnes noslēpumus. Aizsargājiet glabāšanas mērķi, ierobežojiet, kurš var atjaunot datus, un reģistrējiet piekļuvi tur, kur to prasa jūsu operacionālās prasības.

Veiksmīgs dublējums vēl nav veiksmīga atjaunošana​

Visbīstamākais dublējuma statuss ir zaļš bez pārbaudes. Uzdevums var pabeigties, vienlaikus izveidojot nepilnīgu dumpu, izlaižot žurnālus, izmantojot nepareizus akreditācijas datus vai rakstot failus, kurus vēlāk nevar atšifrēt. Žurnāli var izskatīties iepriecināti. Atjaunošana būs mazāk iepriecināta.

Testējiet atjaunošanu pēc noteikta grafika. Kritiski svarīgai lietotnei testējiet vismaz reizi mēnesī un pēc būtiskām izmaiņām datubāzes versijā, dublēšanas rīkos, šifrēšanas atslēgās vai krātuves iestatījumos. Atjaunojiet izolētā vidē, lai varētu pārbaudīt rindu skaitu, lietotnes palaišanu, lietotāju piekļuvi un galvenās darbplūsmas, neietekmējot produkciju.

Izmēriet nepieciešamo laiku. Atjaunošanas tests sniedz jums pierādījumus jūsu RTO, nevis cerīgu aplēsi. Tas var arī atklāt nepamanītas sastāvdaļas: augšupielādētos failus, objektu krātuvi, konfigurācijas vērtības, datubāzes lietotājus, paplašinājumus vai fona procesus. Atsevišķi atjaunota datubāze var būt pareiza, bet tomēr neatgriezt lietotni tiešsaistē.

Uzraugiet dublējumu ķēdi kā produkcijas pakalpojumu​

Dublējumu uzdevumiem ir vajadzīgi brīdinājumi, ne tikai grafiki. Brīdiniet par neveiksmīgiem uzdevumiem, trūkstošiem gaidītajiem dublējumu failiem, aizkavētu žurnālu pārsūtīšanu, nepietiekamu krātuvi, kontrolsummu kļūmēm un neparastām dublējuma lieluma vai ilguma izmaiņām. Dublējums, kas pēkšņi kļūst daudz mazāks, var būt pamatota datu samazināšanās, bet tas var arī nozīmēt, ka tabula tika izslēgta vai uzdevums beidzās priekšlaicīgi.

Uzraudzībai būtu jāinformē atbildīgā persona pirms atkopšana kļūst nepieciešama. Ikdienas atskaites ir noderīgas, bet kļūmju gadījumā labāki ir rīcību veicinoši brīdinājumi. Ja iespējams, iekļaujiet operacionālajos informācijas paneļos dublējuma vecumu un jaunāko pārbaudīto atjaunošanas punktu. Tas komandām incidenta laikā sniedz skaidru atbildi: kas ir pieejams, un cik nesens tas ir?

Pārvaldītas infrastruktūras gadījumā apstipriniet, kam pieder katra ķēdes daļa. Viena puse var pārvaldīt serveri, cita — datubāzes lietotni, bet vēl cita — dublējumu krātuves kontu. Atbildības plaisas parādās visnepiemērotākajā laikā, parasti atjaunošanas pieprasījuma laikā. Uzņēmumā kodu.cloud tas ir tāda veida operacionāls sīkums, ko ir vērts precizēt laikus, kamēr visiem vēl ir kafija un pacietība.

Turiet grafiku dokumentētu un mainiet to apzināti​

Dokumentējiet dublējuma veidu, izpildes biežumu, glabāšanas mērķi, glabāšanas periodu, šifrēšanas metodi, atjaunošanas procedūru, RPO, RTO un brīdinājumu saņēmējus. Glabājiet akreditācijas datus un atkopšanas atslēgas apstiprinātās drošās sistēmās, nevis izvietošanas skriptā vai kāda privātajās piezīmēs.

Pārskatiet plānu pēc lietotnes izaugsmes, jaunas datu integrācijas, liela datubāzes jauninājuma vai klientu saistību izmaiņām. Datubāzei, kas pirms sešiem mēnešiem glīti ietilpa nakts dublējuma logā, tagad var būt vajadzīga uz žurnāliem balstīta atkopšana un lielāka krātuves kapacitāte. Tā ir normāla izaugsme, nevis sākotnējā plāna neveiksme.

Noderīgais mērķis ir vienkāršs: zināt, cik tālu atpakaļ varat atjaunot, cik ilgi tas prasīs un kurš ko darīs, kad pienāks pieprasījums. Veidojiet datubāzes dublējumu plānošanu ap šīm atbildēm, regulāri tās testējiet, un jūsu serveri varēs turpināt savu kluso darbu, kamēr jūs atpūšaties.

Andres Saar klientu apkalpošanas inženieris