Optymalizacja bazy danych. Bazy danych 265

Podobne dokumenty
Konfiguracja modułu alarmowania w oprogramowaniu InTouch 7.11

Ćwiczenie Zmiana sposobu uruchamiania usług

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP

Problemy techniczne SQL Server. Zarządzanie bazami danych na serwerze SQL

Problemy techniczne SQL Server

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Problemy techniczne SQL Server

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Problemy techniczne SQL Server. Zarządzanie bazami danych na serwerze SQL

Instalacja Webroot SecureAnywhere przy użyciu GPO w Active Directory

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows Vista

Laboratorium A: Podstawy administrowania serwerem

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

Laboratorium A: Monitorowanie aktywności serwera

5. Administracja kontami uŝytkowników

Instrukcja obsługi programu CMS Dla rejestratorów HANBANG

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs.

Laboratorium - Archiwizacja i odzyskiwanie danych w systemie Windows XP

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Laboratorium - Archiwizacja i odzyskiwanie danych w Windows Vista

Laboratorium 16: Udostępnianie folderów

Państwowa Wyższa Szkoła Zawodowa w Gorzowie Wlkp. Laboratorium architektury komputerów

Laboratorium - Zarządzanie pamięcią wirtualną w systemie Windows Vista

Konta uŝytkowników. Konta uŝytkowników dzielą się na trzy grupy: lokalne konta uŝytkowników, domenowe konta uŝytkowników, konta wbudowane

Instalacja aplikacji

11. Rozwiązywanie problemów

Laboratorium - Zarządzanie pamięcią wirtualną w systemie Windows XP

dziennik Instrukcja obsługi

Zastępstwa Optivum. Jak przenieść dane na nowy komputer?

weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, Warszawa

Szkolenie dla nauczycieli SP10 w DG Operacje na plikach i folderach, obsługa edytora tekstu ABC. komputera dla nauczyciela. Materiały pomocnicze

Instrukcja instalacji aplikacji Generator Wniosków Aplikacyjnych Edytor.

Pracownia internetowa w szkole podstawowej (edycja jesień 2005)

Instrukcja instalacji aplikacji Generator Wniosków Aplikacyjnych Edytor.

Program dla praktyki lekarskiej. Instalacja programu dreryk

Instrukcja instalacji aplikacji Generator Wniosków Aplikacyjnych Edytor.

Problemy techniczne SQL Server

Instrukcja instalacji i obsługi programu Szpieg 3

Pracownia internetowa w szkole ZASTOSOWANIA

Laboratorium - Archiwizacja i odzyskiwanie danych w Windows 7

Problemy techniczne SQL Server

BAZA_1 Temat: Tworzenie i modyfikowanie formularzy.

Szpieg 2.0 Instrukcja użytkownika

Program Płatnik Instrukcja instalacji

Podręcznik użytkownika

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Win Admin Monitor Instrukcja Obsługi

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Memeo Instant Backup Podręcznik Szybkiego Startu

StacjaSQL.2012 / PIERWSZE URUCHOMIENIE I PODSTAWOWE USTAWIENIA / / USUNIĘCIE "BAZY TESTOWEJ, PRZEJŚCIE NA WERSJĘ KOMERCYJNĄ / oraz. str.

Ćwiczenia z systemu operacyjnego WINDOWS

FAQ: /PL Data: 3/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-1200

Opisane poniżej czynności może wykonać administrator komputera lub administrator serwera SQL (tj. użytkownik sa).

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Aby pobrać program FotoSender naleŝy na stronę lub i kliknąć na link Program do wysyłki zdjęć Internetem.

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

Akceleracja symulacji HES-AHDL. 1. Rozpoczęcie pracy aplikacja VNC viewer

W oknie na środku, moŝna wybrać język, który będzie językiem domyślnym dla TC. Wybierzmy zatem język polski:

Instrukcja uŝytkowania

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

FAQ: /PL Data: 14/06/2007 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-200

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

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

Systemy operacyjne. Zasady lokalne i konfiguracja środowiska Windows 2000

Laboratorium - Konserwacja dysku twardego w Windows Vista

