Tworzenie wydajnych aplikacji bazodanowych

Opis

Stworzenie wydajnej aplikacji bazodanowej wymaga nie tylko znajomości języka T-SQL, ale również zbudowania właściwego modelu logicznego i fizycznego bazy danych, wiedzy na temat specyficznych mechanizmów działania serwera SQL, umiejętności właściwego wykorzystania poszczególnych funkcji tego serwera i przestrzegania zarówno ogólnych, jak i charakterystycznych dla serwera SQL wzorców projektowych. Niezbędnym etapem projektu bazodanowego jest również przeprowadzanie testów, w tym testów wydajnościowych i obciążeniowych. Tego typu testy nie tylko powinny symulować przewidywane obciążenie bazy danych, ale przede wszystkim ich wyniki muszą być podstawą zmian projektu aplikacji. Celem szkolenia jest przygotowanie programistów do tworzenia wydajnych i skalowalnych aplikacji bazodanowych działających w środowisku serwera SQL firmy Microsoft. Opracowując to szkolenie kierowaliśmy się sprawdzonymi wzorcami i najlepszymi praktykami programistycznymi, oraz doświadczeniem zdobytym podczas diagnozowania i rozwiązywania najróżniejszych problemów wydajnościowych zgłaszanych nam przez klientów. W efekcie powstało szkolenie, którego ukończenie pozwala uniknąć typowych błędów, prowadzących do tworzenia aplikacji działających wydajnie wyłącznie na komputerze programisty lub aplikacji, których wydajność gwałtownie spada wraz ze zwiększaniem się liczby użytkowników lub ilości przechowywanych w bazach danych.

Opcje

  • Poziom szkolenia: 400
  • Data rozpoczęcia: Do uzgodnienia
  • Czas trwania: 4 dni

Cena: 4100 zł

  • Szkolenie otwarte
  • U Klienta
  • Na sprzęcie Klienta

Dla kogo

Szkolenie adresowane jest do programistów baz danych, testerów i osób, które chcą nauczyć się diagnozować i rozwiązywać problemy wydajnościowe. Jego uczestnicy opanują praktyczne umiejętności niezbędne do projektowania skalowanych baz danych, pisania wydajnych zapytań oraz identyfikowania i optymalizacji nieefektywnych modułów kodu. Szkolenie dostępne jest w trzech wersjach, poświęconych serwerom SQL 2005, 2008 i 2008 R2, 2012 oraz 2014.

Plan

Podstawę szkolenia tworzy 12. modułów. Ponieważ szkolenie to, tak samo jak pozostałe organizowane przez nas kursy, prowadzone jest na podstawie opracowanych przez naszych trenerów materiałów autorskich, plan jego realizacji może być dostosowany do indywidulanych potrzeb uczestników. Zachęcamy Państwa nie tylko do wyboru modułów, ale również do przesyłania dodatkowych sugestii i zadawania konkretnych pytań, na które odpowiedzi będą Państwo chcieli otrzymać podczas szkolenia. Wyjątkową cechą naszych szkoleń, w tym prezentowanego szkolenia, jest ograniczenie czasu na wykonywanie po każdym module laboratoriów na rzecz wykonywanych wspólnie z trenerem ćwiczeń i demonstracji. W ten sposób możemy w krótszym czasie przekazać Państwu znacznie więcej praktycznych informacji i wskazówek, co więcej możemy skoncentrować się na omawianiu rzeczywiście interesujących Państwa zagadnień. Żeby nie pozbawiać jednak Państwa możliwości samodzielnego przećwiczenia omawianego materiału, każdy dzień szkolenia zakończy się mniej więcej godzinnym laboratorium w trakcie którego będą Państwo mogli wykonać wybrane przez siebie ćwiczenia.

Plan kursu

Czas trwania: Poziom:
Moduł 1

Narzędzia programistyczne
  • Konsola SQL Server Management Studio versus SQL Server Data Tools
  • Programowanie w trybie online
  • Projekty bazodanowe
  • Wersjonowanie kodu źródłowego
  • Debuggowanie procedur składowanych i funkcji
  • Porównywanie wersji i synchronizacja zmian
  • Refaktoryzacja kodu T-SQL
  • Publikowanie projektów i obiektów bazodanowych
  • Funkcja Data-Tier Applications

60 minut 400
Moduł 2

Logiczny projekt baz danych
  • Proces projektowania baz danych
  • Identyfikacja i udokumentowanie wymagań biznesowych
  • Wytyczne dotyczące modelu logicznego
  • Encje i atrybuty
  • Wybór kluczy podstawowych
  • Modelowanie baz OLTP
  • Modelowanie hurtowni danych
  • Ocena modelu

90 minut 300
Moduł 3

