250 likes | 502 Views
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
E N D
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ó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
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 WANprzez stałe łącze lub telefonicznie (ok. 3000) • o dużym natężeniu ruchu,posiadające bazylokalne (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 replikacjiod 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