Wydajność i skalowalność SQL Server 2008



Podobne dokumenty
Usługi analityczne budowa kostki analitycznej Część pierwsza.

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

1 Instalowanie i uaktualnianie serwera SQL Server

Część I Istota analizy biznesowej a Analysis Services

Administrowanie bazami danych Microsoft. SQL Server Training Kit. Egzamin Orin Thomas Peter Ward bob Taylor. Przekład: Marek Włodarz

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie

Spis treści. Część I Wprowadzenie do pakietu oprogramowania Analysis Services

Hurtownie danych. 31 stycznia 2017

William R. Stanek. Vademecum administratora. Microsoft. SQL Server Przekład: Krzysztof Szkudlarek

Client Management Solutions i Mobile Printing Solutions

Hurtownie danych. Wstęp. Architektura hurtowni danych. CO TO JEST HURTOWNIA DANYCH

Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL

Client Management Solutions i Mobile Printing Solutions

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Bazy danych 2. Wykład 1

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie

Migracja XL Business Intelligence do wersji

Spis tre±ci. Przedmowa... Cz ± I

Wprowadzenie do technologii Business Intelligence i hurtowni danych

Zarządzaj projektami efektywnie i na wysokim poziomie. Enovatio Projects SYSTEM ZARZĄDZANIA PROJEKTAMI

AE/ZP-27-16/14. Oprogramowanie do wykonywania kopii zapasowych oraz zarządzania maszynami wirtualnymi

Microsoft SQL Server 2012 : vademecum administratora / William R. Stanek. Warszawa, Spis treści

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

Zmiana treści Specyfikacji Istotnych Warunków Zamówienia.

Szkolenie autoryzowane. MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2

Pierwsze wdrożenie SAP BW w firmie

Client Management Solutions i Universal Printing Solutions

Replikacja bazy danych polega na kopiowaniu i przesyłaniu danych lub obiektów bazodanowych między serwerami oraz na zsynchronizowaniu tych danych w

Microsoft SQL Server 2012 Krok po kroku

Część I Rozpoczęcie pracy z usługami Reporting Services

Migracja Business Intelligence do wersji

Usługa archiwizacji danych w systemie Eureca. Marek Jelenik CONTROLLING SYSTEMS sp. z o.o.

Asix. Konfiguracja serwera MS SQL dla potrzeb systemu Asix. Pomoc techniczna NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI

OPIS PRZEDMIOTU ZAMÓWIENIA

RODO a programy Matsol

Co to jest Business Intelligence?

Migracja Business Intelligence do wersji 11.0

Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl

Hurtownie danych - przegląd technologii

Budowa systemu wspomagającego podejmowanie decyzji. Metodyka projektowo wdrożeniowa

2 Konfiguracja i utrzymanie bazy danych Przed rozpoczęciem Lekcja 1: Konfigurowanie plików i grup plików Pliki i grupy plików...

Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)

WYDAJNOŚĆ I SKALOWALNOŚĆ

Migracja Business Intelligence do wersji

Zmiana treści Specyfikacji Istotnych Warunków Zamówienia.

Program szkolenia: Microsoft SQL Server 2012/2014 Databases, przygotowującego do egzaminu

Replikacje. dr inż. Dziwiński Piotr Katedra Inżynierii Komputerowej. Kontakt:

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

SiR_13 Systemy SCADA: sterowanie nadrzędne; wizualizacja procesów. MES - Manufacturing Execution System System Realizacji Produkcji

COMARCH DATA WAREHOUSE MANAGER 6.2

Analiza biznesowa w SQL Server 2008

HURTOWNIE DANYCH I BUSINESS INTELLIGENCE

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

Microsoft SQL Server 2012 : krok po kroku / Patrick LeBlanc. Warszawa, Spis treści

Oferta szkoleniowa Yosi.pl 2012/2013

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Ramowy plan kursu. Lp. Moduły Wyk. Lab. Przekazywane treści

ZAŁĄCZNIK NR 5 - GRUPA PRODUKTÓW 5: OPROGRAMOWANIE BAZODANOWE

SYSTEM VILM ZARZĄDZANIE CYKLEM ŻYCIA ŚRODOWISK WIRTUALNYCH. tel: +48 (032)

X-CONTROL -FUNKCJONALNOŚCI

Referat pracy dyplomowej

7. zainstalowane oprogramowanie zarządzane stacje robocze

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

ActiveXperts SMS Messaging Server

Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows

WHITE PAPER. Planowanie, przygotowanie i testowanie działań na wypadek wystąpienia awarii

Zapytanie ofertowe nr 03/05/2014. Zakup licencji na oprogramowanie do wirtualizacji Działanie POIG 8.2

Zadanie nr 4.5: Oprogramowanie bazodanowe. Lp. Zwartość karty Opis 1 Specyfikacja techniczna / funkcjonalna przedmiotu zamówienia

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Konfiguracja modułu alarmowania w oprogramowaniu InTouch 7.11

Business Intelligence