Fizyczny projekt baz danych
  • Konwencje nazewnicze
  • Wybór typów danych (Proste typy danych serwera SQL, typy nierelacyjne, duże obiekty binarne — atrybut Filestream i tabele plikowe, typy SQLCLR)
  • Projektowanie tabel (długość wierszy, atrybut Sparse, kolumny wyliczeniowe)
  • Spójność danych (ograniczenia versus wyzwalacze)
  • Ocena modelu fizycznego

120 minut 400
Moduł 4

Strategie indeksowania
  • Sterty i drzewa zrównoważone
  • Budowa i działanie indeksów
  • Zalecenia dotyczące indeksów zgrupowanych
  • Strategie projektowania i tworzenia efektywnych indeksów niezgrupowanych
  • Indeksowanie kolumn wyliczeniowych
  • Indeksy filtrowane
  • Indeksy kolumnowe

240 minut 400
Moduł 5

Skalowalność baz danych
  • Skalowalność wszerz versus skalowalność wzwyż
  • Rozpraszanie danych i widoki scalające
  • Partycjonowanie tabel i indeksów
  • Kompresja danych
  • Sporadycznie połączone aplikacje
  • Techniki synchronizacji danych (replikacja, podwajanie baz danych, Always On)

120 minut 300
Moduł 6

Strategie dostępu do danych
  • SQL Server jako host kodu SQLCLR.NET (Architektura, Biblioteki, Funkcje skalarne i tabelaryczne, Procedury składowane, Wyzwalacze DML i DDL, Typy użytkownika, Funkcje grupujące)
  • Zalecenia dotyczące tworzenia i indeksowania widoków
  • T-SQL czy SQLCLR?
  • Zalecenia dotyczące tworzenia procedur składowanych
  • Zalecenia dotyczące tworzenia funkcji użytkownika
  • Obsługa wyjątków

120 minut 400
Moduł 7

Wykonywanie zapytań przez serwer SQL
  • Przetwarzania żądań przez serwer SQL
  • Odczytywanie planów wykonania
  • Analiza planów wykonania (operatory skanowania i przeszukiwania, złączenia i Unie, agregacje, podzapytania, paralelizm)

90 minut 400
Moduł 8

Tworzenie efektywnych zapytań
  • Typy danych i konwersja między nimi
  • Wytyczne dotyczące budowania zapytań
  • Konstruktor wierszy
  • Parametry tabelaryczne
  • Wyrażenia tabelaryczne (CTE)
  • Stronicowanie wierszy
  • Klauzula GROUPING SETS
  • Klauzula OVER (funkcje rankingu, grupujące i analityczne, grupowanie, porządkowanie i wybieranie wierszy)
  • Wzorzec „N wierszy dla grupy”
  • Refaktoryzacja kursorów
  • Sekwencje
  • Instrukcja MERGE

150 minut 400
Moduł 9

Optymalizator zapytań
  • Jak działa optymalizator zapytań? (generowanie planów kandydujących, wybór planów, ocena kosztów)
  • Statystyki (automatyczne generowanie i aktualizacja statystyk, nieadekwatne statystki, samodzielne tworzenie i aktualizacja statystyk)
  • Dyrektywy optymalizator
  • Wytyczne planów (Plan Guides)

90 minut 400
Moduł 10

Buforowanie i rekompilacja planów wykonania
  • Buforowanie planów wykonania przez serwer SQL
  • Budowa i działania bufora procedur
  • Analiza zbuforowanych planów
  • Zarządzanie buforem procedur
  • Powody automatycznej rekompilacji planów
  • Stabilizacja planów
  • Wymuszanie rekompilacji wybranych planów

60 minut 400
Moduł 11

Transakcje i współbieżność — mechanizmy blokowania i wersjonowania serwera SQL
  • Budowa i działanie mechanizmu blokowania zasobów
  • Poziomy izolowania transakcji
  • Zagnieżdżanie transakcji
  • Transakcje rozproszone
  • Zarządzanie blokadami
  • Eskalacja blokad
  • Budowa i działanie mechanizmu wersjonowania wierszy
  • Wersjonowanie wierszy

60 minut 400
Moduł 12

Monitorowanie wydajności
  • Metodyka oceny wydajności systemu bazodanowego
  • Typy oczekiwań serwera SQL
  • Wykrywanie wąskich gardeł i nieefektywnych modułów kodu
  • Wykrywanie blokad i zakleszczeń
  • Praca z narzędziami serwera SQL (PerfMon, raporty konsoli SSMS, Database Tuning Advisor, Studio monitoringu, widoki i funkcje dynamiczne, SQL Server Profiler & Trace, mechanizm Extended Events)
  • Praca z dodatkowymi narzędziami (SQLDiag, SQL Diag Configuration Tool, Performance Analysis of Logs, RML Utilities for SQL Server, SQL Nexus, ClearTrace)

240 minut 400

Formularz

Zadaj pytanie do szkolenia

Zarejestruj się