MenadŜer haseł Instrukcja uŝytkownika

Laboratorium A: Zarządzanie drukowaniem/klucz do odpowiedzi

Program Dokumenty zbiorcze dla Subiekta GT.

Narzędzia administracyjne Windows XP

INFORMATOR TECHNICZNY WONDERWARE. Ograniczenie wyświetlania listy zmiennych w przeglądarce zmiennych ActiveFactory

6. Cel: Sprawdzenie drogi protokołu TCP/IP

INFORMATOR TECHNICZNY WONDERWARE. Odczytywanie danych z arkusza Excel za pomocą zapytań SQL do aplikacji InTouch

XML-owe bazy danych ćwiczenia 1

Monitorowanie wydajność w bazie Oracle11g

Instrukcjaaktualizacji

BAZY DANYCH laboratorium 1 instalacja środowiska

Okno logowania. Okno aplikacji. 1. Logowanie i rejestracja

Instrukcja instalacji programu ARPunktor wraz z serwerem SQL 2005 Express

Rozdział 2. Konfiguracja środowiska pracy uŝytkownika

Instalowanie certyfikatów celem obsługi pracy urządzenia SIMOCODE pro V PN z poziomu przeglądarki internetowej w systemie Android

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

SAS Institute Technical Support

Pobierz dane z Programu PŁATNIKA. e-deklaracji

Laboratorium - Konserwacja dysku twardego w Windows 7

Przywracanie systemu

Rozdział 5. Administracja kontami użytkowników

Laboratorium - Instalacja Virtual PC

Program Zamiana towarów dla Subiekta GT.

Uruchamianie bazy PostgreSQL

SOLIDWORKS PDM Tworzenie kopii zapasowych.

Instrukcja instalacji aplikacji i konfiguracji wersji sieciowej. KomKOD

BACKUP BAZ DANYCH MS SQL

Aplikacja npodpis do obsługi certyfikatu

SERWER AKTUALIZACJI UpServ

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0.

Transkrypt:

Optymalizacja bazy danych Bazy danych 265

266 Bazy danych Przegląd zagadnień Monitoring bazy Tuning automatyczny Podsumowanie Laboratorium NajwaŜniejszym kryterium, według którego uŝytkownicy oceniają pracę administratora baz danych, jest wydajność bazy danych. Przez wydajność bazy danych rozumieć naleŝy czas odpowiedzi serwera na zapytania wykonywane przez uŝytkowników. Optymalnie działająca baza danych odpowiada na zapytania w ułamkach sekund (maksymalnie w ciągu kilku sekund przy duŝej ilości danych i złoŝonej strukturze bazy). Rozumienie zagadnień dotyczących optymalizacji (tuningu) baz danych jest zatem kluczowe dla administratorów.

Bazy danych 267 Monitoring bazy Co warto monitorowac Tworzenie planu monitoringu Narzedzia monitoringu NiezaleŜnie od tego, jakiego oprogramowania uŝywamy jako SZBD i jak dobrze skonfigurowaliśmy serwer i bazy danych, dobry administrator monitoruje na bieŝąco działanie serwera. Dobry administrator jest takŝe świadomy istnienia potencjalnych "wąskich gardeł" systemu i zapobiega sytuacjom, w których serwer nie spełnia załoŝonych wymagań wydajnościowych.

