Microsoft SQL Server 2008

Wydajność i skalowalność SQL Server 2008 Udostępnij na: Facebook

Opublikowano: 11 lipca 2008

Microsoft® SQL Server™ 2008 łączy w sobie narzędzia i technologie, które są nieodzowne podczas implementacji relacyjnych baz danych, systemów raportujących i korporacyjnych hurtowni danych, ponieważ zapewniają optymalną wydajność i reaktywność. Dzięki SQL Server 2008 możemy wykorzystywać najnowsze technologie sprzętowe, skalując serwery pionowo, by wspierać ich konsolidację. SQL Server 2008 umożliwia również skalowanie poziome największych rozwiązań obsługi danych.

Zawartość strony
 Wprowadzenie  Wprowadzenie
 Optymalizacja wydajności SQL Server 2008  Optymalizacja wydajności SQL Server 2008
 Skalowanie pionowe z wykorzystaniem SQL Server 2008  Skalowanie pionowe z wykorzystaniem SQL Server 2008
 Skalowanie poziome z wykorzystaniem SQL Server 2008  Skalowanie poziome z wykorzystaniem SQL Server 2008
Podsumowanie  Podsumowanie

Wprowadzenie

W dzisiejszych czasach, aby zachować konkurencyjność na globalnym rynku, organizacje potrzebują łatwego i szybkiego dostępu do danych biznesowych. W odpowiedzi na to wymaganie relacyjne i analityczne bazy danych stale zwiększają swoje rozmiary. Wraz z wieloma produktami dostarczane są wbudowane bazy danych, a wiele firm konsoliduje serwery w celu uproszczenia procesu zarządzania. Firmy muszą utrzymywać optymalną wydajność w miarę jak rośnie rozmiar i złożoność ich środowisk danych.

Ten dokument techniczny opisuje możliwości SQL Server 2008 związane z wydajnością i skalowalnością oraz wyjaśnia, w jaki sposób można wykorzystywać te możliwości w celu:

  •  Optymalizowania wydajności baz danych o dowolnej wielkości przy użyciu dostępnych narzędzi i funkcji silnika baz danych, usług Analysis Services, Reporting Services oraz Integration Services.

  •  Skalowania pionowego serwera w celu pełnego wykorzystywania nowych możliwości sprzętowych.

  •  Skalowania poziomego środowiska baz danych w celu optymalizowania reaktywności i przenoszenia danych bliżej użytkowników.

 Do początku strony Do początku strony

Optymalizacja wydajności SQL Server 2008

Ponieważ dane korporacyjne stają się coraz obszerniejsze i coraz bardziej skomplikowane, musimy podjąć pewne kroki w celu zapewnienia optymalizacji czasu dostępu do danych. SQL Server 2008 zawiera wiele funkcji i ulepszeń, które służą do optymalizowania wydajności we wszystkich obszarach funkcjonalności, włączając w to relacyjne bazy danych przetwarzania transakcji online (OLTP), bazy danych przetwarzania analitycznego online (OLAP), raportowanie oraz procesy wyodrębniania, transformacji i ładowania danych (ETL).

Wydajność relacyjnych baz danych

W większości środowisk biznesowych relacyjne bazy danych stanowią fundament aplikacji i usług kluczowych dla działalności biznesowej. W miarę jak wzrasta rozmiar danych i liczba użytkowników oraz aplikacji zależnych od relacyjnych repozytoriów danych, organizacje muszą mieć możliwość zapewnienia odpowiedniej wydajności i reaktywności swoich systemów informacyjnych. SQL Server 2008 dostarcza potężny silnik baz danych, który wspiera duże relacyjne bazy danych oraz przetwarzanie złożonych kwerend.

Mierzalna wydajność rzeczywista

SQL Server 2008 bazuje na poprzednich wersjach wprowadzonego na rynku produktu, zapewniając organizacjom najwyższy możliwy standard wydajności bazy danych. Po zademonstrowaniu ogromnych możliwości serwera SQL Server przy użyciu testu TPC-C opracowanego przez organizację Transaction Processing Performance Council, firma Microsoft stała się pierwszym dostawcą baz danych, który opublikował wyniki dla nowszego testu TCP-E, który bardziej adekwatnie reprezentuje typowe dla nowoczesnych organizacji rodzaje obciążeń OLTP.