DOKUMENTACJA BI SOW PFRON. Powykonawcza. dla BI INSIGHT S.A. UL. WŁADYSŁAWA JAGIEŁŁY 4 / U3, WARSZAWA. Strona 1 z 23

Spis treści. O autorach... 12

Migracja Business Intelligence do wersji

Pojęcie bazy danych. Funkcje i możliwości.

Podręcznik użytkownika

Odpowiedź II wyjaśnienie na zapytania do Specyfikacji Istotnych Warunków Zamówienia.

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

Liczba godzin 1,2 Organizacja zajęć Omówienie programu nauczania 2. Tematyka zajęć

Projekt: MS i CISCO dla Śląska

SYMANTEC TO SYMANTEC TO KOPIE ZAPASOWE. ODZYSKIWANIE DANYCH.

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Produkty. MKS Produkty

Szkolenie autoryzowane. MS Wdrażanie hurtowni danych w Microsoft SQL Server 2012

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski. Bazy danych ITA-101. Wersja 1

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

Część I: Podstawy administracji Microsoft SQL Server

Rola analityki danych w transformacji cyfrowej firmy

WDROŻENIE RSA NETWITNESS SUITE W BRANŻY E-COMMERCE

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Pojęcie systemu baz danych

PREZENTACJA FUNKCJONALNA SYSTEMU PROPHIX

Transkrypt:

Wydajność i skalowalność SQL Server 2008

Spis treści Wprowadzenie 3 Optymalizacja wydajności SQL Server 2008 3 Wydajność relacyjnych baz danych 3 Mierzalna, rzeczywista wydajność 3 Wysokowydajny silnik przetwarzania zapytań 3 Narzędzia optymalizacji wydajności 4 Kontrola wykorzystania zasobów 4 Performance Studio 4 Wydajność hurtowni i analizy danych 5 Wydajność usług Reporting Services 6 Wydajność usług Integration Services 6 Skalowanie SQL Server 2008 wzwyż 6 Obsługa sprzętu 7 Instalowanie sprzętu na gorąco 7 Zaawansowane mechanizmy współbieżności 8 Skalowanie SQL Server 2008 wszerz 8 Skalowalne bazy współdzielone 8 Przekierowywanie zapytań na podstawie danych 9 Replikacja peer-to-peer 9 Powiadamianie o zmianie wyników zapytania 9 Skalowanie wszerz usług Analysis Services 9 Podsumowanie 10 2

Wprowadzenie Dzisiejsze organizacje, by móc konkurować na globalnym rynku, potrzebują łatwego i szybkiego dostępu do danych biznesowych. Potrzeby te powodują, że objętość relacyjnych i analitycznych baz danych stale rośnie, różne produkty coraz częściej sprzedawane są z osadzoną (embedded) bazą danych, a wiele firm decyduje się na konsolidację serwerów w celu uproszczenia procesów zarządzania bazami danych. Pomimo rozwoju środowisk bazodanowych pod względem złożoności i objętości przechowywanych danych, organizacje są zmuszone utrzymać optymalną wydajność systemów bazodanowych. W dokumencie tym zamieszczono opis technologii zapewniających wysoką wydajność i skalowalność SQL Server 2008 oraz wyjaśniono, jak wykorzystać te technologie do: optymalizacji wydajności baz danych dowolnej wielkości z wykorzystaniem narzędzi i funkcji udostępnianych przez silnik bazodanowy, usługi analityczne, usługi raportowania i usługi integracyjne, skalowania serwerów wzwyż (scale up) w celu pełnego wykorzystania nowych technologii sprzętowych, skalowania środowisk bazodanowych wszerz (scale out) w celu optymalizacji czasu odpowiedzi i przeniesienia danych bliżej użytkowników. Optymalizacja wydajności SQL Server 2008 Ponieważ objętość i złożoność danych korporacyjnych stale rośnie, należy podjąć odpowiednie kroki w celu zapewnienia optymalnego czasu dostępu do danych. W SQL Server 2008 zawarto wiele funkcji i udoskonaleń podnoszących wydajność we wszystkich obszarach funkcjonalności serwera, takich jak obsługa baz danych OLTP (Online Transaction Processing), obsługa baz danych OLAP (Online Analytical Processing), raportowanie oraz obsługa procesów ekstrakcji, transformacji i ładowania danych (ETL). Wydajność relacyjnych baz danych W większości środowisk biznesowych podstawę dla krytycznych dla działania firmy aplikacji i usług stanowią relacyjne bazy danych. Mimo że objętość danych oraz liczba użytkowników i aplikacji korzystających ze składnic danych relacyjnych stale rosną, organizacje muszą mieć możliwość zagwarantowania stałego poziomu wydajności i czasu odpowiedzi systemów bazodanowych. SQL Server 2008 zawiera wydajny silnik bazodanowy, pozwalający na obsługę największych relacyjnych baz danych i przetwarzanie złożonych zapytań. Mierzalna, rzeczywista wydajność Pod względem wydajności SQL Server 2008 jest chlubnym następcą wcześniejszych wersji SQL Server i zapewnia organizacjom najwyższe standardy wydajności baz danych. Wysoka wydajność SQL Server została potwierdzona wynikiem testu TPC C, opracowanego przez Transaction Processing Performance Council. Co więcej, firma Microsoft jako pierwszy producent baz danych opublikowała wyniki nowszego testu TPC E, który lepiej odzwierciedla obciążenia generowane przez zadania OLTP charakterystyczne dla współczesnych organizacji. Ponadto SQL Server udowodnił swoją zdatność do budowy wielkich, a przy tym wydajnych hurtowni danych, uzyskując rekordowy wynik testu TPC H w kategorii trzech terabajtów. SQL Server 2008, oparty na najlepszych rozwiązaniach z poprzednich wersji SQL Server, oferuje jeszcze większe możliwości pod względem skalowalności i wysokiej wydajności. Wysokowydajny silnik przetwarzania zapytań Wbudowany w SQL Server wysokowydajny silnik przetwarzania zapytań zapewnia maksymalną wydajność aplikacji uruchamianych przez użytkowników. Silnik ten analizuje zapytania i w oparciu o tworzone na bieżąco statystyki dotyczące indeksów, selektywności kluczy i objętości danych generuje optymalne plany wykonania, czyli schematy realizacji danego zapytania. SQL Server 2008 pozwala na blokowanie planów wykonania w celu zapewnienia przewidywalnej wydajności najczęściej wykonywanych zapytań. Silnik przetwarzania zapytań pozwala także wykorzystać możliwości procesorów wielordzeniowych i systemów wieloprocesorowych, tworząc plany wykonania, które mogą być realizowane z wykorzystaniem technik przetwarzania równoległego, co jeszcze bardziej zwiększa wydajność. Zazwyczaj operacjami najbardziej kosztownymi pod względem wydajności zapytań są dyskowe operacje wejścia-wyjścia. W budowane w SQL Server funkcje dynamicznego buforowania danych pozwalają na zmniejszenie liczby operacji dostępu do dysku fizycznego, wymaganych do pobrania lub modyfikacji danych, a silnik przetwarzania zapytań może znacznie podnieść ogólną wydajność przetwarzania poprzez przewidywanie, 3

