Changes between Initial Version and Version 1 of Rezervni_kopii_i_PITR


Ignore:
Timestamp:
02/08/26 21:33:59 (2 weeks ago)
Author:
213192
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Rezervni_kopii_i_PITR

    v1 v1  
     1== Стратегии за резервни копии (Backup Strategies)
     2
     3Оваа тема е критична кога зборуваме за администрирање на системи со бази на податоци. Резервните копии претставуваат основен механизам за заштита од губење на податоци. Ова може да биде предизвикано од хардверски дефекти, софтверски грешки, сајбер напади... Стратегиите за резервни копии имаат цел да овозможат флексибилност и минимален downtime.
     4
     5=== Full backup претставува целосна копија на целата база на податоци во одреден момент.
     6
     7Карактеристики:
     8* ги содржи сите табели, индекси, податоци и метаподатоци
     9* најлесен за restore
     10* зафаќа најмногу простор и време
     11
     12Предности:
     13* едноставно опоравување
     14* низок ризик од неконзистентност
     15
     16Недостатоци:
     17* голем storage простор
     18* подолго време за извршување кај големи бази
     19
     20{{{
     21createdb transfermarkt_restore
     22
     23pg_restore -U postgres -d transfermarkt_restore
     24
     25transfermarkt_full_2026_02_04.dump
     26}}}
     27
     28=== Incremental backup ги зачувува само промените направени од последниот backup (full или incremental).
     29
     30Карактеристики:
     31* многу помал простор
     32* брзо извршување 
     33
     34Недостатоци:
     35* за restore потребни се сите претходни backup-и
     36* поголем ризик ако недостасува еден backup
     37
     38== Logical vs Physical Backup во PostgreSQL
     39
     40=== Logical Backup – pg_dump
     41
     42Logical backup работи на логичко ниво и ги извлекува податоците како SQL инструкции.
     43
     44Карактеристики:
     45* Backup во .sql или .dump формат 
     46* може да се restore-не на различна верзија на PostgreSQL
     47* не го блокира нормалното работење на базата
     48
     49Предности:
     50* флексибилен
     51* погоден за миграции
     52
     53Недостатоци:
     54* побавен кај големи бази
     55* не содржи low-level storage информации
     56
     57{{{
     58pg_dump -U postgres -F c -f transfermarkt_logical.dump transfermarkt
     59
     60createdb transfermarkt_new
     61
     62pg_restore -U postgres -d transfermarkt_new transfermarkt_logical.dump
     63}}}
     64
     65=== Physical Backup – pg_basebackup
     66
     67Physical backup прави копија од целата data directory структура.
     68
     69Карактеристики:
     70* многу помал простор
     71* брзо извршување 
     72
     73Недостатоци:
     74* за restore потребни се сите претходни backup-и
     75* поголем ризик ако недостасува еден backup
     76
     77== Logical vs Physical Backup во PostgreSQL
     78
     79=== Logical Backup – pg_dump
     80
     81Logical backup работи на логичко ниво и ги извлекува податоците како SQL инструкции.
     82
     83Карактеристики:
     84* многу брз restore 
     85* се користи за репликација и disaster recovery
     86* зависи од иста PostgreSQL верзија
     87
     88Предности:
     89* најбрзо опоравување
     90* погоден за production системи
     91
     92Недостатоци:
     93* помала флексибилност
     94* потребна е конфигурација на WAL
     95
     96{{{
     97pg_basebackup -U replication_user \
     98
     99  -D /backups/transfermarkt_base \
     100
     101  -Fp -Xs –P
     102
     103systemctl start postgresql
     104
     105При restore(server crash)
     106}}}
     107
     108Предложена стратегија за нашата база е да правиме дневен full backup и hourly WAL backup.
     109
     110== Point In Time Recovery (PITR)
     111
     112Во реални информациски системи, најчестата причина за губење на податоци не е хардверски дефект, туку човечка грешка, како што се погрешни UPDATE, DELETE или DROP TABLE операции. Point-In-Time Recovery (PITR) претставува напреден механизам за опоравување кој овозможува базата на податоци да се врати во точно дефиниран момент во времето, непосредно пред да се случи грешката.
     113Овој пристап е карактеристичен за enterprise системи и е широко користен во production околини.
     114
     115=== Write-Ahead Logging (WAL)
     116
     117PostgreSQL користи Write-Ahead Logging (WAL) како механизам за обезбедување на конзистентност и опоравување. Основното правило е дека секоја промена прво се запишува во WAL лог, а дури потоа се применува во самите data фајлови.
     118
     119Зошто WAL е критичен за PITR?
     120* овозможува репродукција на сите промени
     121* гарантира дека ниту една трансакција нема да биде „изгубена“
     122* служи како основа за репликација и recovery
     123
     124Со помош на WAL, PostgreSQL може точно да знае што се случило и по кој редослед во базата.
     125
     126Процес на Point-In-Time Recovery
     127
     1281. се прави base backup (physical)
     1292. се овозможува WAL archiving
     1303. во случај на грешка базата се враќа од последниот backup
     1314. се запира recovery процесот во точно дефинирано време
     132
     133Предности на PITR:
     134* прецизно опоравување
     135* минимална загуба на податоци
     136 
     137Недостатоци:
     138* потребен дополнителен storage
     139* комплексна конфигурација
     140
     141Point-In-Time Recovery претставува еден од најмоќните механизми за заштита на податоци во PostgreSQL. Комбинирањето на physical backup со continuous WAL archiving овозможува системот да се врати во стабилна состојба по било каква логичка грешка.