Bazy danych są sercem większości systemów firmowych — od ERP po CRM i aplikacje sprzedażowe. W przeciwieństwie do zwykłych plików, ich kopiowanie wymaga uwzględnienia spójności transakcyjnej i logiki relacyjnej, dlatego standardowy backup plikowy często okazuje się niewystarczający lub wręcz niebezpieczny. Właściwie zaprojektowana strategia backupu baz danych musi uwzględniać zarówno spójność transakcyjną, jak i realny czas potrzebny na odtworzenie systemu.
Specyfika kopii zapasowych baz danych
Baza danych to nie zbiór statycznych plików, lecz aktywnie zarządzana struktura z transakcjami, logami i indeksami. Skopiowanie samych plików bazy podczas jej pracy bez odpowiedniego mechanizmu może skutkować kopią niespójną — taką, której nie da się poprawnie odtworzyć.
Ryzyka niewłaściwego podejścia
- Kopiowanie plików bazy „na żywo” bez zatrzymania usługi lub mechanizmu snapshotu
- Brak uwzględnienia logów transakcyjnych w kopii
- Niekompletna kopia przy dużych bazach podzielonych na wiele plików
- Brak weryfikacji, czy backup faktycznie nadaje się do odtworzenia
Strategie tworzenia kopii
W praktyce stosuje się kombinację różnych typów kopii, aby zbalansować czas wykonania backupu, przestrzeń dyskową i szybkość odtwarzania.
Typy kopii zapasowych
- Kopia pełna (full backup) — kompletny obraz bazy danych w danym momencie
- Kopia różnicowa (differential) — zmiany od ostatniej kopii pełnej
- Kopia przyrostowa (incremental) — zmiany od ostatniej kopii jakiegokolwiek typu
- Backup logów transakcyjnych — umożliwia odtworzenie bazy do dowolnego punktu w czasie (point-in-time recovery)
Spójność transakcyjna kopii
Kluczowym wymogiem backupu baz danych jest zachowanie spójności — kopia musi odzwierciedlać stan bazy w jednym, określonym momencie, bez „urwanych” transakcji.
Mechanizmy zapewniające spójność
- Natywne narzędzia backupu silnika bazodanowego, uwzględniające stan transakcji
- Mechanizmy snapshotu na poziomie systemu plików lub wirtualizacji (VSS, LVM snapshot)
- Tryb „hot backup” pozwalający na kopiowanie bez przestoju usługi
- Blokady i punkty kontrolne (checkpoint) synchronizujące stan danych przed kopiowaniem
Harmonogram i retencja
Częstotliwość wykonywania kopii powinna wynikać z tempa zmian danych oraz akceptowalnego poziomu utraty danych (RPO) ustalonego dla danego systemu.
Typowy model harmonogramu
- Kopia pełna — raz w tygodniu lub raz dziennie w zależności od rozmiaru bazy
- Kopia przyrostowa lub logi transakcyjne — co kilka minut do godziny dla systemów krytycznych
- Retencja krótkoterminowa — codzienne kopie przechowywane przez 2-4 tygodnie
- Retencja długoterminowa — kopie archiwalne miesięczne lub roczne, zgodnie z wymogami firmy
Bezpieczne przechowywanie kopii
Kopia zapasowa przechowywana wyłącznie na tym samym serwerze co baza produkcyjna nie chroni przed awarią sprzętu, atakiem ransomware ani zdarzeniem losowym w serwerowni.
Zasada 3-2-1 w praktyce
- Co najmniej trzy kopie danych (produkcyjna + dwie zapasowe)
- Dwa różne nośniki lub systemy przechowywania
- Jedna kopia przechowywana poza główną lokalizacją (offsite lub w chmurze)
- Kopie odizolowane od sieci produkcyjnej (offline lub immutable), chroniące przed ransomware
Szyfrowanie i kontrola dostępu
Kopie baz danych często zawierają dane osobowe i informacje wrażliwe, dlatego wymagają takiej samej ochrony jak środowisko produkcyjne.
Elementy zabezpieczenia backupu
- Szyfrowanie kopii zapasowej w spoczynku i podczas transferu
- Ograniczony dostęp do repozytorium backupów wyłącznie dla uprawnionych administratorów
- Rejestrowanie operacji odczytu i odtwarzania kopii
- Regularna rotacja kluczy szyfrujących i haseł dostępowych
Weryfikacja i testy odtworzenia
Kopia zapasowa bazy danych powinna być okresowo odtwarzana w środowisku testowym, aby potwierdzić jej integralność i użyteczność.
Zakres weryfikacji
- Odtworzenie bazy w izolowanym środowisku testowym
- Sprawdzenie spójności referencyjnej i liczby rekordów
- Pomiar czasu potrzebnego na pełne odtworzenie
- Test odtworzenia do konkretnego punktu w czasie (point-in-time recovery)
Podsumowanie
Backup baz danych wymaga podejścia innego niż kopiowanie zwykłych plików — kluczowa jest spójność transakcyjna, odpowiedni dobór typów kopii oraz bezpieczne, odizolowane przechowywanie danych. Regularne testy odtworzenia i przemyślany harmonogram retencji pozwalają zminimalizować ryzyko utraty danych krytycznych dla działania firmy.