które strony danych będą potrzebne do realizacji danego planu wykonania i ładowanie tych stron do bufora z odpowiednim wyprzedzeniem. Co więcej, natywna obsługa kompresji danych w SQL Server 2008 pozwala na zmniejszenie liczby stron danych, jakie muszą zostać odczytane, co także zwiększa wydajność zadań generujących dużą liczbę operacji wejścia-wyjścia. SQL Server obsługuje partycjonowanie tabel i indeksów, co umożliwia administratorom kontrolowanie fizycznej lokalizacji danych poprzez przypisywanie poszczególnych partycji danej tabeli lub indeksu do różnych grup plików, znajdujących się na niezależnych urządzeniach składowania danych. Optymalizacje wprowadzone w silniku przetwarzania zapytań w SQL Server 2008 pozwalają na zrównoleglenie dostępu do partycjonowanych danych, co znacznie podnosi wydajność. Narzędzia optymalizacji wydajności W SQL Server 2008 dostępne są narzędzia SQL Server Profiler i Database Engine Tuning Advisor. Narzędzie SQL Server Profiler pozwala na rejestrowanie zdarzeń zachodzących podczas realizacji typowych zadań przez aplikację. Zapisy można następnie przeanalizować za pomocą narzędzia Database Engine Tuning Advisor, które podaje zalecenia dotyczące indeksowania i partycjonowania danych, a także pozwala je łatwo zaimplementować i podnieść tym samym wydajność aplikacji. Po utworzeniu indeksów i partycji najlepiej odpowiadających charakterystyce obciążeń generowanych przez aplikację, można za pomocą narzędzia SQL Server Agent zaplanować automatyczną konserwację bazy danych. Automatyczna konserwacja pozwala na okresową reorganizację lub odbudowywanie indeksów oraz aktualizowanie statystyk indeksów i statystyk selektywności, co pozwala na utrzymanie optymalnej wydajności pomimo fragmentacji fizycznych stron danych w bazie, spowodowanej modyfikowaniem i wprowadzaniem nowych danych. Kontrola wykorzystania zasobów Pojedynczy serwer często wykorzystywany jest do świadczenia wielu usług dostępu do danych. W niektórych przypadkach różne aplikacje i zadania korzystają z tego samego źródła danych. W przypadku serwerów, na których skonsolidowano wiele zadań, zapewnienie przewidywalnej wydajności danego zadania może być trudne, ponieważ wiele uruchomionych jednocześnie zadań rywalizuje o dostęp do zasobów systemowych. Gdy na jednym serwerze uruchomione jest wiele zadań, administratorzy muszą unikać problemów, takich jak niekontrolowane zapytania (runaway query), uniemożliwiające pozostałym zadaniom dostęp do zasobów systemowych, czy zadania o niskich priorytetach, ograniczające wydajność zadań o wysokich priorytetach. SQL Server 2008 zawiera moduł kontroli wykorzystania zasobów (Resource Governor), dzięki któremu administratorzy mogą definiować limity i przypisywać poszczególnym zadaniom, uruchamianym w instancji SQL Server, różne priorytety. Zadania klasyfikowane są w oparciu o różne parametry, takie jak użytkownicy, aplikacje czy bazy danych. Definiując ograniczenia wykorzystania zasobów, administratorzy mogą zminimalizować prawdopodobieństwo wystąpienia problemu niekontrolowanych zapytań, a także ograniczyć zasoby dostępne dla zadań wykazujących tendencję do monopolizowania zasobów. Natomiast poprzez ustawianie priorytetów administratorzy mogą optymalizować wydajność procesów o znaczeniu krytycznym, przy jednoczesnym zachowaniu przewidywalnej wydajności innych zadań uruchamianych na serwerze. Performance Studio SQL Server 2008 zawiera narzędzie Performance Studio zintegrowaną platformę pozwalającą na gromadzenie, przechowywanie i analizowanie informacji diagnostycznych na temat SQL Server oraz rozwiązywanie problemów na podstawie zgromadzonych informacji. Performance Studio to całościowe rozwiązanie monitorowania wydajności, które obejmuje charakteryzujące się niewielkim zapotrzebowaniem na zasoby systemowe gromadzenie danych na temat wydajności oraz funkcje scentralizowanego przechowywania, analizowania i raportowania zgromadzonych danych. Do zarządzania gromadzeniem danych włączenia modułu gromadzenia danych, uruchomienia zbioru gromadzenia, przeglądania raportów systemowych zbiorów gromadzenia w postaci zbioru wykresów można wykorzystać SQL Server Management Studio. Do budowy własnych narzędzi zarządzania wydajnością, opartych na Performance Studio, można wykorzystać systemowe procedury składowane i interfejs programistyczny Performance Studio API. Performance Studio zapewnia zunifikowaną infrastrukturę gromadzenia danych, w skład której wchodzi moduł gromadzenia danych dla każdej instancji SQL Server, którą chcemy monitorować. Moduł gromadzenia danych jest elastyczny i pozwala dopasować zakres gromadzonych danych w zależności od różnych potrzeb, związanych ze środowiskiem 4

