Rozproszona baza danych

Rozproszona baza danych jest bazą podzieloną na części umieszczone na wielu komputerach. Taka architektura jest szczególnie przydatna, gdy z informacji przechowywanych w bazie korzystają osoby zamieszkujące oddalone od siebie miejsca – np. różne miasta, kraje bądź kontynenty.

Rozdzielenie danych pozwala m.in. zmniejszyć czas oczekiwania na odpowiedź serwera (co z kolei przekłada się na szybkość wczytywania informacji i jest ważne w przypadku, kiedy czas odpowiedzi ma znaczący wpływ na czynności wykonywane w sieci – jak choćby podczas gier online lub prowadzenia widekonferencji).

Z punktu widzenia użytkownika baza rozproszona jest strukturą jednolitą. Oznacza to, że pomimo umieszczenia fragmentów bazy na wielu serwerach użytkownik nie jest w stanie określić, z którego komputera otrzymuje odpowiedź.

Zarządzając bazą rozproszoną, wykorzystuje się dwie metody rozdzielania informacji: fragmentaryzację oraz replikację (zazwyczaj stosowane są one wspólnie jako tzw. metoda hybrydowa).

Fragmentaryzacja danych

Fragmentaryzacja danych polega na podzieleniu informacji na podzbiory, które są przechowywane w różnych węzłach sieci. Metoda ta jest wykorzystywana głównie wtedy, gdy dane zbierane są lokalnie – np. baza danych w mieście A przechowuje wyłącznie informacje na temat miasta A, zaś baza danych B służy do przechowywania informacji o miejscowości B. Stale możliwe jest przy tym uzyskanie dostępu do całej bazy danych AB.

Zaletą przedstawionej metody jest przechowywanie oryginalnych kopii informacji. Nie muszą być one aktualizowane w wielu miejscach po dokonaniu zmian (jak ma to miejsce w przypadku replikacji). W razie wystąpienia awarii dane są przesyłane do innego, tymczasowego serwera.

Replikacja danych

Replikacja danych polega na przechowywaniu identycznych kopii informacji na kilku serwerach równocześnie. Warto zaznaczyć, że istnieje w tym przypadku podział danych na kategorie. Wynika on z praw dostępu do informacji:

  • dane do odczytu – informacje, z których serwerowi drugorzędnemu wolno korzystać, bez możliwości wprowadzania jakichkolwiek zmian;

  • dane do zapisu – informacje, które mogą zostać zmienione na każdym serwerze drugorzędnym. Po wprowadzeniu poprawek serwer ten staje się automatycznie serwerem macierzystym.

Zaletą tej metody jest zapewnienie większej dostępności do danych z każdej lokalizacji. Przekłada się to na zwiększenie szybkości działania serwerów oraz umożliwia wysyłanie większej liczby zapytań równocześnie.

Główną wadą replikacji jest natomiast konieczność dokonywania wielu aktualizacji. Informacje na serwerach drugorzędnych są aktualizowane nawet po wprowadzeniu najdrobniejszych zmian na serwerze macierzystym. W innym przypadku mogą pojawiać się niespójności w poszczególnych kopiach. Sam proces aktualizacji obciąża natomiast serwery.

Już wiesz

Omawialiśmy już pojęcie redundancji (nadmiarowości).

O ile zjawisko redundancji w bazach danych nie jest zazwyczaj postrzegane jako pożądane (z uwagi na możliwość występowania pewnych anomalii przy modyfikacji danych), o tyle w przypadku replikacji jest oczekiwane i ma uzasadnienie. Nadmiarowość informacji może bowiem uchronić przed niespodziewaną utratą danych i być gwarancją bezpieczeństwa w przypadku ataku na jeden z serwerów.

Korzyści płynące z rozproszenia baz danych

W porównaniu ze scentralizowanym systemem bazy danych rozproszona struktura pozwala przede wszystkim zminimalizować skutki awarii serwerów. W razie wystąpienia problemów obniża się tylko wydajność serwerów. Nie przerywają one całkowicie pracy, tak jak dzieje się w przypadku systemów scentralizowanych.

Oprócz tego rozproszona baza danych zapewnia:

  • zwiększenie szybkości otrzymywanych odpowiedzi na zapytania wysyłane przez użytkowników;

  • zwiększenie kontroli nad danymi w przypadku ich fragmentaryzacji na rejony (serwer A odpowiedzialny jest wyłącznie za przechowywanie danych w mieście A);

  • możliwość rozbudowania serwerów w sposób modułowy, a co za tym idzie, poprawienia logistycznej struktury serwerów oraz zwiększenia ich wydajności i bezawaryjności.