268 Bazy danych Co warto monitorować Wskaźniki monitorowania moŝna podzielić na dwie kategorie: wskaźniki sprzętowe oraz wskaźniki monitorujące SZBD. Wskaźniki sprzętowe dotyczą monitorowania: procesorów serwera (procentowe uŝycie procesora), pamięci RAM (ilość wolnej pamięci, poziom stronicowania pamięci na dyskach twardych), interfejsów sieciowych (zuŝycie przepustowości, ilość danych transferowanych), zapisu / odczytu z dysków twardych, ilości wolnego miejsca na dyskach twardych. Wskaźniki monitorujące SZBD dotyczą monitorowania: rozmiaru plików baz danych, eskalacji blokad i zakleszczeń, ilości aktywnych transakcji, ilości aktywnych połączeń z bazami danych, czasu wykonania zapytań do baz danych, udanych / nieudanych prób logowania do serwera. Tworzenie planu monitoringu Przed przystąpieniem do monitorowania serwera musisz zaplanować, co chcesz monitorować, jakim narzędziem i jakie są akceptowalne wartości monitorowanych wskaźników. Musisz stworzyć podstawę pod monitoring (ang. baseline). Podstawa ta to określenie normalnych poziomów monitorowanych wskaźników i załoŝenie, przy jakich poziomach niezbędna jest reakcja administratora. Dla przykładu, jeśli zamierzasz monitorować procesor, to naleŝy załoŝyć, Ŝe wskaźnik procentowego zuŝycia procesora nie będzie stale utrzymywał się na poziomie powyŝej 85%. Informacje o prawidłowych poziomach wskaźników monitorowania moŝna znaleźć w dokumentacji SZBD. Narzędzia monitoringu Systemy operacyjne oraz SZBD oferują szeroką gamę narzędzi do monitorowania. Narzędzia te bardzo często uzupełniają się wzajemnie funkcjonalnością. Przykładem narzędzia do monitorowania serwera jest Performance Monitor w systemie Microsoft Windows. Narzędzie to umoŝliwia monitorowanie głównie aspektów sprzętowych funkcjonowania serwera. Microsoft SQL Server podczas instalacji dodaje wiele nowych wskaźników do tego narzędzia, co sprawia, Ŝe moŝna monitorować bardzo dokładnie działanie nie tylko maszyny, ale takŝe SZBD.

Bazy danych 269 Rys. 14.1 Performance Monitor w systemie Microsoft Windows Server 2003 Microsoft SQL Server udostępnia narzędzie monitorowania - Profiler. Narzędzie to umoŝliwia m.in. monitorowanie wykonywanych w bazach danych zapytań, nagranie pliku ze zmonitorowanymi zdarzeniami, interakcję z danymi zapisanymi przy pomocy Performance Minitora. Rys.14.2 SQL Server Profiler w działaniu

270 Bazy danych Oprócz narzędzi graficznych SZBD oferują takŝe programowe narzędzia monitorowania operacji wykonywanych na serwerze. Przykładem takiego mechanizmu są triggery DDL (DDL - Data Definition Language, część języka SQL odpowiedzialna za tworzenie i modyfikowanie struktury baz danych), dzięki którym administrator ma kontrolę nad wykonywanymi w bazach danych operacajami zmieniającymi struktury obiektów. Monitorowanie musi być stale prowadzone. Nigdy nie zakładaj, Ŝe nie ma potrzeby przeglądania dziennika błędów systemu, czy uruchamiania monitorowania sprzętu. Dobrym nawykiem jest uruchamianie narzędzi graficznych, które mogą niepotrzebnie obciąŝać serwer, na innym komputerze.

Bazy danych 271 Tuning automatyczny Obiektami bazy danych, które mają bodaj największy wpływ na optymalizację czasu wykonywania zapytań do baz danych są indeksy. Większość indeksów tworzy sam administrator. Czasem jednak struktura bazy jest bardzo złoŝona. Często zbyt małe doświadczenie nie pozwala administratorowi na utworzenie funkcjonalnych indeksów. W takich momentach warto zapoznać się z narzędziami, które oferują producenci SZBD. Te narzędzia to automaty, które po otrzymaniu od uŝytkownika pewnej ilości danych na temat zapytań do optymalizacji, dokonują obliczeń i proponują nowe struktury danych, jak indeksy czy widoki. Jak wykonać automatyczny tuning? Aby wykonać automatyczny tuning musisz wykonać kilka kroków: 1. Przygotuj tak zwany workload, czyli zapisz najczęściej wykonywane polecenia lub przygotuj zapis operacji wykonywanych na serwerze przez jakiś czas (powiedzmy cały dzień zwykłego uŝywania baz danych), 2. Uruchom narzędzie do automatycznego tuningu. 3. WskaŜ przygotowany w kroku 1 workload. 4. Ustaw opcje optymalizatora, takie jak: czas działania, stopień optymalizacji, obiekty optymalizujące zapytania. 5. Uruchom proces optymalizacji. 6. Dokładnie prześledź propozycje narzędzia. Odrzuć propozycje, które nie pasują do Twojej koncepcji bazy danych. 7. Zapisz skrypt z propozycjami narzędzia lub od razu przystąp do implementacji zaproponowanych obiektów. Pamiętaj, by kontrolować propozycje narzędzi do automatycznego tuningu. Nic nie zastąpi wiedzy i umiejętności logicznego myślenia człowieka. Czasem z róŝnych przyczyn (brak dostatecznie wielu informacji, błędy programistów) propozycje mogą okazać się wręcz absurdalne. Autorzy w czasie wielu lat pracy z róŝnymi systemami zetknęli się juŝ z sytuacjami, gdy narzędzie proponowało utworzenie indeksu na wszystkich kolumnach tabeli jednocześnie... Bardziej szczegółowe informację na temat narzędzi do tuningu automatycznego znajdziesz w laboratorium.