programistycznym, testowym i produkcyjnym. Platforma gromadzenia danych pozwala na jednoczesne gromadzenie zarówno danych na temat wydajności, jak i ogólnych danych diagnostycznych. Poniżej podano pojęcia i definicje związane z infrastrukturą gromadzenia danych: Dostawca danych (Data Provider). Źródło informacji na temat wydajności i informacji diagnostycznych, które mogą zawierać ślady wykonania zapytań SQL, liczniki wydajności i zapytania Transact-SQL (pozwalające na przykład pobrać dane z rozproszonych widoków zarządzania). Typ gromadzenia (Collector Type). Logiczne opakowanie, będące mechanizmem pobierania danych od dostawcy danych. Element gromadzenia (Collection Item). Instancja typu gromadzenia. Do utworzenia elementu gromadzenia niezbędne jest zdefiniowanie parametrów wejściowych oraz częstotliwości gromadzenia. Element gromadzenia nie może istnieć samodzielnie. Zbiór gromadzenia (Collection Set). Podstawowa jednostka gromadzenia danych. Zbiór gromadzenia to grupa elementów gromadzenia, zdefiniowanych i uruchomionych w instancji SQL Server. Zbiory gromadzenia mogą pracować niezależnie od siebie. Tryb gromadzenia (Collection Mode). Sposób gromadzenia i przechowywania danych ze zbiorów gromadzenia. Tryb gromadzenia może być buforowany lub niebuforowany. Tryb gromadzenia ma wpływ na typy zadań i harmonogramy istniejące w zbiorze gromadzenia. Moduł gromadzenia danych jest rozszerzalny i pozwala na dodawanie nowych dostawców danych. Skonfigurowanie modułu gromadzenia danych powoduje utworzenie relacyjnej bazy danych o domyślnej nazwie MDW. Baza ta pełni rolę składnicy danych zarządzania, w której przechowywane są zgromadzone dane. Baza ta może znajdować się w tym samym systemie, co moduł gromadzenia danych lub na niezależnym serwerze. Obiekty składnicy danych zarządzania są zgrupowane w trzech prekonfigurowanych schematach. Każdy schemat ma inne przeznaczenie: Schemat Core zawiera tabele i procedury składowane służące do organizowania i identyfikowania zgromadzonych danych. Schemat Snapshot zawiera tabele, widoki i inne obiekty służące do przechowywania danych zebranych za pośrednictwem standardowych typów gromadzenia. Schemat Custom_Snapshot pozwala na tworzenie nowych tabel, służących do obsługi zdefiniowanych przez użytkownika zbiorów gromadzenia, utworzonych na podstawie standardowych i niestandardowych typów gromadzenia. Performance Studio zawiera rozbudowany zestaw prekonfigurowanych systemowych zbiorów gromadzenia, w tym zbiory Server Activity (aktywność serwera), Query Statistics (statystyki zapytań) i Disk Usage (wykorzystanie dysków). Zestaw ten pozwala na szybkie analizowanie zgromadzonych danych. Proces monitorowania systemu i rozwiązywania problemów rozpoczyna się zwykle od uruchomienia systemowego zbioru gromadzenia Server Activity. Z każdym systemowym zbiorem gromadzenia związany jest dostępny w SQL Server Management Studio zestaw raportów, który można wykorzystać jako tablicę pomiarową, pomocną w analizowaniu wydajności systemu bazodanowego. Przykład takiej tablicy pokazano na ilustracji 1. Ilustracja 1. Raport Performance Studio Wydajność hurtowni i analizy danych Hurtownie danych muszą nadążać za rosnącą objętością danych i wymaganiami użytkowników, utrzymując przy tym optymalną wydajność. Ponieważ zapytania do hurtowni danych stają się coraz bardziej złożone, utrzymanie akceptowalnej wydajności wymaga optymalizacji wszystkich członów zapytania. 5

