Rozproszone bazy danych

1 Rozproszone bazy danychWprowadzenie do systemów baz dan...
Author: Korneliusz Kopeć
0 downloads 0 Views

1 Rozproszone bazy danychWprowadzenie do systemów baz danych

2 Fragmentacja i replikacja danychFragment danych stanowi pewien podzbiór wszystkich danych całej bazy danych Replika danych stanowi kopię całości lub części danych przechowywanych w innej części całej bazy danych

3 Cechy rozproszonych baz danychPrzezroczystość lokalizacji – użytkownicy nie muszą wiedzieć, w którym miejscu są przechowywane dane Przezroczystość fragmentacji – użytkownicy nie muszą wiedzieć,w jaki sposób dane są podzielone Przezroczystość replikacji – użytkownicy nie muszą wiedzieć, w jaki sposób dane są powtarzane (replikowane) Autonomia lokalna Nie opieranie się na lokalizacji centralnej

4 Typy rozproszonych baz danychJednorodna rozproszona baza danych Oparta na tym samym, dla wszystkich serwerów, systemie zarządzania bazą danych, np. MS SQL Server albo ORACLE Niejednorodna rozproszona baza danych Oparta na różnych systemach jednocześnie, np. MS SQL Server i ORACLE Federacyjny (wielobazowy) system bazy danych Połączenie względnie niezależnych autonomicznych baz danych

5 Role serwerów w środowisku replikacji danych (MS SQL Server)Publikator (serwer publikacji) – serwer, na którym znajduje się źródłowa baza danych, która jest udostępniona do publikacji. Dystrybutor (serwer dystrybucyjny) – serwer, na którym znajduje się dystrybucyjna baza danych. Dystrybucyjna baza danych jest stosowana do składowania replikowanych danych. Zadaniem dystrybutora jest pobieranie, utrzymywanie, a następnie dystrybucja danych. Subskrybent (serwer subskrypcyjny) – serwer odbierający replikowane dane i zachowujący je w replikowanej bazie danych.

6 Publikator, dystrybutor i subskrybentsubskrypcja subskrybent publikacja dystrybucja publikator dystrybutor subskrypcja subskrybent (Dystrybucja = dystrybucyjna baza danych)

7 Scenariusze replikacjiCentralny publikator Centralny publikator ze zdalnym dystrybutorem Publikujący subskrybent Centralny subskrybent Wiele publikatorów lub subskrybentów Subskrybent wprowadzający zmiany

8 Centralny publikator subskrybent subskrybent publikator dystrybutorsubskrypcja subskrypcja subskrybent subskrybent publikacja dystrybucja publikator dystrybutor subskrypcja subskrypcja subskrybent subskrybent

9 Centralny publikator ze zdalnym dystrybutoremsubskrypcja subskrypcja publikacja subskrybent subskrybent publikator dystrybucja subskrypcja dystrybutor subskrypcja subskrybent Połączenie między publikatorem i dystrybutorem musi być szybkie i niezawodne subskrybent

10 Publikujący subskrybentUSA publikacja dystrybucja Polska Polska publikator dystrybutor subskrypcja subskrypcja subskrybent subskrybent Polska subskrypcja publikacja Polska Polska dystrybucja subskrypcja subskrypcja subskrybent publikator dystrybutor subskrybent subskrybent

11 Centralny subskrybentpublikacja publikacja dystrybucja dystrybucja publikator dystrybutor publikator dystrybutor subskrypcja subskrybent publikacja publikacja dystrybucja Centralna baza danych zawierająca skonsolidowane dane z wielu baz danych dystrybucja publikator dystrybutor publikator dystrybutor

12 Wiele publikatorów wiele subskrybentówsubskrypcja publikacja subskrypcja publikacja dystrybucja dystrybucja subskrybent publikator dystrybutor subskrybent publikator dystrybutor

13 Modyfikujący subskrybentWbudowane mechanizmy umożliwiające wprowadzanie zmian subskrypcja subskrybent publikacja dystrybucja publikator dystrybutor subskrypcja subskrypcja subskrybent subskrybent

14 Typy replikacji (MS SQL Server)Replikacja migawkowa (snapshot replication) – polega na pobraniu obrazu (sporządzeniu migawki) bazy danych i rozprowadzenia jej wśród subskrybentów. Replikacja transakcyjna (transactional replication) – śledzi i rozprowadza transakcje wśród subskrybentów; utrzymuje publikatora i subskrybenta w prawie takim samym stanie. Replikacja scalająca (merge replication) – okresowo przesyła zmiany. Modyfikacji bazy danych może dokonywać publikator i subskrybent – możliwa jest synchronizacja wielu systemów.

15 Fragmentacja danych Fragmentacja jest podziałem danych pomiędzy różne serwery Klient łączy się z jednym wybranym serwerem, a ten ściąga potrzebne dane z właściwych serwerów zewnętrznych i przesyła do klienta Informacja o lokalizacji danych przechowywana jest na serwerze Klient nie musi wiedzieć w jaki sposób dane zostały podzielone – wszystkie dane otrzymuje za pośrednictwem jednego serwera (przezroczystość fragmentacji) MS SQL Server wykorzystuje dwa mechanizmy łączenia z innymi serwerami Zdalne serwery – stary sposób umożliwiający wykonywanie zdalnych procedur, wymaga konfiguracji obu serwerów (obecnie mało używany) Serwery przyłączone (sprzężone) – nowy sposób umożliwiający wykonywanie zdalnych procedur i bezpośredni dostęp do zdalnych tabel, wymaga konfiguracji tylko serwera lokalnego

16 Architektura serwerów przyłączonychSQL Server SQL Server Koordynator Transakcji Rozproszonych Oracle OLE DB dla ORACLE ODBC OLE DB Provider DLL Baza Danych MS Access Arkusz kalkulacyjny Excel Jet Warstwa klienta Warstwa serwera lokalnego Warstwa zewnętrznych źródeł danych (zdalnych serwerów)

17 Transakcje rozproszoneRozproszone bazy danych umożliwiają wykonywanie zapytań rozproszonych (SELECT, INSERT, UPDATE i DELETE) tak, jakby dane zgromadzone były na jednym serwerze – jedyną różnicę stanowić może konwencja nazywania tabel Komercyjne serwery baz danych obsługują transakcje rozproszone, czyli transakcje obejmujące modyfikacje danych ulokowanych na różnych serwerach MS SQL Server wyposażony jest w usługę MS DTS (Distributed Transaction Coordinator) do kontroli transakcji rozproszonych i gwarantuje spójność wszystkich transakcji na SQL Serverze i serwerach z nim sprzężonych Warunkiem poprawnego wykonania transakcji rozproszonej jest jej zatwierdzenie na wszystkich serwerach

18 MS Access a rozproszone bazy danychMS Access może pracować z danymi rozproszonymi w sieci wykorzystując tabele połączone Tabele połączone mogą pochodzić z baz danych różnych typów Wykonywanie operacji selekcji, modyfikacji, aktualizacji i usuwania nie stanowi problemu, ale nie są obsługiwane transakcje rozproszone Transakcje rozproszone obsługuje MS SQL Server