Čo je Replikácia?
Replikácia databázy je proces kopírovania a synchronizácie dát medzi viacerými databázovými servermi. Zabezpečuje vysokú dostupnosť, ochranu pred stratou dát a rozloženie čítacej záťaže. Ak hlavný server zlyhá, replika ho automaticky nahradí.
Definícia Replikácia
Čo je replikácia databázy
Replikácia je proces udržiavania identických kópií dát na viacerých databázových serveroch. Hlavným cieľom je vysoká dostupnosť (ak jeden server zlyhá, druhý preberá záťaž), ochrana dát a rozloženie čítacej záťaže medzi viacero serverov.
Typy replikácie
- Master-Slave (Primary-Replica) — jeden server prijíma zápisy, repliky slúžia len na čítanie. Najpoužívanejší model
- Master-Master (Multi-Primary) — viacero serverov prijíma zápisy, zmeny sa synchronizujú medzi nimi. Zložitejšie, riziko konfliktov
- Synchrónna replikácia — master čaká na potvrdenie od repliky pred potvrdením transakcie. Pomalšie, ale bezpečnejšie
- Asynchrónna replikácia — master neprečká potvrdenie od repliky. Rýchlejšie, ale hrozí strata posledných dát
Replikácia v praxi
PostgreSQL podporuje streaming replikáciu, kde replika v reálnom čase prijíma WAL (Write-Ahead Log) záznamy z primárneho servera. MySQL používa binlog replikáciu. Cloud služby ako Amazon RDS ponúkajú automatickú replikáciu s failoverom.
Praktický príklad
Príklad: E-shop s 50 000 návštevami denne. Databáza nestíha obslúžiť všetky dotazy na produkty, kategórie a vyhľadávanie súčasne so zápismi objednávok.
Riešenie — read repliky: Vytvoríte 2 repliky hlavného servera. Čítanie (zobrazenie produktov, vyhľadávanie) ide na repliky, zápis (objednávky, registrácie) na master.
Bonus: Ak master server vypadne, jedna z replík sa automaticky stane novým masterom — výpadok trvá sekúndy namiesto hodín.
Často kladené otázky
Čo je replikácia databázy?
Replikácia je kopírovanie dát z hlavného databázového servera na jeden alebo viacero záložných serverov (replík). Zabezpečuje dostupnosť, ochranu pred stratou dát a rozloženie záťaže.
Aký je rozdiel medzi synchrónnou a asynchrónnou replikáciou?
Pri synchrónnej replikácii server čaká na potvrdenie od repliky — bezpečnejšie, ale pomalšie. Pri asynchrónnej replikácii server pokračuje bez čakania — rýchlejšie, ale pri výpadku sa môžu stratiť posledné zmeny.
Nahradí replikácia zálohovanie?
Nie. Replikácia chráni pred výpadkom servera, ale nie pred ľudskou chybou — ak niekto omylom vymaže dáta, zmažú sa aj na replikách. Zálohovanie (backup) je stále nevyhnutné.
Súvisiace pojmy
Potrebujete pomôcť s webom?
Napíšte mi a poradím vám s vaším projektom. Prvá konzultácia je zadarmo a nezáväzná.