W SQL Server 2008 optymalizator zapytań w celu podniesienia wydajności zapytań o schemacie gwiazdy może dynamicznie wprowadzać zoptymalizowany filtr oparty na mapie bitowej. Ponadto SQL Server 2008 obsługuje partycjonowanie danych, zaawansowane funkcje indeksowania, indeksowane widoki, pozwalające na obsługę większych składnic danych, a także kolumny rzadkie oraz wydajne typy danych, takie jak VARDECIMAL, zmniejszające moc obliczeniową potrzebną do obsługi dużych tabel, zawierających wiele wartości NULL (sytuacja typowa dla hurtowni danych). Większość zastosowań usług Analysis Services związana jest ze złożonymi i długotrwałymi obliczeniami. Obliczanie agregacji, których wynikiem są wartości NULL lub zero, to marnowanie cennego czasu procesora. W obliczeniach blokowych w usługach Analysis Services w SQL Server 2008 wprowadzono obsługę wartości domyślnych, zmniejszono liczbę wyrażeń, jakie muszą być obliczone, i ograniczono liczbę operacji nawigacji po komórkach do jednej dla całego obszaru, zamiast jednej dla każdej komórki, co znacznie podniosło wydajność obliczeń. Organizacje, którym potrzebna jest możliwość przeprowadzania operacji writeback, musiały do tej pory ze względu na konieczność utrzymywania tabel writeback używać relacyjnych partycji OLAP (ROLAP), podczas gdy wielowymiarowe partycje OLAP (Multi-dimensional OLAP MOLAP) zapewniają większą wydajność zapytań. W SQL Server 2008 wprowadzono możliwość przeprowadzania operacji writeback także na partycjach MOLAP, co pozwala uniknąć ograniczenia wydajności związanego z utrzymywaniem tabel writeback. Wydajność usług Reporting Services Silnik usług Reporting Services w SQL Server 2008 został gruntownie przeprojektowany w celu zwiększenia wydajności i skalowalności funkcji generowania raportów na żądanie. Wielkość generowanych raportów nie jest już ograniczona wielkością dostępnej pamięci operacyjnej, ponieważ system przetwarzania raportów korzysta teraz z bufora plikowego, pozwalającego zmniejszyć zapotrzebowanie na pamięć operacyjną. Przetwarzanie raportów pozwala także na współpracę z innymi procesami, alokującymi duże ilości pamięci operacyjnej. W nowej architekturze renderowania usunięto problemy z wykorzystaniem pamięci, znane z wcześniejszych wersji modułów renderujących. W samych modułach także wprowadzono udoskonalenia, na przykład rozbudowany moduł renderujący CSV czy obsługa zagnieżdżonych regionów danych i zagnieżdżonych podraportów w module renderującym Excel. Wydajność usług Integration Services Procesy ETL to popularna metoda ładowania i aktualizowania danych w hurtowniach danych na podstawie danych biznesowych zgromadzonych w źródłowych bazach danych w całej firmie. Dotychczas większość firm wykorzystywała w swoich hurtowniach danych tylko dane historyczne i nie aktualizowała ich zbyt często. Obecnie wiele firm wymaga, by dane w hurtowni danych aktualizowane były niemalże w czasie rzeczywistym. W miarę wzrostu objętości danych w hurtowni danych i wzrostu częstotliwości aktualizacji tych danych, wydajność i elastyczność procesów ETL mają coraz większe znaczenie. Podczas aktualizowania danych, usługi Integration Services w SQL Server muszą przeglądać dane źródłowe, porównując je z danymi znajdującymi się już w hurtowni danych. W nowej wersji Integration Services znacznie podniesiono wydajność przeszukiwania, co pozwoliło skrócić czasy realizacji pakietów i zoptymalizować operacje ETL. Kolejny problem, dotyczący tradycyjnych procesów ETL, to określanie, które dane zostały zmodyfikowane w źródłowej bazie danych. Administratorzy musieli bardzo uważać, żeby przypadkiem nie zduplikować istniejących danych. Niektórzy administratorzy, zamiast asprawdzać, które dane zostały zmienione, woleli usuwać wszystkie dane i ładować je na nowo. Powodowało to znaczny wzrost nakładów pracy na obsługę procesów ETL. W SQL Server 2008 wprowadzono funkcjonalność rejestracji zmian danych (Change Data Capture CDC), która pozwala na zapisywanie modyfikacji w tabelach zmian, co znacznie ułatwia śledzenie zmian danych i zagwarantowanie spójności danych w hurtowni podczas aktualizowania danych. Skalowanie SQL Server 2008 wzwyż Konsolidacja serwerów, duże objętości składowanych danych, realizacja złożonych zapytań i inne zadania uruchamiane na serwerze wymagają odpowiednich zasobów fizycznych. SQL Server 2008 pozwala w pełni wykorzystać najnowsze technologie sprzętowe. W celu konsolidacji wykorzystania sprzętu, na jednym serwerze można zainstalować wiele instancji silnika bazy danych i usług Analysis Services. Na jednym serwerze, bez widocznego pogorszenia wydajności i czasu odpowiedzi, można zainstalować nawet 50 instancji. 6

