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 strumieniowa EuroDB

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 centrum danych A znajduje się serwer Master, z którego wszystkie dane replikowane są do serwera DR w centrum danych B. Mechanizm replikacji został tak skonfigurowany, aby ignorować DML typu TRUNCATE, zapewniając ochronę danych przed przypadkowym usunięciem. Ponadto znajduje się tam replika tylko do odczytu, do której replikowane są tylko te tabele, na których odbywają się intensywne odczyty. Pozwala to zoptymalizować wykorzystanie przestrzeni dyskowej.Dzięki mechanizmowi replikacji logicznej EuroDB DML typu INSERT (z pominięciem UPDATE, DELETE, TRUNCATE) w centrum danych C tworzona jest instancja zabezpieczająca. Utrzymuje ona kopię wszystkich rekordów, które zostały wstawione do tabeli TRANSAKCJE, niezależnie od tego, czy w produkcyjnej bazie zostały one zmienione lub usunięte.W centrum przetwarzania danych B następuje replikacja kaskadowa pomiędzy bazą DR a bazą tylko do odczytu na zasadach takich jak w centrum danych A.

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.

replikacja logiczna EuroDB