Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

BD 2006Wykład 121 Rozproszone bazy danych (cz.2) Henryk Telega.

Podobne prezentacje


Prezentacja na temat: "BD 2006Wykład 121 Rozproszone bazy danych (cz.2) Henryk Telega."— Zapis prezentacji:

1 BD 2006Wykład 121 Rozproszone bazy danych (cz.2) Henryk Telega

2 BD 2006Wykład 122 2PC w systemie Oracle Typy węzłów: Koordynator globalny: węzeł sieci, w którym zainicjowano transakcję rozproszoną Uczestnik Węzeł zatwierdzania (ang. commit point site)

3 BD 2006Wykład 123 2PC w systemie Oracle Faza przygotowania - koordynator koordynator globalny określa węzeł zatwierdzania (na podstawie parametru COMMIT_POINT_STRENGTH skonfigurowanego w każdym węźle) koordynator globalny wysyła do uczestników zadanie przygotowania do zatwierdzania (PREPARE)

4 BD 2006Wykład 124 2PC w systemie Oracle Faza przygotowania - uczestnik odbiór komunikatu od koordynatora globalnego żądającego przygotowania do zatwierdzania wysłanie żądania przygotowania do zdalnych węzłów, do których odwołuje się uczestnik w przypadku braku modyfikacji danych: wysłanie do koordynatora globalnego komunikatu READ-ONLY zapisanie zawartości bufora dziennika powtórzeń do pliku dziennika (online redo log) jeśli inne zdalne węzły dołączone do uczestnika zgłosiły gotowość i sam uczestnik jest gotów: wysłanie komunikatu PREPARED do koordynatora globalnego w przeciwnym przypadku: wycofanie lokalnej transakcji wyslanie ABORT

5 BD 2006Wykład 125 2PC w systemie Oracle Faza zatwierdzania: koordynator globalny odbiera potwierdzenia od uczestników PREPARED READ-ONLY (brak modyfikacji) ABORT (niemożliwość przygotowania do zatwierdzania) jeśli wszyscy odpowiedzieli PREPARED, to koordynator globalny wysyła żądanie zatwierdzenia transakcji do węzła zatwierdzania węzeł zatwierdzania zatwierdza transakcję i wysyła komunikat do koordynatora globalnego koordynator globalny wysyła zadanie zatwierdzenia do pozostałych węzłów jeśli choć jeden uczestnik odpowiedział ABORT, to koordynator wysyła zadanie wycofania transakcji do węzła zatwierdzania węzeł zatwierdzania wycofuje transakcję i wysyła komunikat do koordynatora globalnego koordynator wysyła żądanie wycofania do uczestników

6 BD 2006Wykład 126 2PC w systemie Oracle Faza zatwierdzania - uczestnik: odbiór od koordynatora globalnego komunikatu żądającego zatwierdzenia transakcji zatwierdzenie lokalnej transakcji zwolnienie blokad zapis informacji o zatwierdzeniu w pliku dziennika powtórzeń

7 BD 2006Wykład 127 2PC w systemie Oracle Transakcje in-doubt odtwarzanie automatyczne odtwarzanie ręczne standardowe mechanizmy testowania awarii

8 BD 2006Wykład 128 Replikacja

9 BD 2006Wykład 129 Replikacja

10 BD 2006Wykład 1210 Replikacja w MS SQL Serwerze Serwer, który udostępnia dane nazywa się wydawcą (publisher), serwer pobierający dane jest subskrybentem (subscriber). Między wydawcą a subskrybentem jest serwer dystrybucyjny – dystrybutor (distributor). Publikacji podlegają artykuły. Artykuł to na ogół tabela lub część tabeli. Artykuł jest najmniejszą jednostką replikacji. W artykule możliwe jest pionowe i poziome filtrowanie danych (wybieranie kolumn i wierszy). Można również replikować procedury składowane (definicję) lub wykonanie procedury. Replikację konfiguruje się dla zestawu artykułów, który nazywa się publikacją. Subskrypcja może być wymuszana (push) lub żądana (pull), w zależności od tego, czy jest inicjowana odpowiednio przez wydawcę, czy subskrybenta.

11 BD 2006Wykład 1211 Replikacja w MS SQL Serwerze Procesem replikacji w MS SQL Serwerze sterują tzw. agenci. Najważniejsi agenci to: Snapshot Agent – tworzy początkowe migawki (snaphots) i przekazuje je do dystrybutora; działa na dystrybutorze Distribution Agent – przekazuje migawki i dane transakcyjne do subskrybentów; typowo działa na dystrybutorze dla subskrypcji wymuszanych i u subskrybentów dla subskrypcji żądanych. Log Reader Agent – śledzi dziennik transakcji wydawcy i rejestruje zatwierdzone transakcje w bazie danych distribution Merge Agent – scala dane z wielu serwerów

