Wysokowydajne MySQL, wprowadzenie do technik optymalizacji zapytań SQL i schematów baz danych

Kod: mysql-performance
Kategoria: MySQL
Forma: 60% wykłady / 40% warsztaty
Czas trwania: 2 dni
Grupa docelowa: developerzy
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.
Data i dokładny zakres do ustalenia podczas analizy przed-szkoleniowej.

Szkolenie zostało przygotowane z myślą o programistach i architektach, wykorzystujących w realizowanych projektach bazę danych MySQL.

Baza danych jest jednym z najczęstszych powodów niskiej wydajności aplikacji webowych. Mało optymalny schemat bazy czy nieoptymalne zapytania SQL automatycznie przekładają się na spadki wydajności kolejnych warstw oprogramowania.

Szkolenie zawiera szereg praktycznych rozwiązań i wskazówek opracowanych w dużych i dojrzałych projektach, od prostych środowisk z replikacją master-master po duże, shardowane konfiguracje master-master-(delayed-slave).

Wyróżniki szkolenia

Podczas zajęć możesz oczekiwać szczególnych akcentów położonych na poniższe aspekty:

  • Kruczki, które dadzą Ci realną przewagę
  • Dostęp do wiedzy eksperckiej architekta systemów dużej skali (największy polski portal społecznościowy jak i największy komunikator)

Program Szkolenia

Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.

  1. Wprowadzenie
    1. Historia rozwoju MySQL
    2. Architektura MySQL
    3. Silniki składowania danych i ich możliwości
      1. InnoDB
      2. MyISAM
      3. MERGE
      4. MEMORY
      5. FEDERATED
      6. ARCHIVE
      7. CSV
      8. BLACKHOLE
        1. Profilowanie aplikacji
        2. Profilowanie zapytań SQL
        3. Profilowanie serwera MySQL
  2. Identyfikacja wąskich gardeł bazy danych
    1. Strategie i taktyki testów wydajnościowych
    2. Dostępne narzędzia i ich możliwości
    3. Profilowanie wydajności
  3. Podstawowa optymalizacja schematu bazy danych
    1. Właściwy dobór typów danych
    2. Indeksowanie danych
      1. Strategie indeksowania
      2. Selektywność i rozmiary indeksów
  4. Optymalizacja zapytań SQL
    1. Metody wykrywania nieoptymalnych zapytań
      1. Narzędzia wbudowane w serwer
      2. Slow-log
      3. Wykorzystanie narzędzi pakietu Percona Toolkit do analizy zbiorczej
      4. Integracja z zewnętrznymi narzędziami
        1. Graphite
    2. Metody monitoringu stanu serwera
      1. Zmienne systemowe
      2. Wykorzystanie danych z INFORMATION SCHEMA
    3. Plan wykonania zapytania SQL
      1. Sposób obsługi zapytań SQL przez serwer MySQL
      2. Metody analizy planu wykonania pod kątem wydajności
      3. Podpowiedzi dla optymalizatora zapytań
    4. Optymalizacja określonych typów zapytań
    5. Tips'n'Tricks
      1. Klucze klastrujące i możliwość ich wykorzystania
  5. Zaawansowana optymalizacja schematu bazy danych i dostępu do danych
    1. Replikacja danych
      1. Topologie replikacji
      2. Problemy związane z replikacją i metody ich rozwiązania
    2. Normalizacja i denormalizacja
      1. Tabele cache-summary
      2. Sharding
      3. Modyfikacje schematu dużych baz danych i związane z tym problemy
    3. NoSQL-owy dostęp do danych
      1. Handler-Socket i jego możliwości
  6. Cache'owanie danych
    1. Zasada działania i ograniczenia natywnego query-cache
    2. Zewnętrzny cache danych
      1. Cache'owanie danych na poziomie aplikacji
      2. Narzędzia
        1. Memcached
        2. Redis
  7. Rozwiązania alternatywne
    1. Narzędzia pochodne MySQL
      1. MariaDB
      2. Percona Server
      3. Drizzle
    2. Rozwiązania NoSQL
      1. Przegląd rozwiązań NoSQL wraz z typowyni obszarami zastosowań


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

  • MySQL pod obstrzałem
    KATEGORIE: Bazy danych

    Skalowanie i tuning MySQL.

    Autor Bottega:

    Mariusz Gil

  • The base problem
    KATEGORIE: Bazy danych

    Relational, graph, document, in memory, key-value, search, stream, embedded - those are the most common database types. This talk will cover types of databases, their weaknesses, main players, strong points when to use them, and when it might not be the best idea and lastly how to combine them.

    Autor Bottega:

    Szymon Warda

Zapytaj o szkolenie

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń