Microsoft Professional Developer Days 2004 Replikacja SQL Server Robert Zyskowski Microsoft Professional Developer Days 2004
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
Replikacja scalająca Modyfikacja danych przez wielu subskrybentów w różnym czasie Brak stałego połączenia subskrybentów z bazą wydawcy Synchronizacja danych – na żądanie lub wg ustalonego harmonogramu Autonomia poszczególnych subskrybentów i bazy wydawcy
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
Infrastruktura systemu/Zasięg replikacji Centrum Przetwarzania Danych (CPD) Zapasowy Ośrodek Przetwarzania Danych (ZPD) Placówki: pracujące za pośrednictwem Internetu (ok. 4000) podłączone do sieci WAN przez stałe łącze lub telefonicznie (ok. 3000) o dużym natężeniu ruchu, posiadające bazy lokalne (ok.1200)
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 rejestrowane są 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