Ponadto SQL Server demonstruje swoją wysoką wydajność w przypadku dużych obciążeń związanych z hurtownią danych w teście TPC-H dla trzech terabajtów, w którym osiąga rekordowe wyniki. Właśnie ten poziom skalowalności i wydajności stanowił punkt wyjściowy dla wersji SQL Server 2008.

Wysokowydajny silnik przetwarzania kwerend

Wydajny silnik przetwarzania kwerend SQL Server pomaga użytkownikom maksymalizować wydajność własnych aplikacji. Silnik przetwarzania kwerend analizuje kwerendy i generuje optymalne plany ich wykonania, bazując na dynamicznie sporządzanych statystykach dotyczących indeksów, selektywności klucza i rozmiarów danych. Plany kwerend w SQL Server 2008 można zamrażać, aby zapewniać stałą wydajność często wykonywanych operacji. Silnik przetwarzania kwerend może również uwzględniać systemy wielordzeniowe lub wieloprocesorowe i generować plany wykonania, które wykorzystują przetwarzanie równoległe w celu dodatkowego zwiększenia wydajności.

Zazwyczaj najbardziej kosztowną operacją, braną pod uwagę w kontekście oceny wydajności planu wykonania kwerendy, są operacje I/O. Dynamiczne możliwości SQL Server w zakresie przechowywania danych w pamięci podręcznej redukują liczbę operacji dostępu do dysku fizycznego konieczną do pobrania i zmodyfikowania danych. Natomiast silnik przetwarzania kwerend może znacząco poprawić ogólną wydajność, wykorzystując skanowanie w przód w celu przewidzenia stron danych, których wymaga wybrany plan wykonania i wczytania ich z wyprzedzeniem do pamięci podręcznej. Ponadto natywne wsparcie SQL Server 2008 dla kompresji danych pozwala zredukować liczbę stron danych, które muszą zostać wczytane, co pozwala zwiększyć wydajność związaną z operacjami I/O.

SQL Server 2008 wspiera partycjonowanie tabel i indeksów, co umożliwia administratorom kontrolowanie fizycznego rozmieszczenia danych poprzez powiązywanie partycji z tej samej tabeli lub indeksu z wieloma grupami plików znajdującymi się na osobnych fizycznych urządzeniach magazynujących. Optymalizacja silnika przetwarzania kwerend w SQL Server 2008 pozwala mu na równoległy dostęp do partycjonowanych danych, co znacząco poprawia wydajność.

Narzędzia do optymalizacji wydajności

SQL Server 2008 zawiera narzędzia SQL Server Profiler oraz Database Engine Tuning Advisor. Wykorzystując program SQL Server Profiler, możemy śledzić zdarzenia, które stanowią obciążenia typowe dla danej aplikacji. Następnie możemy odtworzyć wynik śledzenia w programie Database Engine Tuning Advisor generującym i implementującym zalecenia dotyczące indeksowania i partycjonowania danych, które pozwalają zoptymalizować wydajność danej aplikacji.

Po stworzeniu indeksów i partycji, które najbardziej pasują do obciążeń roboczych danej aplikacji, możemy wykorzystać usługę SQL Server Agent do stworzenia zautomatyzowanego planu konserwacji bazy danych. Zautomatyzowany proces konserwacji co pewien czas reorganizuje lub przebudowuje indeksy, a także aktualizuje indeksy i statystyki selektywności w celu stałego optymalizowania wydajności, w miarę jak operacje wstawiania i modyfikowania danych fragmentują fizyczne strony danych w bazie danych.

Narzędzie Resource Governor

Często zdarza się, że do dostarczania wielu usług danych wykorzystywany jest pojedynczy serwer. W niektórych przypadkach wiele aplikacji i zadań polega na tym samym źródle danych. Ze względu na stale utrzymujący się trend konsolidacji serwerów, zagwarantowanie przewidywalnej wydajności wybranego zadania może stanowić nie lada wyzwanie, ponieważ inne zadania rywalizują o zasoby systemowe na tym samym serwerze. Ze względu na wielość zadań na jednym serwerze, administratorzy muszą starać się unikać problemów, takich jak wykonujące się bardzo długo kwerendy, które pozbawiają inne zadania zasobów systemowych lub zadania o niskim priorytecie, które negatywnie wpływają na zadania o wysokim priorytecie. SQL Server 2008 zawiera narzędzie Resource Governor, które pozwala administratorom definiować limity i przypisywać priorytety do poszczególnych obciążeń roboczych działających na instancji SQL Server. Obciążenia robocze bazują na czynnikach takich jak użytkownicy, aplikacje i bazy danych. Definiując limity dla zasobów, administratorzy mogą minimalizować prawdopodobieństwo pojawienia się niekontrolowanych operacji pochłaniających zasoby serwera, a także ograniczać dostęp do tychże zasobów w przypadku obciążeń roboczych, które je monopolizują. Konfigurując poszczególne właściwości, administratorzy mogą optymalizować wydajność kluczowych procesów, zachowując przewidywalność innych obciążeń roboczych na serwerze.

