Replikacja SQL Server
description
Transcript of Replikacja SQL Server
Microsoft Professional Developer Days 2004
Replikacja SQL Server
Robert Zyskowski
Plan prezentacji
Rodzaje replikacji i ich zastosowanie Założenia projektu Plan realizacji projektu Implementacja Podsumowanie
Rodzaje replikacji i ich zastosowanie
Replikacja migawkowa Replikacja transakcyjna Replikacja scalająca Przykłady zastosowania replikacji
Replikacja migawkowa
Dane statyczne Opóźniona aktualizacja danych Niewielkie ilości danych Brak stałego połączenia bazy wydawcy
z bazami subskrybentów
Replikacja transakcyjna
Natychmiastowe przenoszenie zmian danych do subskrybentów
Zachowanie kompletności transakcji Stałe połączenie bazy wydawcy z bazami
subskrybentów Jednoczesna aktualizacja danych u
wszystkich subskrybentów
Modyfikacja danych przez wielu subskrybentóww różnym czasie
Brak stałego połączenia subskrybentów z bazą wydawcy
Synchronizacja danych – na żądanie lub wg ustalonego harmonogramu
Autonomia poszczególnychsubskrybentów i bazy wydawcy
Replikacja scalająca
Przykłady zastosowania replikacji
Aplikacje do raportowania i wspomagania decyzji
Wymiana danych bez utrzymywania stałych połączeń
Internet – umieszczenie danych na wielu serwerach przyspiesza dostęp
Sieć o słabych parametrach – większa autonomia użytkowników
Założenia projektu
Infrastruktura systemu/Zasięg replikacji Dane do replikacji Wymagania jakościowe Wymagania ilościowe
Centrum Przetwarzania Danych (CPD) Zapasowy Ośrodek Przetwarzania Danych
(ZPD) Placówki:
pracujące za pośrednictwem Internetu (ok. 4000)
podłączone do sieci WANprzez stałe łącze lub telefonicznie (ok. 3000)
o dużym natężeniu ruchu,posiadające bazylokalne (ok.1200)
Infrastruktura systemu/Zasięg replikacji
Dane do replikacji
Dane rejestrowane na stanowiskach obsługi klienta
Dane parametryczne obowiązujące w ramach placówki
Dane ogólnofirmowe rejestrowane w bazie centralnej
Dane pomocnicze aplikacji - nie podlegają replikacji
Wymagania jakościowe
Synchronizacja danych – do końca dnia pracy placówki
Właściwie dobrana częstotliwość replikacji Definiowanie, administrowanie i
monitorowanie replikacji – scentralizowane i uproszczone
Przeźroczysty mechanizm replikacji
Wymagania ilościowe
Średni rozmiar operacji biznesowej podlegającej replikacji – 1253 bajty
Średni dzienny przyrost replikowanych danych: dla placówki z bazą lokalną – 6267 KB rejestrowanych w agencjach i oddziałach –
1251 KB z baz lokalnych do bazy centralnej – 7,5 GB z bazy centralnej do baz lokalnych – 2 GB
Plan realizacji projektu
Wybór rodzaju replikacji Odwzorowanie wymagań Zmiany w bazie danych i w aplikacji Warunki początkowe działania aplikacji
Wybór rodzaju replikacji
Agencje i oddziały modyfikacja danych przez wielu subskrybentów
w różnym czasie Placówki z lokalną bazą danych
brak stałego połączenia subskrybentów z bazą wydawcy
autonomia poszczególnych subskrybentów i bazy wydawcy
Wniosek: Wymagana jest replikacja scalająca.
Odwzorowanie wymagań
Uruchamianie replikacji na żądanie Opóźnienie synchronizacji danych nie
przekracza 50 minut CPD: 10 baz odpowiadających dyrekcjom
okręgowym Uniezależnienie replikacji
od logiki biznesowej aplikacji
Zmiany w bazie danych i w aplikacji
Tablice podlegające replikacji Powiązanie placówki z nazwą serwera bazy
danych Dodanie w lokalnych bazach danych
funkcji zwracającej identyfikator placówki W aplikacji przy zapisie musi być określony
identyfikator placówki, dla której rejestrowanesą dane
Warunki początkowe działania aplikacji
Przeniesienie danych inicjalnych z baz lokalnych do bazy centralnej Krok 1 – Przesłanie danych z istniejącej
aplikacji do CPD Krok 2 – Konwersja danych i uruchomienie
lokalnej infrastruktury Krok 3 – Przesłanie inicjalnej bazy danych do
placówki i uruchomienie replikacji Podsumowanie: Uruchomienie systemu
i replikacji trwa tylko 5 godzin
Implementacja
Konfiguracja replikacji Definiowanie replikacji Definiowanie publikacji Definiowanie subskrybcji
Konfiguracja replikacji
Krok 1 – Utworzenie użytkownika systemowego z prawami administratora
Krok 2 – Zmiana użytkownika usługi „SQL Server agent”
Krok 3 – Dodanie użytkownika do użytkowników instancji SQL Server i nadanie mu uprawnień
Krok 4 – Konfiguracja replikacji
DEMO
Konfiguracja replikacji na serwerze wydawcy
Definiowanie replikacji
Parametry publikacji Parametry subskrypcji Rodzaje subskrypcji:
typu „Push” – aktywną stroną synchronizacji danych jest wydawca
typu „Pull” – aktywną stroną synchronizacji danych jest subskrybent
DEMO
Definiowanie publikacji przy użyciu skryptu DefPublikacja.sql
DEMO
Definiowanie subskrypcji przy użyciu skryptów DefSubskrypcja_pub.sql i DefSubskrypcja_sub.sql
Podsumowanie
Gdzie szukać pomocy? SQL Server Books Online Lista dyskusyjna:
microsoft.public.sqlserver.replication http://www.dbforums.com http://sqlteam.com http://www.sql-server-performance.com