272 Bazy danych Podsumowanie Przechowywanie danych w XML Wybieranie danych z XML Optymalizacja wydajności baz danych to duŝe wyzwanie dla administratorów. Zaplanowanie struktury indeksów bardzo często jest trudnym zadaniem. Jednak podjęcie próby stworzenia indeksów w przypadku duŝych baz danych jest inwestycją, która potrafi się zwrócić poprzez znaczny wzrost wydajności. W ekstremalnych przypadkach czas wykonywania zapytań skraca się z kilkudziesięciu sekund nawet do ułamków sekund.

Laboratorium Bazy danych 273

274 Bazy danych Monitoring W tym ćwiczeniu przeprowadzisz monitorowanie aktywności na serwerze baz danych przy uŝyciu dwóch narzędzi: monitora systemowego i programu SQL Server Profiler. Krok 1 - Uruchomienie monitora systemowego Zaloguj się do maszyny wirtualnej ZBD jako uŝytkownik Administrator z hasłem P@ssw0rd. Kliknij Start i Uruchom... W oknie Uruchamianie wpisz perfmon i wciśnij ENTER, aby uruchomić monitor wydajności systemu Windows. Rys. 14.3 Monitor systemowy Po lewej stronie rozwiń opcję Dzienniki wydajności i alerty. Po lewej stronie kliknij prawym przyciskiem myszy na opcji Dzienniki liczników i wybierz z menu kontesktowego opcję Ustawienia nowego dziennika... W oknie Ustawienia nowego licznika wpisz SQL i kliknij OK. Kliknij na przycisku Dodaj liczniki... Kliknij Dodaj, aby dodać licznik Czas procesora (%). Kliknij Zamknij. Zmień wartość w polu tekstowym Interwał na 5 (aby próbkowanie wartości liczników odbywało się co 5 sekund) i kliknij OK.

Bazy danych 275 Rys. 14.4 Dziennik liczników w monitorze systemowym Na pytanie o utworzenie katalogu odpowiedz Tak. Nie zamykaj monitora systemowego. Monitor systemowy słuŝy na ogół do monitorowania sprzętu - procesora, pamięci RAM, dysków twardych, interfejsów sieciowych. Microsoft SQL Server dodaje do monitora systemowego swoje własne liczniki, m.in. do monitorowania konkurencji transakcji, ilości aktywnych połączeń, eskalacji blokad w bazach danych. Krok 2 - Uruchomienie programu Profiler Kliknij Start. Z grupy programów Microsoft SQL Server 2005 z folderu Performance Tools uruchom SQL Server Profiler. W menu narzędzia Profiler (w górnej części ekranu) kliknij File - New Trace... Kliknij Connect. W oknie Trace Properties w polu tekstowym Trace name wpisz SQL, zaznacz pole wyboru Save to file, w oknie zapisywania kliknij Zapisz i kliknij Run.