12 BD 2006Wykład 1212 Replikacja w MS SQL Serwerze Typy replikacji (1) Migawkowa (snaphot): dane (migawki) są przesyłane standardowo od wydawcy do subskrybenta zgodnie z pewnym harmonogramem, zwykle niezbyt często (np. raz dziennie, raz na kilka godzin). Standardowo zmiany replikowanych danych są możliwe tylko u wydawcy (chociaż można to zmienić). Transakcyjna (transactional): zmiany w danych podlegających replikacji są wykrywane przez agenta Log Reader i przesyłane przez agenta o nazwie Distribution Agent do subskrybentów natychmiast, albo zgodnie z pewnym harmonogramem. Tu również standardowo zmiany replikowanych danych są możliwe tylko o wydawcy (chociaż można to zmienić). Replikacja transakcyjna może obejmować wykonywanie procedur składowanych.

13 BD 2006Wykład 1213 Replikacja w MS SQL Serwerze Typy replikacji (2) Scalana (merge): dane są przekazywane zgodnie z pewnym harmonogramem, na ogół stosunkowo rzadko (podobnie jak w replikacji migawkowej). Istotne jest jednak to, że standardowo subskrybenci też mogą zmieniać dane, a zatem synchronizacja jest w obie strony – od wydawcy do subskrybenta oraz od subskrybenta do wydawcy. Mogą się w związku z tym pojawić konflikty, np. jeśli wydawca zmieni pewien wiersz i pewien subskrybent zmieni ten sam wiersz. Konflikty aktualizacji są rozwiązywane automatycznie lub ręcznie. Standardowy sposób rozwiązywania konfliktów jest taki, że wydawca zawsze wygrywa z subskrybentami, natomiast różnym subskrybentom można przypisać różne poziomy ważności.

14 BD 2006Wykład 1214 Replikacja w MS SQL Serwerze Typy replikacji (3) W replikacji migawkowej i transakcyjnej można włączyć mechanizmy umożliwiające aktualizację subskrybentów: immediate updating (subskrybent po zmianie replikowanych danych powiadamia natychmiast wydawcę, który zmiany akceptuje lub odrzuca w ramach transakcji rozproszonej z wykorzystaniem protokołu 2PC). queued updating (zmiany u subskrybenta są kolejkowane i przesyłane do wydawcy jeśli jest połączenie z wydawcą, nie działają tu transakcje rozproszone).

15 BD 2006Wykład 1215 Replikacja w MS SQL Serwerze Modele replikacji Modele replikacji (terminologia firmy Microsoft): Jeden wydawca – wielu subskrybentów Jeden subskrybent – wielu wydawców Wielu wydawców i wielu subskrybentów Dowolny typ replikacji można łączyć z dowolnym modelem replikacji.

16 BD 2006Wykład 1216 Prosta replikacja w Oracle - migawki Migawki (snapshots), perspektywy zmaterializowane. Tylko do odczytu (read-only snapshots), asynchroniczne, primary copy. Metoda przesyłania dla prostych kwerend: odświeżenie przyrostowe (fast refresh); wymaga założenia specjalnego dziennika lub odświeżenie pełne (reexecute query). Moment i częstotliwość odświeżania: manualnie automatycznie po zatwierdzeniu transakcji modyfikującej dane zgodnie z harmonogramem nigdy Grupa odświeżania – grupa migawek o wspólnych ustawieniach odświeżania

17 BD 2006Wykład 1217 Zaawansowana replikacja w Oracle Replikacja migawkowa (materialized view replication). Rozszerzenie koncepcji migawki w wersji podstawowej o możliwość modyfikowania migawki. Środowisko replikacji migawkowej tworzą węzły nadrzędne i węzły migawkowe. Węzeł migawkowy to instancja bazy danych, zawierająca migawki, dla których źródłami danych są tabele z węzła nadrzędnego. Węzeł migawkowy może być węzłem nadrzędnym dla innych węzłów migawkowych (architektura wielowarstwowa). Replikacja multimaster (multiaster replication). Wszystkie węzły są równoważne, każdy węzeł jest typu master (nadrzędny). Zmiana wprowadzona w którymkolwiek węźle zostaje zaaplikowana we wszystkich pozostałych węzłach środowiska. Replikacja hybrydowa (mieszana).

18 BD 2006Wykład 1218 Zaawansowana replikacja w Oracle Zaawansowana replikacja może być zarówno synchroniczna, jak i asynchroniczna. Zmiany danych mogą być wykonywane w węzłach migawkowych w przypadku migawki modyfikowalnej (updatable snapshot): zmiany są przekazywane asynchronicznie do węzła nadrzędnego, lub migawki zapisywalnej (writeable snapshot): można zmieniać dane w migawce, ale zmiany te nie są przekazywane do węzła nadrzędnego.


Pobierz ppt "BD 2006Wykład 121 Rozproszone bazy danych (cz.2) Henryk Telega."

Podobne prezentacje


Reklamy Google