Andrzej Kukuła
Andrzej Kukuła
Damian Widera
Damian Widera

Opis warsztatu

Na warsztacie zajmiemy się praktycznymi aspektami związanymi z pisaniem wydajnych aplikacji korzystających z SQL Server. Spojrzymy na problemy wydajnościowe od strony samego silnika bazy danych, ale też aplikacji korzystających z bazy. Pokażemy dobre praktyki, które pomagają tworzyć szybko działające systemy oraz antywzorce, których trzeba unikać. Zobaczymy różne scenariusze, które spotkaliśmy w systemach klientów, które wyglądały niewinnie a miały duży wpływ na wydajność. Przekonamy się, że nie tylko technologia odpowiada za wydajność aplikacji/bazy/zapytań, równie ważny jest wybór odpowiednich koncepcji i właściwa ich implementacja.

Warsztaty mają formę całodniowej prezentacji i demonstracji ogromnej dawki praktycznej wiedzy, którą można od razu zastosować do usprawnienia istniejących aplikacji oraz przy tworzeniu nowych. Dotkniemy T-SQLa w formie zapytań, procedur i funkcji, pokażemy przykłady w C#, uwzględniając „gołe” ADO.NET oraz Entity Framework (Core). Nie będziemy jednak koncentrować się na tej jednej technologii – to, co zobaczymy w .NET będzie miało przełożenie na wydajność przy zastosowaniu innych języków i frameworków, np. Java i Hibernate.

Wybrane tematy, które przedstawimy:
– przyczyny słabej wydajności – infrastruktura
– dziennik transakcyjny – fakty i mity dla programistów
– indeksy – przyjaciel i wróg programisty
– statystyki – ktokolwiek widział, ktokolwiek się przejmował
– klucze obce – mieć czy nie mieć?
– indeksy kolumnowe – załóżże je w końcu!
– sekwencje – w jaki sposób zabijają wydajność?
– delayed durability – nie wszystkie dane są złote
– funkcje T-SQL – szybkie? wolne? korzystać czy nie?
– procedury składowane – czy w nich da się coś zrobić źle?
– kursory – kto jest na tak?
– kochane linked servery…
– .NET, connection pooling, poziomy izolacji, bugi i blokady
– Entity Framework – uważajta z tymi ORMami!
– In-Memory OLTP – chcesz szybciej? będzie szybciej!
– Resource Governor – przytnijmy to co nas boli
… i inne

Od uczestników oczekujemy znajomości T-SQL oraz programowania, nie będziemy przedstawiali podstaw tych dwóch zagadnień.

Kluczowe punkty

  • Zawarta w slajdach i skryptach esencja koncepcji i rozwiązań problemów, która jest natychmiast możliwa do zastosowania w projektach rozwoju oprogramowania typu transakcyjnego, zarówno gdy baza jest on-premises jak i w chmurze.

Długość warsztatu: 8 godzin