Performance Studio

W skład SQL Server 2008 wchodzi Performance Studio - zintegrowana platforma, którą możemy wykorzystać do zbierania, analizowania, składowania i rozwiązywania problemów związanych z informacjami diagnostycznymi systemu SQL Server. Performance Studio stanowi kompleksowe rozwiązanie do monitorowania wydajności, które oferuje mało obciążający mechanizm zbierania danych, scentralizowane miejsce ich składowania oraz mechanizm raportowania analitycznego danych dotyczących wydajności. SQL Server Management Studio możemy wykorzystać do zarządzania zadaniami zbierania, takimi jak włączanie kolektora danych (ang. Data Collector), uruchamianie procesu kolekcji oraz wyświetlanie raportów na podstawie danych kolekcji systemowej w postaci pulpitu nawigacyjnego wydajności. Możemy również wykorzystać systemowe procedury składowane oraz interfejs programowania aplikacji (API) Performance Studio do budowania własnych narzędzi służących do zarządzania wydajnością.

Performance Studio dostarcza jednolitą infrastrukturę zbierania danych, która składa się z kolektora danych znajdującego się na każdej poddawanej monitorowaniu instancji SQL Server. Kolektor danych jest elastyczny i zapewnia możliwość zarządzania zakresem gromadzonych danych w celu dostosowania ich do środowisk rozwojowych, testowych i produkcyjnych. Dzięki platformie do zbierania danych możemy z łatwością zbierać zarówno ogólne dane diagnostyczne, jak i dane dotyczące wydajności.

Wprowadzenie infrastruktury kolektora danych wiąże się z następującymi nowymi pojęciami i definicjami:

  •  Data Provider. Źródła informacji diagnostycznych i dotyczących wydajności, które mogą obejmować narzędzie SQL Trace, liczniki wydajności oraz kwerendy T-SQL (służące na przykład do pobierania danych z rozproszonych widoków zarządzania).

  •  Collector Type. Logiczna warstwa opakowująca zapewniająca mechanizmy służące do zbierania danych pochodzących z obiektu Data Provider.

  •  Collection Item. Instancja Collector Type. Tworząc obiekt Collection Item, definiujemy właściwości wejściowe i częstotliwość zbierania dla elementu. Collection Item nie może istnieć samodzielnie.

  •  Collection Set. Podstawowa jednostka kolekcji danych. Collection Set stanowi grupę obiektów Collection Item, które są definiowane i instalowane na instancji SQL Server. Obiekty Collection Set mogą być uruchamiane niezależnie od siebie.

  •  Collection Mode. Sposób, w jaki dane w obiekcie Collection Set są zbierane i składowane. Tryb Collection Mode może być ustawiony jako przechowywany lub nieprzechowywany w pamięci podręcznej. Collection Mode wpływa na typ zadań i harmonogramów dostępnych dla obiektu Collection Set.

Kolektor danych może być rozszerzany i wspiera dodawanie nowych obiektów Data Provider.

Gdy skonfigurowany zostaje kolektor danych, tworzona jest relacyjna baza danych o domyślnej nazwie MDW pełniąca rolę hurtowni danych zarządzania, która służy do składowania zebranych danych. Ta baza danych może znajdować się w tym samym systemie, w którym kolektor danych lub na osobnym serwerze. Obiekty w hurtowni danych zarządzania są pogrupowane według następujących trzech prekonfigurowanych schematów, każdy z nich pełni inny cel:

  •  Schemat Core obejmuje tabele i procedury składowane służące do organizowania i identyfikowania zebranych danych.

  •  Schemat Snapshot obejmuje tabele i widoki danych oraz inne obiekty, które wspierają dane pobrane z wykorzystaniem standardowych obiektów Collector Type.

  •  Schemat Custom_Snapshot umożliwia tworzenie nowych tabel danych, które wspierają definiowane przez użytkownika obiekty Collection Set, tworzone na postawie standardowych oraz rozszerzonych obiektów Collector Type.