Obsługa sprzętu SQL Server 2008 pozwala w pełni wykorzystać możliwości nowoczesnego sprzętu, w tym systemów 64 bitowych, wielordzeniowych i wieloprocesorowych. Na sprzęcie 32 bitowym SQL Server potrafi zaadresować do 64 GB pamięci operacyjnej i obsługuje dynamiczną alokację pamięci z wykorzystaniem rozszerzeń AWE, natomiast na sprzęcie 64 bitowym potrafi zaadresować do 8 terabajtów pamięci, co pozwala na obsługę złożonych zadań raportowania, analitycznych i ładowania danych. Gdy w serwerze zainstalowana jest duża liczba procesorów, a procesory muszą korzystać z pamięci, która nie jest dla nich pamięcią lokalną, dostęp do pamięci może być znacznie spowolniony. Sprzęt oparty na architekturze NUMA (non-uniform memory access) pozwala obejść te ograniczenia, umożliwiając procesorom dostęp do pamięci lokalnej. SQL Server potrafi wykorzystać sprzęt oparty na architekturze NUMA, co zapewnia wyższą skalowalność i szersze możliwości uzyskania większej wydajności. Aby móc wykorzystać architekturę NUMA nie trzeba wprowadzać żadnych zmian w konfiguracji aplikacji. SQL Server 2008 potrafi wykorzystać zarówno sprzętowe, jak i software owe implementacje NUMA. Instalowanie sprzętu na gorąco Chociaż skalowanie instancji SQL Server wzwyż poprzez rozszerzanie pamięci operacyjnej i zwiększanie liczby procesorów jest łatwe, planowanie przestojów na rozszerzanie sprzętu w celu skalowania aplikacji o znaczeniu krytycznym i działających w trybie 24x7 może być trudne. Dlatego SQL Server 2008 pozwala na zwiększanie liczby procesorów i rozszerzanie pamięci w przystosowanych do tego komputerach bez potrzeby zatrzymywania usług bazodanowych. W przypadku dodawania pamięci na gorąco spełnione muszą być następujące warunki: SQL Server 2008 Enterprise Edition, Windows Server 2003 Enterprise Edition lub Windows Server 2003 Datacenter Edition, SQL Server w wersji 64 bitowej albo 32 bitowej z włączoną obsługą rozszerzenia AWE, sprzęt z obsługą rozszerzania pamięci na gorąco lub praca pod kontrolą oprogramowania wirtualizacyjnego, SQL Server uruchomiony z parametrem h. W przypadku dodawania procesorów na gorąco spełnione muszą być następujące warunki: SQL Server 2008 Enterprise Edition, Windows Server 2008 Enterprise Edition w wersji dla procesorów Itanium Systems albo Windows Server 2008 Datacenter Edition w wersji dla systemów x64, SQL Server w wersji 64 bitowej, sprzęt z obsługą dodawania procesorów na gorąco lub praca pod kontrolą oprogramowania wirtualizacyjnego. Zaawansowane mechanizmy współbieżności Celem skalowania serwerów bazodanowych wzwyż jest umożliwienie obsługi większej liczby użytkowników lub aplikacji. Jednakże zwiększenie liczby użytkowników może spowodować pogorszenie czasu odpowiedzi, wynikające z problemów współbieżności, gdy wiele transakcji próbuje uzyskać dostęp do tych samych danych. SQL Server 2008 obsługuje różne poziomy izolacji, co pozwala na budowanie różnorodnych rozwiązań, pozwalających zwiększyć współbieżność z jednoczesnym zachowaniem integralności odczytu danych. W celu zapewnienia obsługi wersjonowania na poziomie wierszy, w SQL Server 2008 dostępny jest poziom izolacji read committed, korzystający z opcji READ_COMMITTED_SNAPSHOT, oraz poziom izolacji migawkowej, korzystający z opcji ALLOW_SNAPSHOT_ISOLATION. Ponadto ustawienie eskalacji blokad na tabeli pozwala na podniesienie wydajności i utrzymanie wysokiego poziomu współbieżności, szczególnie w przypadku zapytań realizowanych na tabelach partycjonowanych Skalowanie SQL Server 2008 wszerz Poza skalowaniem poszczególnych serwerów wzwyż w celu umożliwienia obsługi coraz większych objętości danych, SQL Server 2008 pozwala także na skalowanie baz danych wszerz. Odpowiednie narzędzia i funkcje pozwalają podnieść wydajność baz danych o bardzo dużej objętości i przenieść dane bliżej użytkowników. Skalowalne bazy współdzielone Hurtownie danych są zwykle wykorzystywane przez wiele klientów jednocześnie wyłącznie do odczytu danych (takie klienty to na przykład rozwiązania analizy i raportowania) i mogą łatwo zostać przeciążone żądaniami dostępu do danych, co powoduje wydłużenie czasu odpowiedzi. SQL Server 2008 pozwala na obejście tego problemu, zapewniając obsługę 7