276 Bazy danych Rys. 14.5 SQL Server Profiler w działaniu Krok 3 - Generowanie aktywności na serwerze Kliknij Start. Z grupy programów Microsoft SQL Server 2005 uruchom SQL Server Management Studio. W oknie logowania kliknij Connect. Kliknij w menu głównym programu Management Studio na File. Kliknij Open - File. Odszukaj plik C:\Labs\Lab03\Activity.sql i kliknij Open. Wciśnij F5, aby uruchomić kod. Krok 4 - Analiza aktywności W programie SQL Server Profiler zatrzymaj uruchomione śledzenie (klikając w górnej części ekranu przycisk STOP - czerwony kwadrat), a następnie zamknij okno śledzenia (ale nie okno programu Profiler). W oknie monitora systemowego klikni prawym przyciskiem myszy na aktywnym dzienniku liczników SQL i w menu kontekstowym wybierz Zatrzymaj. Zamknij okno monitora systemowego. W oknie narzędzia SQL Server Profiler kliknij w menu głównym File - Open - Trace File... WskaŜ plik SQL.trc i kliknij Otwórz. W menu głównym kliknij File - Import Performance Data... WskaŜ plik SQL_000001.blg w katalogu C:\perflogs i kliknij Otwórz. W oknie Performance Counters Limit Dialog zaznacz opcję Procesor i kliknij OK. Na wykresie, który ilustruje zuŝycie procesora zmierzone przez monitor systemowy, wybierz maksymalny punkt. Sprawdź w odczytach Profilera, które polecenie SQL spowodowało najwyŝsze zuŝycie procesora.

Bazy danych 277 Automatyczny tuning W tym ćwiczeniu przeprowadzisz próbę automatycznej optymalizacji zapytania z ćwiczenia poprzedniego. Do przeprowadzenia ćwiczenia niezbędna jest tabela Sales.SalesOrderDetailCopy, którą moŝesz stworzyć wykonując skrypt z ćwiczenia do modułu 6. Krok 1 - Otwarcie zapytania do optymalizacji Zaloguj się do maszyny wirtualnej ZBD jako uŝytkownik Administrator z hasłem P@ssw0rd. Kliknij Start. Z grupy programów Microsoft SQL Server 2005 uruchom SQL Server Management Studio. W oknie logowania kliknij Connect. Kliknij w menu głównym programu Management Studio na File. Kliknij Open - File. Odszukaj plik C:\Labs\Lab13\Automate.sql i kliknij Open. Krok 2 - UŜycie narzędzia Database Engine Tuning Advisor Z menu głównego (górna część ekranu) wybierz Query - Analyze Query in Database Engine Query Advisor. Rys. 14.6 Database Engine Tuning Advisor

278 Bazy danych W górnej części ekranu kliknij Start Analysis, by rozpocząć pracę narzędzia. Rys. 14.7 Wynik analizy i propozycje utworzenia nowych obiektów Po zakończeniu procesu analizy z menu głównego wybierz Action - Apply Recomendations... W oknie Apply Recomendations upewnij się, Ŝe zaznaczona jest opcja Apply now i kliknij Close. Kliknij Close. Okazuje się, Ŝe Database Engine Tuning Advisor zaproponował identyczny indeks jak ten, który stworzyłeś w poprzednim ćwiczeniu. Dodatkowo zaproponował stworzenie dodatkowych statystyk, które według jego wyliczeń równieŝ zoptymalizują zapytanie. W ramach praktyki włącz opcję statystyk wejścia / wyjścia (patrz poprzednie ćwiczenie) i uruchom optymalizowane zapytanie. W zakładce Messages sprawdź, ile stron skanował serwer przy wykonywaniu zapytania po stworzeniu obiektów zaproponowanych przez narzędzie automatycznego tuningu. Jakieś wnioski? Ilość odczytów powinna drastycznie zmaleć. A zatem narzędzie zadziałało poprawnie. Narzędzia automatycznego tuningu wymagają podania odpowiedniej ilości danych (czytaj - duŝej ilości zapytań). Wtedy jest szansa, Ŝe kombinacja indeksów, statystyk i widoków zaproponowana przez narzędzie, będzie optymalna dla duŝej ilości najczęściej zadawanych zapytań.