wiki:Rezervni_kopii_i_PITR

Стратегии за резервни копии (Backup Strategies)

Оваа тема е критична кога зборуваме за администрирање на системи со бази на податоци. Резервните копии претставуваат основен механизам за заштита од губење на податоци. Ова може да биде предизвикано од хардверски дефекти, софтверски грешки, сајбер напади... Стратегиите за резервни копии имаат цел да овозможат флексибилност и минимален downtime.

Full backup претставува целосна копија на целата база на податоци во одреден момент.

Карактеристики:

  • ги содржи сите табели, индекси, податоци и метаподатоци
  • најлесен за restore
  • зафаќа најмногу простор и време

Предности:

  • едноставно опоравување
  • низок ризик од неконзистентност

Недостатоци:

  • голем storage простор
  • подолго време за извршување кај големи бази
createdb transfermarkt_restore 

pg_restore -U postgres -d transfermarkt_restore 

transfermarkt_full_2026_02_04.dump 

Incremental backup ги зачувува само промените направени од последниот backup (full или incremental).

Карактеристики:

  • многу помал простор
  • брзо извршување

Недостатоци:

  • за restore потребни се сите претходни backup-и
  • поголем ризик ако недостасува еден backup

Logical vs Physical Backup во PostgreSQL

Logical Backup – pg_dump

Logical backup работи на логичко ниво и ги извлекува податоците како SQL инструкции.

Карактеристики:

  • Backup во .sql или .dump формат
  • може да се restore-не на различна верзија на PostgreSQL
  • не го блокира нормалното работење на базата

Предности:

  • флексибилен
  • погоден за миграции

Недостатоци:

  • побавен кај големи бази
  • не содржи low-level storage информации
pg_dump -U postgres -F c -f transfermarkt_logical.dump transfermarkt 

createdb transfermarkt_new 

pg_restore -U postgres -d transfermarkt_new transfermarkt_logical.dump 

Physical Backup – pg_basebackup

Physical backup прави копија од целата data directory структура.

Карактеристики:

  • многу помал простор
  • брзо извршување

Недостатоци:

  • за restore потребни се сите претходни backup-и
  • поголем ризик ако недостасува еден backup

Logical vs Physical Backup во PostgreSQL

Logical Backup – pg_dump

Logical backup работи на логичко ниво и ги извлекува податоците како SQL инструкции.

Карактеристики:

  • многу брз restore
  • се користи за репликација и disaster recovery
  • зависи од иста PostgreSQL верзија

Предности:

  • најбрзо опоравување
  • погоден за production системи

Недостатоци:

  • помала флексибилност
  • потребна е конфигурација на WAL
pg_basebackup -U replication_user \ 

  -D /backups/transfermarkt_base \ 

  -Fp -Xs –P 

systemctl start postgresql 

При restore(server crash) 

Предложена стратегија за нашата база е да правиме дневен full backup и hourly WAL backup.

Point In Time Recovery (PITR)

Во реални информациски системи, најчестата причина за губење на податоци не е хардверски дефект, туку човечка грешка, како што се погрешни UPDATE, DELETE или DROP TABLE операции. Point-In-Time Recovery (PITR) претставува напреден механизам за опоравување кој овозможува базата на податоци да се врати во точно дефиниран момент во времето, непосредно пред да се случи грешката. Овој пристап е карактеристичен за enterprise системи и е широко користен во production околини.

Write-Ahead Logging (WAL)

PostgreSQL користи Write-Ahead Logging (WAL) како механизам за обезбедување на конзистентност и опоравување. Основното правило е дека секоја промена прво се запишува во WAL лог, а дури потоа се применува во самите data фајлови.

Зошто WAL е критичен за PITR?

  • овозможува репродукција на сите промени
  • гарантира дека ниту една трансакција нема да биде „изгубена“
  • служи како основа за репликација и recovery

Со помош на WAL, PostgreSQL може точно да знае што се случило и по кој редослед во базата.

Процес на Point-In-Time Recovery

  1. се прави base backup (physical)
  2. се овозможува WAL archiving
  3. во случај на грешка базата се враќа од последниот backup
  4. се запира recovery процесот во точно дефинирано време

Предности на PITR:

  • прецизно опоравување
  • минимална загуба на податоци

Недостатоци:

  • потребен дополнителен storage
  • комплексна конфигурација

Point-In-Time Recovery претставува еден од најмоќните механизми за заштита на податоци во PostgreSQL. Комбинирањето на physical backup со continuous WAL archiving овозможува системот да се врати во стабилна состојба по било каква логичка грешка.

Last modified 2 weeks ago Last modified on 02/08/26 21:33:59
Note: See TracWiki for help on using the wiki.