Kurz je určen pro databázové vývojáře, kteří se chtějí naučit efektivně monitorovat a optimalizovat náročné a problematické databázové dotazy na Microsoft SQL Serveru nebo v Azure SQL Database. Seznámíte se všemi zabudovanými způsoby [...]
  • GOC631
  • Délka 5 dní
  • 50 ITK bodů
  • 8 termínů
  • Praha (26 000 Kč)

    Brno (26 000 Kč)

    Bratislava (1 125 €)

  • Mírně pokročilý

Kurz je určen pro databázové vývojáře, kteří se chtějí naučit efektivně monitorovat a optimalizovat náročné a problematické databázové dotazy na Microsoft SQL Serveru nebo v Azure SQL Database. Seznámíte se všemi zabudovanými způsoby monitorování SQL Serveru a náročných databázových dotazů, naučíte se identifikovat databázové dotazy vhodné pro optimalizaci a na velmi detailní úrovni pochopíte, jak SQL Server ukládá vaše data a proč vhodně zvolené indexy řádově zvýší efektivitu vašich dotazů. Seznámíte se s dalšími zdroji výkonnostních problémů vašich dotazů a naučíte se je řešit.

»
  • Seznámíte se s architekturou SQL Serveru
  • Dozvíte se, které časté chyby negativně ovlivňují výkon SQL Serveru a vašich dotazů a jak se jim vyvarovat
  • Naučíte se monitorovat SQL Server nástroji, které jsou přímo jeho součástí
  • Vyzkoušíte si identifikovat výkonnostní problémy na skutečné aplikaci
  • Dozvíte se, jak SQL Server ukládá data a jak můžete zefektivnit přístup k datům vhodným návrhem indexu
  • Zjistíte, jak správně navrhovat indexy a kdy a proč se vaše indexy nepoužijí
  • Pochopíte, jak optimalizovat přístupy k více tabulkám s pomocí JOIN a jak optimalizovat agregační dotazy
  • Seznámíte se s možnostmi columnstore indexů a naučíte se je používat v datových skladech i OLTP aplikacích
  • Představíme si technologii In-Memory OLTP a vysvětlíme si, kdy je výhodné ji využít
  • Naučíte se vyvarovat různým jazykovým konstrukcím v jazyce T-SQL, které způsobují výkonnostní problémy
  • Zjistíte, jak se generují exekuční plány a jaké problémy jsou s tím spojeny
  • Dozvíte se, jak funguje transakční zpracování v SQL Serveru, jaké jsou vlastnosti transakcí, jak fungují zámky a jaký dopad na výkon mají izolační úrovně

Kurz je cílen na databázové vývojáře, kteří se chtějí naučit efektivně monitorovat a optimalizovat náročné a problematické databázové dotazy na Microsoft SQL Serveru nebo v Azure SQL Database. Dále znalosti z kurzu využití autoři reportů, kteří potřebují zrychlit načítání dat pro své reporty.

1 Úvod do optimalizace dotazů
  • Představení procesu optimalizace dotazů, stanovení vhodných cílů optimalizace dotazů a upozornění na časté chyby
  • Seznámení s architekturou SQL Serveru
  • Představení nejčastějších chyb, které negativně ovlivňují výkon vašich databázových dotazů nebo celého SQL Serveru
2 Metody monitorování T-SQL dotazů a serveru
  • Seznámení s dostupnými zdroji informací o stavu a běhu SQL Serveru
  • Sledování událostí v SQL Serveru s pomocí SQL Server Profileru, SQL Trace a hlavně Extended Events
  • Monitorování stavu SQL Serveru s pomocí Dynamic Management Views and Functions (DMV, DMF)
  • Ukázka použití Activity Monitoru a reportů v SQL Server Management Studiu
  • Představení Performance Monitoru a užitečných výkonnostních metrik, které je vhodné monitorovat za běhu SQL Serveru
  • Ukázka nasazení Data Collectoru pro dlouhodobý monitoring SQL Serveru
  • Představení sledování spouštěných dotazů s pomocí technologie Query Store
  • Seznámení s technologií Automatic Database Tunning
3 Analýza, návrh a strategie použití indexů
  • Vysvětlení, jak jsou uložena data na SQL Serveru, jaký je formát datové stránky, řádku a jaké typy datových stránek existují
  • Porovnání datových struktur halda (Heap) a clustered indexu a doporučení pro vhodné použití
  • Ukázka uložení dat na haldě, porovnání výhod a nevýhod
  • Vysvětlení struktury B+ stromu v clustered indexu, doporučení pro správnou volbu clustered klíče
  • Seznámení s non-clustered indexy, vysvětlení principu fungování a ukázka volby vhodných klíčů
  • Vysvětlení, proč se někdy navržené non-clustered indexy nepoužijí a jak zde pomůže covering index
  • Ukázka filtrovaného indexu a indexovaných computed columns
  • Vysvětlení výkonnostního dopadů databázových pohledů a funkcí, použití indexovaného pohledu
  • Seznámení s údržbou indexů
4 Specifické optimalizace výkonu s použitím In-Memory OLTP a Columnstore indexů
  • Představení technologie In-memory OLTP a ukázka jejího vhodného použití
  • Seznámení s columnstore indexy, vysvětlení principů fungování a jejich vhodného použití
  • Nasazení clustered columnstore indexů v datových skladech
  • Možnosti využití non-clustered columnstore indexů v OLTP aplikacích
5 Exekuční plány
  • Seznámení s procesem sestavení exekučního plánu
  • Ukázka zachycení a zobrazení exekučního plánu
  • Vysvětlení správného čtení exekučního plánu a vysvětlení jednotlivých operátorů
  • Představení operátorů pro spojení dat z více tabulek a vysvětlení možností optimalizace JOIN operátoru
  • Představení operátorů pro agregaci dat a možných optimalizací agregačních dotazů včetně použití columnstore indexů
  • Seznámení s mechanizmem cachování exekučních plánů a vysvětlení problémů s tím spojených (parameter sniffing, časté rekompilace plánů, ad-hoc dotazy)
  • Seznámení s novými přístupy optimalizátoru díky použití Adaptive Query Processingu (SQL Server 2017) a Intelligent Query Processingu (SQL Server 2019)
6 Zámky, transakce a izolační úrovně
  • Vysvětlení vlastností databázové transakce
  • Ukázka správného použití transakcí
  • Představení mechanizmů pro řízení souběžného přístupu
  • Seznámení s fungováním zámků v SQL Serveru a problémů z toho vyplývajících
  • Vysvětlení vhodného nastavení izolační úrovně a problémů souběžného zpracování, před kterými nás chrání
  • Použití izolační úrovně SNAPSHOT s využitím verzování řádků
Aktuální nabídka
Školicí místo
Jazyk kurzu

Uvedené ceny jsou bez DPH.