Performance Studio zapewnia potężny zestaw prekonfigurowanych kolekcji systemowych, takich jak Server Activity, Query Statistics oraz Disk Usage, które pomagają w szybkim analizowaniu zebranych danych. Zazwyczaj rozpoczynamy monitorowanie i diagnozowanie problemów od kolekcji systemowej Server Activity. W SQL Server Management Studio został opublikowany zestaw raportów powiązanych z każdą kolekcją systemową. Raporty te można wykorzystać w roli pulpitów nawigacyjnych wydajności, pomocnych w analizowaniu wydajności systemów baz danych, jak pokazano na Rysunku 1.

Rysunek 1: Raport Performance Studio.

Wydajność technologii magazynowania danych i analizy

Środowiska hurtowni danych muszą radzić sobie ze stale rosnącymi rozmiarami danych i wymaganiami użytkowników, zachowując przy tym optymalną wydajność. Ponieważ kwerendy wykorzystywane w hurtowniach danych stają się coraz bardziej złożone, każda część kwerendy musi być optymalizowana w celu zachowania zadowalającej wydajności. W SQL Server 2008 optymalizator kwerend może dynamicznie wprowadzać zoptymalizowane filtrowanie bitmapowe służące do poprawy wydajności kwerend zawierających złączenia w schemacie gwiazdy. Ponadto SQL Server 2008 oferuje partycjonowanie danych, zaawansowane możliwości indeksowania i widoki indeksowane, które wspierają większe magazyny danych, jak również kolumny rzadkie i efektywne typy danych (jak np. VARDECIMAL), które redukują obciążenia powiązane z dużymi tabelami zawierającymi wiele wartości NULL (typowe dla hurtowni danych).

Aplikacje usług Analysis Services wymagają z reguły wielu złożonych obliczeń. Cenny czas procesora jest marnowany przez obliczanie agregacji, które dają w wyniku NULL lub zero. Obliczenia blokowe w usługach Analysis Services SQL Server 2008 wykorzystują domyślne wartości, minimalizując liczbę wyrażeń, które muszą być przeliczane i ograniczają nawigację po komórkach do jednorazowego przejścia dla całej przestrzeni zamiast jednego przejścia dla każdej komórki, co zasadniczo poprawia wydajność procesu obliczania.

Chociaż wielowymiarowe partycje OLAP (MOLAP) zapewniały lepszą wydajność kwerend, organizacje, które potrzebowały opcji zapisu zwrotnego, musiały dawniej stosować relacyjne partycje OLAP (ROLAP) do utrzymywania tabel z funkcją zapisu zwrotnego. SQL Server 2008 dodaje możliwość realizowania operacji zapisu zwrotnego w partycjach MOLAP, co pozwala uniknąć obniżenia wydajności spowodowanego utrzymywaniem tabel ROLAP z funkcją zapisu zwrotnego.

Wydajność usług Reporting Services

Silnik usług Reporting Services SQL Server 2008 może być poddawany modyfikacjom w celu zwiększenia wydajności i skalowalności usług Reporting Services z przetwarzaniem na żądanie. Raporty nie są już zależne od pamięci, ponieważ proces przetwarzania raportów wykorzystuje pamięć podręczną systemu plików do dostosowania się do aktualnego zapotrzebowania na pamięć operacyjną. Proces przetwarzania raportów może również przystosowywać się do innych procesów zużywających pamięć.

Nowa architektura renderowania likwiduje problemy związane z wykorzystaniem pamięci, które występowały w poprzednich wersjach narzędzi do renderowania. Nowe funkcje renderowania dostarczają również inne ulepszenia, m.in. funkcję renderowania rzeczywistych danych dodaną do funkcji renderującej pliki CSV oraz wsparcie dla zagnieżdżonych regionów danych oraz zagnieżdżonych raportów podrzędnych w funkcji renderującej pliki Excel.

Wydajność usług Integration Services

