Nodea — logo

Replikacja

Replikacja to proces automatycznego kopiowania i synchronizowania danych między wieloma serwerami, tak aby te same informacje były dostępne w więcej niż jednym miejscu. Najczęściej mówi się o niej w kontekście baz danych, ale replikować można też pliki, obiekty w magazynie danych czy całe systemy plików. Celem jest zwiększenie dostępności, rozłożenie obciążenia oraz przybliżenie danych do użytkowników w różnych regionach.

Jak działa replikacja?

Serwer źródłowy (master, primary) rejestruje wszystkie zmiany w dzienniku transakcji, a serwery docelowe (slave, replica) odczytują ten dziennik i odtwarzają na sobie te same operacje. Dzięki temu repliki pozostają wiernym odbiciem źródła. Wyróżnia się dwa główne tryby:

  • replikacja asynchroniczna — źródło potwierdza zapis od razu, a repliki nadrabiają zmiany z niewielkim opóźnieniem; szybka, ale grozi utratą ostatnich transakcji przy nagłej awarii,
  • replikacja synchroniczna — zapis jest potwierdzany dopiero po utrwaleniu go na replikach; bezpieczniejsza, lecz wolniejsza.

Pod względem topologii spotyka się model master-slave (jeden zapisujący, wiele odczytujących) oraz master-master, gdzie zapisywać można na kilku węzłach, kosztem złożonej obsługi konfliktów.

Zastosowanie w praktyce

Replikacja jest podstawą architektur wysokiej dostępności: gdy węzeł główny ulegnie awarii, ruch przełącza się na replikę (failover) i usługa działa dalej. Pozwala też skalować odczyt — zapytania SELECT kieruje się do wielu replik, odciążając serwer zapisujący, co wykorzystują sklepy i portale o dużym ruchu. Silniki takie jak MariaDB i MySQL oferują replikację natywnie. Warto pamiętać, że replika nie zastępuje kopii zapasowej — powiela także błędne operacje, dlatego pełną ochronę daje dopiero połączenie replikacji z regularnym backupem.

Powiązane pojęcia

Najczęstsze pytania

Czym różni się replikacja od kopii zapasowej?

Replikacja utrzymuje aktualną kopię danych na innym serwerze i służy dostępności oraz skalowaniu odczytów. Kopia zapasowa to migawka z określonego momentu, która chroni przed błędem lub usunięciem danych. Replikacja natychmiast powiela także pomyłki, dlatego nie zastępuje backupu.

Czy replikacja synchroniczna spowalnia bazę danych?

Może, ponieważ zapis jest potwierdzany dopiero po zapisaniu go na wszystkich węzłach — dochodzi opóźnienie sieciowe. W zamian gwarantuje, że po awarii żadna zatwierdzona transakcja nie zaginie, co bywa krytyczne w systemach finansowych.