skalowalnych, współdzielonych baz danych. Funkcja ta pozwala na rozmieszczenie służących do raportowania i pracujących w trybie tylko do odczytu baz danych na wielu serwerach bazodanowych w celu rozproszenia obciążenia silnika przetwarzania zapytań i odizolowania zapytań intensywnie wykorzystujących zasoby systemowe. Funkcja obsługi skalowalnych, współdzielonych baz danych pozwala administratorom na tworzenie dedykowanych źródeł danych tylko do odczytu poprzez montowanie kopii bazy danych tylko do odczytu na wielu serwerach raportowania. Aplikacje uzyskują dostęp do tej samej wersji danych niezależnie od tego, do którego serwera raportowania są podłączone. Przekierowywanie zapytań na podstawie danych Gdy organizacja decyduje się na rozproszenie struktury swojej bazy danych w sfederowanej bazie danych, musi określić, jak dokonać logicznego podziału danych pomiędzy serwery oraz w jaki sposób przekierowywać żądania odczytu danych do odpowiedniego serwera. W SQL Server 2008 przekierowywanie zapytań na podstawie danych można zaimplementować jako usługę w oparciu o brokera usług (Service Broker), który będzie przekierowywał zapytania do odpowiednich lokalizacji. Powiadamianie o zmianie wyników zapytania Większość aplikacji korporacyjnych oparta jest na architekturze trójwarstwowej dane pobierane są z serwera bazy danych przez serwery aplikacyjne (pracujące często w farmie serwerów), a do serwerów aplikacyjnych uzyskują dostęp komputery klienckie. W celu podniesienia wydajności serwery aplikacyjne buforują dane, co pozwala na skrócenie czasu odpowiedzi. Bufory trzeba dość często odświeżać, ponieważ przy zbyt małej częstotliwości odświeżania użytkownicy mogą otrzymywać przeterminowane i nieaktualne dane. Jednakże wyższa częstotliwość odświeżania danych powoduje większe wykorzystanie zasobów serwerów i może być przyczyną ograniczenia wydajności serwerów aplikacyjnych. SQL Server 2008 pozwala na bardziej efektywne zarządzanie buforem aplikacji z wykorzystaniem powiadomień o zmianie wyników zapytania. Technika ta umożliwia automatyczne powiadamianie aplikacji warstwy pośredniej o dezaktualizacji buforowanych danych. Serwer aplikacyjny może zaprenumerować powiadomienia i być informowany o modyfikacjach dotyczących danych przechowywanych w buforze. Po otrzymaniu powiadomienia serwer aplikacyjny może automatycznie odświeżyć zawartość bufora. Replikacja peer-to-peer Replikacja peer-to-peer umożliwia zbudowanie efektywnego rozwiązania skalowania wszerz, w którym identyczne kopie bazy danych są rozproszone w różnych lokalizacjach w organizacji w taki sposób, że modyfikacje wprowadzone w lokalnej kopii bazy danych są automatycznie przekazywane do innych replikowanych kopii. Dostępne w SQL Server 2008 narzędzie Peer-to-Peer Topology Wizard i kreator graficzny pozwalają zmniejszyć ilość czasu, jaki trzeba poświęcić na implementację rozwiązania replikacji peer-to-peer. Dzięki replikacji peer-to-peer aplikacje mogą odczytywać i modyfikować dane w dowolnej z baz danych biorących udział w replikacji. We wcześniejszych wersjach SQL Server, dołączenie nowego węzła do istniejącego węzła replikacji wymagało wstrzymania wszelkich operacji na opublikowanych tabelach, natomiast w SQL Server 2008 nowe węzły mogą być dodawane i podłączane także podczas trwania replikacji. Skalowanie wszerz usług Analysis Services Kostki Analysis Services w SQL Server 2005 są zazwyczaj bazami danych pracującymi w trybie tylko do odczytu, jednak każda instancja utrzymuje swój własny katalog danych. Pomimo że możliwe jest utworzenie wielu kopii bazy danych Analysis Services poprzez synchronizację kostek pomiędzy serwerami, proces synchronizacji kostek wprowadza pewne opóźnienie, które w wielu środowiskach biznesowych nie jest dopuszczalne. W Analysis Services w SQL Server 2008 usunięto te problemy, umożliwiając skalowanie wdrożeń Analysis Services. W takiej sytuacji pojedyncza, centralna, pracująca w trybie tylko do odczytu kopia bazy danych Analysis Services jest współdzielona przez wiele instancji usług i dostępna pod jednym, wirtualnym adresem IP. Przykład takiego wdrożenia przedstawiono na ilustracji 2. 8