Procesy ETL są często wykorzystywane do wypełniania i aktualizowania hurtowni danych na podstawie danych biznesowych znajdujących się w źródłowych bazach danych rozsianych po całym przedsiębiorstwie. Dawniej duża część firm potrzebowała jedynie danych historycznych, które wymagały wyłącznie sporadycznego odświeżania danych w hurtowni danych. Obecnie wiele organizacji wymaga, aby aktualne dane w hurtowniach danych były dostępne w czasie niemal rzeczywistym. Ze względu na coraz większe ilości danych i konieczność coraz częstszego odświeżania hurtowni danych, czasochłonność i elastyczność procesów ETL stała się bardziej istotna.

Odświeżanie danych wymaga, aby usługi Integration Services SQL Server dokonywały wyszukań w celu porównania wierszy źródłowych z danymi znajdującymi się już w hurtowni danych. Usługi Integration Services zawierają mechanizm wyszukiwania o znacznie poprawionej wydajności, który redukuje czas działania pakietów i optymalizuje operacje ETL. Innym problemem związanym z tradycyjnymi procesami ETL było określanie, czy dane w źródłowej bazie danych uległy zmianie. Administratorzy musieli być maksymalnie ostrożni, aby uniknąć duplikowania istniejących danych. Niektórzy administratorzy decydowali się nawet na usuwanie wszystkich wartości danych i ponowne pobieranie danych do hurtowni, zamiast zarządzania zmodyfikowanymi danymi. To w dużym stopniu zwiększało obciążenie związane z realizacją procesu ETL. SQL Server 2008 zawiera funkcjonalność Change Data Capture (CDC) służącą do rejestrowania aktualizacji w tabelach zmian. Pomaga ona śledzić modyfikacje danych i zapewniać spójność w hurtowni danych, gdy zaplanowane są operacje odświeżania danych.

 Do początku strony Do początku strony

Skalowanie pionowe z wykorzystaniem SQL Server 2008

Konsolidacje serwerów, duże repozytoria danych oraz złożone kwerendy wymagają fizycznych zasobów wspierających różne obciążenia robocze działające na serwerze. SQL Server 2008 oferuje możliwość pełnego wykorzystania najnowszych technologii sprzętowych. W celu konsolidacji sprzętu na pojedynczym serwerze może zostać zainstalowanych wiele instancji silnika bazy danych oraz wiele instancji usług. Na jednym serwerze można zainstalować nawet do 50 instancji, bez narażania wydajności bądź reaktywności.

Wsparcie dla sprzętu

SQL Server 2008 w pełni wykorzystuje nowoczesne rozwiązania sprzętowe, w tym systemy 64-bitowe, wielordzeniowe oraz wieloprocesorowe. Aby wspierać rosnące obciążenia związane z raportowaniem, analizowaniem i dostępem do danych, SQL Server może adresować aż do 64 GB pamięci, ponieważ wspiera dynamiczną alokację pamięci AWE na sprzęcie 32-bitowym, natomiast na sprzęcie 64-bitowym może adresować aż do 8 terabajtów pamięci.

Gdy do serwera dodana zostaje duża liczba procesorów, czas dostępu do pamięci może się zwiększyć, jeśli procesory muszą uzyskiwać dostęp do pamięci, która nie jest lokalna. Sprzęt zbudowany w architekturze NUMA (Non-uniform Memory Access) pokonuje te ograniczenia, umożliwiając procesorom uzyskiwanie dostępu do pamięci lokalnej. SQLServer wspiera maszyny NUMA, a więc zapewnia korporacjom większą skalowalność oraz większą kontrolę nad wydajnością. Wykorzystanie komputerów, bazujących na architekturze NUMA nie wymaga modyfikowania konfiguracji aplikacji. SQL Server 2008 wspiera zarówno sprzętową, jak i programową architekturę NUMA.

Funkcja Hot-Add

Chociaż możemy z łatwością skalować pionowo instancję SQL Server, dodając do niej pamięć lub procesory, zaplanowanie terminu wyłączenia serwera na czas dodawania sprzętu może być trudne, szczególnie w przypadku kluczowych aplikacji i operacji działających w trybie 24/7. Dzięki SQL Server 2008 możemy skalować pionowo serwer, dodając procesory i pamięć do kompatybilnych maszyn bez konieczności zatrzymywania usług bazodanowych.

