Bazy danych, jako elementy systemów informatycznych, są najczęściej elementami krytycznymi. W celu zapewnienia wysokiej dostępności opartych o nie rozwiązań, stworzone zostały mechanizmy replikacji.
Replikacja w EuroDB zapewnia możliwość rozproszenia fizycznych kopii baz danych pomiędzy różne instancje, ośrodki danych, a nawet kontynenty. Ponadto replikacja na warstwie logicznej pozwala na stosowanie różnych źródeł danych do stworzenia złożonych struktur bazodanowych.
EuroDB wspiera większość popularnych metod replikacji. Z uwagi na swoje możliwości i użyteczność dwie z tych metod są rekomendowane przez EuroDB.
Replikacja strumieniowa
- replikacja z pojedynczego serwera master do wielu serwerów slave
- replikacja synchroniczna i asynchroniczna
- możliwość wstrzymania aktualizacji danych w replice przez zadany czas, celem wykonania na niej długo trwającej kwerendy (raporty, kopie zapasowe, migracja danych do hurtowni itp.). W czasie tej przerwy dane przechowywane są już na replice
- automatyczne wprowadzanie zmian w strukturze danych na serwerach slave
- automatyczna migracja wszystkich baz danych w obrębie instancji master
- możliwość wykorzystania bazy slave w trybie tylko do odczytu
- możliwość automatycznego przełączania instancji bazy danych na wypadek awarii serwera master
- możliwość rozkładania zapytań pomiędzy instancje master i slave (zapytania pobierające dane).
Przykładowe zastosowanie replikacji strumieniowej EuroDB
W podstawowym centrum danych znajduje się serwer Master, który jest głównym serwerem bazodanowym. Pomiędzy tym serwerem a serwerem DR odbywa się synchroniczna replikacja. W wypadku braku odpowiedzi od serwera Master przez ponad 30 sekund, następuje automatyczne przełączenie serwera DR w tryb Master. Aplikacje korzystające z bazy danych korzystają z serwera pośredniczącego, który jest świadom faktu przełączenia. W trakcie procesu przełączenia serwery HS (A i B) są automatycznie przełączane tak, aby korzystać z instancji DR jako nowego serwera Master.Replikacja na serwery HS odbywa się asynchronicznie. Serwery HS wykorzystują mniej wydajne zasoby, w szczególności dyskowe. Aplikacje korzystające z klastra EuroDB w sposób świadomy korzystają z serwerów HS celem wykonywania obciążających zapytań, które nie mają charakteru transakcyjnego.
W trakcie trwania okna backupowego wykonywana jest kopia zapasowa z serwerów HS. Dzięki takiej implementacji EuroDB kopie wykonywane są niezależnie w obu centrach danych.
Wykonywanie kopii zapasowej nie wpływa w żaden sposób na wydajność serwera Master ani serwera DR.
Replikacja Logiczna
W przypadkach większej złożoności architektury EuroDB oferuje bardziej zaawansowany mechanizm - replikację logiczną:
- replikacja w układzie siatki - wiele serwerów master, wiele serwerów slave
- replikacja z granularnością do pojedynczej tabeli
- replikacja konkretnych typów DML (bądź ich kombinacji)
- brak replikacji DDL - ochrona struktury danych w replikach
- brak automatycznej replikacji nowo tworzonych obiektów - wyższy poziom bezpieczeństwa
- replikacja pojedynczych baz danych w obrębie klastra
- możliwość wykorzystywania replik w trybie odczyt/zapis - różne mechanizmy rozstrzygania konfliktów
- możliwość modyfikacji zakresu replikacji
- możliwość wykorzystania replikacji logicznej do aktualizacji pomiędzy głównymi wersjami EuroDB (rolling upgrade)
- replikacja logiczna nie jest oparta na funkcjach wyzwalaczy.
Przykład wykorzystania replikacji logicznej EuroDB
W oddziale firmy, gdzie odbywa się produkcja, znajduje się lokalna instancja EuroDB. Stanowi ona częściową replikę instancji Master z centrum danych A oraz częściową replikę bazy danych CRM Master z centrum danych B. Baza ta posiada również tabele będące obecne tylko w instancji lokalnej. Służy ona wspieraniu systemu produkcji.