Ilustracja 2. Skalowanie wszerz usług Analysis Services Podsumowanie SQL Server 2008 to bogate i silne środowisko, pozwalające zaspokoić wszelkie potrzeby dostępu do danych. Zostało zoptymalizowane tak, by zapewnić jak najwyższą wydajność zaawansowanego silnika relacyjnych baz danych, usług Analysis Services, usług Reporting Services oraz usług Integration Services. Nowe i udoskonalone narzędzia oraz funkcje pozwalają na obsługę środowisk bazodanowych dowolnej wielkości i utrzymanie optymalnej wydajności serwera. SQL Server 2008 pozwala w pełni wykorzystać możliwości najnowszych technologii, umożliwiając skalowanie wzwyż pojedynczych serwerów i konsolidowanie wielu zadań na jednym serwerze. Zawiera także technologie niezbędne do skalowania największych baz danych wszerz. Więcej informacji: http://www.microsoft.com/poland/sql/ 9

Artykuł techniczny na temat SQL Server Autor: Ann Weber (Content Master) Korekta techniczna: Michael Raheem i Niraj Nagrani Redaktor projektu: Joanne Hodgins Data publikacji: sierpień 2007 Dotyczy: SQL Server 2008 Streszczenie: Microsoft SQL Server 2008 zawiera wszystkie narzędzia i technologie niezbędne do budowy relacyjnych baz danych, systemów raportowania i hurtowni danych w środowiskach korporacyjnych, zapewniając przy tym wysoką wydajność i optymalny czas realizacji zapytań. SQL Server 2008 pozwala na skalowanie serwerów wzwyż (scale up) i konsolidację serwerów w oparciu o najnowsze technologie sprzętowe, a także na skalowanie wszerz (scale out) największych rozwiązań bazodanowych. Zastrzeżenia prawne Dokument ten ma charakter wstępny i może zostać znacznie zmieniony przed udostępnieniem ostatecznej wersji opisanego w nim produktu. Informacje zawarte w tym dokumencie odzwierciedlają aktualne w dniu publikacji stanowisko korporacji Microsoft w sprawie zagadnień tu przedstawionych. Ponieważ Microsoft musi reagować na zmienne warunki rynku, nie należy interpretować tego tekstu jako zobowiązania ze strony Microsoft. Microsoft nie może gwarantować zgodności przedstawionych tu informacji po dacie publikacji. Dokument ten ma charakter wyłącznie informacyjny. FIRMA MICROSOFT NIE UDZIELA ŻADNYCH GWARANCJI (WYRAŻONYCH WPROST LUB DOMYŚLNIE), W TYM TAKŻE USTAWOWEJ RĘKOJMI ZA WADY FIZYCZNE I PRAWNE, CO DO INFORMACJI ZAWARTYCH W TYM DOKUMENCIE. Przestrzeganie wszystkich stosownych praw autorskich leży w gestii użytkownika. Bez ograniczania praw autorskich, żadnej części niniejszego dokumentu nie można kopiować, przechowywać w systemach przetwarzania danych ani przekazywać w żadnej formie za pomocą jakichkolwiek nośników (elektronicznych, mechanicznych, w postaci fotokopii, nagrań lub w inny sposób) w jakimkolwiek celu bez pisemnej zgody firmy Microsoft. Firma Microsoft może posiadać patenty lub mieć rozpoczęte postępowania patentowe, prawa autorskie, znaki towarowe oraz inne prawa własności intelektualnej, obejmujące zagadnienia poruszane w tym dokumencie. Z wyjątkiem przypadków jawnie objętych pisemnymi umowami licencyjnymi, uzyskanymi z firmy Microsoft, otrzymanie tego dokumentu nie oznacza udzielenia licencji na te patenty, znaki towarowe, prawa autorskie lub inne prawa własności intelektualnej. 2007 Microsoft Corporation. Wszelkie prawa zastrzeżone. Microsoft, SQL Server i Windows Server są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i innych krajach. Nazwy wymienionych w dokumencie firm i produktów mogą być znakami towarowymi ich odpowiednich właścicieli.

2008 Microsoft Corporation. Wszelkie prawa zastrzeżone. Microsoft jest znakiem towarowym firm grupy Microsoft. Pozostałe znaki towarowe są własnością ich odpowiednich właścicieli. Microsoft Corporation. One Microsoft Way. Redmond, WA 98052-6399. USA