Ataki na serwery

Atak DoS

Jednym z najprostszych typów ataku na serwer jest DoSDoSDoS. Polega on na wysyłaniu pakietów zapytań na określony adres IP w celu całkowitego wysycenia dostępnego pasma. Skutkiem jest blokada dostępu do strony WWW lub serwisu. Częstym zjawiskiem jest również wykorzystanie błędów protokołów internetowych. Ułatwia to zablokowanie serwisu.

Atak typu DoS charakteryzuje się niską efektywnością. Warunkiem powodzenia jest bowiem dysponowanie znacznie większym pasmem internetowym niż to, które wykorzystuje atakowany obiekt. Ponadto cały atak przeprowadzany jest zazwyczaj z wykorzystaniem kilku adresów IP. Atakowany może je wpisać na tzw. czarną listę i zablokować pochodzące z nich zapytania.

Atak DDoS

Znacznie bardziej uciążliwym typem ataku na serwer jest DDoSDDoSDDoS. W tym przypadku atakujący wykorzystuje bardzo dużą (teoretycznie nieograniczoną) liczbę komputerów.

Aby to uczynić, cyberprzestępca rozsyła zawirusowane pliki do użytkowników sieci. Jeśli internauci je otworzą, ich systemy są infekowane, a atakujący przejmuje nad nimi kontrolę. W ten sposób powstaje sieć tzw. komputerów‑zombies, którymi haker jest w stanie zarządzać za pomocą specjalnego oprogramowania.

Podczas ataku DDoS wszystkie zainfekowane komputery (działające niejednokrotnie w bardzo odległych zakątkach globu) wysyłają zapytana na adres IP ofiary. Szybko prowadzi to do zablokowania dostępu do strony lub serwisu.

Atak DDoS jest trudny do odparcia, ponieważ w jego przypadku należałoby przenieść na czarną listę tysiące adresów IP. Poza tym ruch generowany przez zwykłych (niezainfekowanych) użytkowników nie tylko wyczerpuje pasmo ofiary, ale także utrudnia wydzielenie grupy adresów IP wykorzystywanych przez atakującego.

DRDoS

Kolejnym bardzo niebezpiecznym typem ataku jest DRDoSDRDoSDRDoS. Polega on na wysyłaniu zapytań do losowych adresów IP w sieci oraz fałszowaniu adresu ich nadawcy: zastępuje się go adresem potencjalnej ofiary.

W przypadku jednoczesnego wysłania tysięcy takich zapytań następuje zablokowanie dostępu do serwisu będącego celem ataku: wszystkie odpowiedzi trafiają na adres ofiary, blokując jej pasmo internetowe.

Warto dodać, że za dokonanie ataku internetowego (w zależności od wyrządzonych szkód) grozi kara grzywny lub pozbawienia wolności nawet do 2 lat.

Ciekawostka

Jedną z usług pozwalających zwiększyć bezpieczeństwo strony internetowej lub serwisu proponuje firma CloudFlare.

Wykorzystywany jest przy tym pewien rodzaj filtra, dzięki któremu użytkownicy sieci (w tym boty lub cyberprzestępcy) nie łączą się bezpośrednio z docelowym adresem IP, lecz ich zapytania są wstępnie przetwarzane przez serwery firmy CloudFlare. Oddziela ona połączenia generowane przez zwykłych użytkowników od ruchu budzącego podejrzenia.

Oprócz filtrowania usługa CloudFlare pozwala m.in. na ukrycie adresu IP serwera, przyspieszenia działania strony WWW albo limitowanie zapytań w przypadku ogromnego zwiększenia ruchu, co jest szczególnie ważne, gdy dochodzi do cyberataku.

Słownik

DoS
DoS

(ang. Denial of Service – blokada usług); jeden z najprostszych typów ataku na serwer lub sieć komputerową, polegający na wysyłaniu pakietów zapytań na adres IP ofiary w celu zajęcia (wysycenia) całego jej pasma transmisyjnego

DDoS
DDoS

(ang. Distributed Denial of Service); rozproszona blokada usług) typ ataku wykorzystujący zawirusowane komputery  (zombies) w celu maksymalizacji efektów ataku

DRDoS
DRDoS

(ang. Distributed Reflected Denial of Service); odbita blokada usług) odmiana ataku, w przypadku której wykorzystuje się zjawisko „odbicia zapytania”; odpowiedzi pochodzące z wielu komputerów są przesyłane na serwer lub sieć komputerową ofiary