Aby można było użyć funkcji Hot-Add Memory, muszą być spełnione następujące wymagania:

SQL Server 2008 Enterprise Edition

Windows Server® 2003 Enterprise Edition lub Windows Server 2003 Datacenter Edition

64-bitowy SQL Server lub 32-bitowy SQL Server z włączonym wsparciem dla AWE

Sprzęt od dostawcy, który wspiera dodawanie pamięci lub oprogramowanie do wirtualizacji

SQL Server uruchomiony z opcją –h

Aby można było dodawać procesory przy użyciu funkcji Hot-Add, muszą być spełnione następujące wymagania:

SQL Server 2008 Enterprise Edition

Windows Server® 2008 Enterprise Edition dla systemów Itanium lub Windows Server 2008 Datacenter Edition dla systemów x64 bit

64-bit SQL Server

Sprzęt, który wspiera dodawanie procesorów lub oprogramowanie do wirtualizacji

Zaawansowane funkcje współbieżności

Skalowanie pionowe serwera bazy danych ma służyć wspieraniu rosnącej liczby użytkowników bądź aplikacji. Jednak, kiedy liczba użytkowników wzrasta, reaktywność może zostać obniżona w wyniku problemów związanych ze współbieżnością, w sytuacji, gdy wiele transakcji usiłuje uzyskać dostęp do tych samych danych. SQL Server 2008 oferuje szeroki zakres poziomów izolacji, które wspierają różnorodne rozwiązania balansujące między współbieżnością a integralnością odczytu. W przypadku wsparcia dla wersjonowania wierszy, SQL Server 2008 zapewnia izolację na poziomie odczytu danych zatwierdzonych, która wiąże się z wykorzystaniem opcji bazy danych READ_COMMITTED_SNAPSHOT oraz izolację na poziomie migawki, która wiąże się z wykorzystaniem opcji bazy danych ALLOW_SNAPSHOT_ISOLATION. Ponadto ustawienie Lock Escalation na tabelach pozwala nam poprawić wydajność i zachować współbieżność, w szczególności w przypadku kwerendowania tabel partycjonowanych.

 Do początku strony Do początku strony

Skalowanie poziome z wykorzystaniem SQL Server 2008

Poza skalowaniem pionowym poszczególnych serwerów w celu wspierania rosnących środowisk danych, SQL Server 2008 oferuje narzędzia i funkcje służące do skalowania poziomego baz danych w celu zwiększania wydajności bardzo dużych baz danych i przenoszenia danych bliżej użytkowników.

Skalowalne współdzielone bazy danych

Hurtownie danych są zazwyczaj wykorzystywane tylko do odczytu przez wielu odbiorców danych, takich jak rozwiązania analityczne i raportujące i dlatego mogą zostać przeciążone przez żądania danych, co obniża ich reaktywność. Aby zminimalizować ten problem, SQL Server 2008 wspiera skalowalne, współdzielone bazy danych, które umożliwiają skalowanie poziome raportujących baz danych tylko do odczytu na wielu instancjach serwera baz danych w celu rozdzielania obciążenia silnika kwerend oraz izolowania kwerend zasobochłonnych. Funkcjonalność skalowalnych, współdzielonych baz danych umożliwia administratorom tworzenie dedykowanego źródła danych tylko do odczytu poprzez umieszczenie kopii bazy danych tylko do odczytu na wielu serwerach raportujących. Aplikacje uzyskują dostęp do spójnych kopii danych, niezależnie od tego, z którym serwerem raportującym nawiązują połączenie.

Routing zależny od danych

Gdy firma zdecyduje się na skalowanie poziome swojej struktury bazy danych na zintegrowane bazy danych, musi określić sposób logicznego podziału danych pomiędzy serwerami oraz sposób kierowania żądań do odpowiedniego serwera. W SQL Server 2008 możemy zaimplementować zależny od danych routing w postaci usługi Service Broker, która odpowiada za kierowanie kwerend do odpowiednich lokalizacji.

Replikacja typu Peer-to-Peer

Replikacja typu Peer-to-Peer może stanowić efektywne rozwiązanie skalowania poziomego, w którym identyczne kopie bazy danych są rozmieszczane w lokalizacjach w całej organizacji, a modyfikacje dokonywane na lokalnej kopii danych są propagowane automatycznie do innych zreplikowanych kopii. SQL Server 2008 pomaga zredukować czas poświęcony na implementację i zarządzanie rozwiązaniem replikacji typu Peer-to-Peer dzięki nowemu kreatorowi Peer-to-Peer Topology i aplikacji do wizualnego projektowania. Wykorzystując replikację typu Peer-to-Peer, możemy umożliwić aplikacjom odczyt lub modyfikację danych w dowolnej bazie danych, która uczestniczy w replikacji. Podczas gdy poprzednie wersje SQL Server wymagały, aby przed dołączeniem nowego węzła administrator zatrzymał aktywności w publikowanych tabelach we wszystkich istniejących węzłach, SQL Server 2008 umożliwia dodawanie i podłączanie nowych węzłów nawet w trakcie działania replikacji.

Mechanizm Query Notification

Większość aplikacji korporacyjnych bazuje na architekturze trójwarstwowej, w której dane pobierane są z serwera baz danych przez jeden lub więcej serwerów aplikacji (często farmę sieci Web), do których z kolei uzyskują dostęp komputery klienckie. W celu poprawienia wydajności wiele serwerów aplikacji przechowuje dane w pamięci podręcznej, aby gwarantować krótsze czasy odpowiedzi na żądania użytkowników. Jedną ze słabych stron mechanizmu przechowywania danych w pamięci podręcznej jest konieczność odświeżania, ponieważ jeśli dane nie są wystarczająco często odświeżane, użytkownicy mogą otrzymywać stare dane, które nie są już aktualne. Częstsze odświeżanie danych stanowi dodatkowe obciążenie, które pociąga za sobą zmniejszenie wydajności serwera aplikacji. SQL Server 2008 pomaga aplikacjom w bardziej efektywnym wykorzystywaniu pamięci podręcznej, stosując mechanizm Query Notification do automatycznego powiadamiania aplikacji warstwy pośredniczącej, gdy dane przechowywane w pamięci podręcznej stają się nieaktualne. Serwer aplikacji może zarejestrować się w usłudze powiadamiania, aby otrzymywać informacje, gdy w bazie danych następują aktualizacje wpływające na dane przechowywane w pamięci podręcznej. Serwer aplikacji może następnie dynamicznie odświeżyć pamięć podręczną przy użyciu zaktualizowanych danych.

Skalowanie poziome usług Analysis Services

Chociaż moduły usług Analysis Server SQL Server 2005 stanowią z reguły bazy danych służące tylko do odczytu, każda instancja utrzymuje swój własny katalog danych. I mimo iż możemy stworzyć wiele kopii bazy danych usług Analysis Services, synchronizując moduły na wielu serwerach, proces synchronizacji modułów powoduje opóźnienia, które mogą być nie do zaakceptowania w wielu środowiskach biznesowych. Usługi Analysis Services SQL Server 2008 pokonują te przeszkody, wspierając wdrożenie usług Analysis Services ze skalowaniem poziomym, w którym pojedyncza, scentralizowana kopia bazy danych usług Analysis Services tylko do odczytu jest udostępniania na wielu instancjach, a dostęp do niej uzyskuje się za pośrednictwem jednego wirtualnego adresu IP, jak pokazano na Rysunku 1.

Rysunek 1: Skalowanie poziome usług Analysis Services

 Do początku strony Do początku strony

Podsumowanie

SQL Server 2008 to bogate środowisko o szerokich możliwościach dostosowanych do wszelkich wymagań związanych z obsługą danych. Zostało ono zoptymalizowane tak, aby zapewniać jak najlepszą wydajność przy pomocy zaawansowanego silnika relacyjnych baz danych, usług Analysis Services, usług Reporting Services oraz usług Integration Services. Nowe oraz dobrze już znane narzędzia i technologie współpracują ze sobą, aby pomóc firmom we wdrażaniu środowisk danych o dowolnych rozmiarach oraz w utrzymywaniu optymalnej wydajności. SQL Server 2008 wspiera najnowsze trendy technologiczne, aby zapewniać firmom elastyczność w skalowaniu pionowym poszczególnych serwerów oraz konsolidowaniu obciążeń roboczych na tych serwerach. A także dostarcza technologie pozwalające skalować poziomo największe bazy danych.

Dodatkowe informacje:

https://www.microsoft.com/sql

 Do początku strony Do początku strony

Microsoft SQL Server 2008