Menu
Zamknij menu
Zaloguj się
Asseco Academy » Training » SQL w bazie danych PostgreSQL 18 – optymalizacja wydajności

Training CDP_PG_SQLPT_Z

SQL w bazie danych PostgreSQL 18 – optymalizacja wydajności

Accreditation

  • Training description
  • Scope

Training description

Szkolenie jest przeznaczone dla doświadczonych użytkowników bazy PostgreSQL, którzy chcą świadomie analizować i optymalizować wydajność zapytań SQL w środowiskach produkcyjnych. Omawiane zagadnienia są aktualne dla PostgreSQL 18 — najnowszej wersji systemu.

Szkolenie omawia architekturę PostgreSQL z perspektywy optymalizatora: przepływy danych między magazynem danych dyskowych a pamięcią współdzieloną (Shared Buffers), mechanizmy parsowania i kompilacji planów zapytań. Uczestnicy nauczą się odczytywać i interpretować plany wykonania, rozumieć rolę optymalizatora kosztowego (CBO) oraz wpływ statystyk, histogramów i indeksów na wybór planu. Szkolenie obejmuje zagadnienia dotyczące partycjonowania tabel i indeksów, widoków materializowanych, tabel tymczasowych oraz wskazówek optymalizacyjnych (hints). Część zajęć poświęcona jest monitorowaniu wydajności za pomocą widoków systemowych pg_stat_* i rozszerzenia pg_stat_statements. Szkolenie kończy się warsztatem diagnostycznym — analizą rzeczywistych problemów wydajnościowych. Program uwzględnia nowości wprowadzone w PostgreSQL 18, w tym domyślne raportowanie buforów w EXPLAIN ANALYZE.

W trakcie szkolenia:

  • zrozumiesz architekturę PostgreSQL i rolę optymalizatora kosztowego (CBO) w wyborze planu zapytania
  • nauczysz się odczytywać i interpretować plany wykonania zapytań oraz identyfikować wąskie gardła
  • poznasz mechanizmy indeksowania i partycjonowania oraz ich wpływ na wydajność
  • nauczysz się zarządzać statystykami tabel i indeksów
  • dowiesz się, jak stosować wskazówki optymalizacyjne (hints) do wymuszania planów zapytań
  • nauczysz się monitorować wydajność bazy za pomocą widoków pg_stat_* i narzędzi diagnostycznych

Adresaci szkolenia:

Podstawową grupę odbiorców stanowią programiści i analitycy danych z doświadczeniem w pracy z bazą PostgreSQL, którzy chcą świadomie optymalizować zapytania SQL w środowiskach produkcyjnych. Szkolenie jest również skierowane do administratorów baz danych (DBA) zaangażowanych w strojenie wydajności systemu.

Wymagania wstępne:

  • Ukończenie szkolenia CDP_PG_SQLP: SQL w bazie danych PostgreSQL 18 – poziom podstawowy lub równoważna praktyczna znajomość podstaw SQL w środowisku PostgreSQL.
  • Ukończenie szkolenia CDP_PG_SQLA: SQL w bazie danych PostgreSQL 18 – zapytania analityczne lub równoważna wiedza z zakresu zaawansowanych zapytań SQL.
  • Ukończenie szkolenia z projektowania, wdrażania i podstaw administracji bazy PostgreSQL lub równoważna wiedza.
  • Zalecane minimum dwuletnie doświadczenie praktyczne z bazami PostgreSQL.
  • Umiejętność pracy w konsoli znakowej.

Scope

  • Wprowadzenie do strojenia SQL i architektura bazy PostgreSQL
    • Omówienie celów szkolenia
    • Rozwiązania bazodanowe optymalizowane pod kątem operacji zapisu
    • Rozwiązania bazodanowe optymalizowane pod kątem analizy danych
    • Architektura pamięci PostgreSQL
      • Shared Buffers
      • Work_mem
      • Maintenance_work_mem
      • WAL (Write-Ahead Logging)
      • CHECKPOINTS
    • Fizyczne struktury danych
      • Tablespaces
      • Tabele (Heap)
      • TOAST (przechowywanie dużych obiektów)
    • Rola optymalizatora i statystyk
      • Optymalizator kosztowy (CBO)
      • Statystyki: pg_stats, ANALYZE
      • Histogramy i korelacje
    • Metody dostępu do danych
      • Sequential Scan
      • Index Scan
      • Index Only Scan
      • Bitmap Heap/Index Scan
      • Tid Scan (skanowanie po CTID)
  • Wykonywanie zapytań i plany wykonania w PostgreSQL
    • Etapy przetwarzania zapytania: parser, rewriter, planner, executor
    • EXPLAIN i EXPLAIN (ANALYZE, BUFFERS)
    • Interpretacja planu: cost, rows, width, actual time
    • Nowość w PostgreSQL 18: BUFFERS domyślnie w EXPLAIN ANALYZE
    • Jakość predykatów: selektywność, funkcje na kolumnach
  • Indeksy w PostgreSQL
    • Typy indeksów
      • B-Tree (podstawowy)
      • Hash
      • GiST, SP-GiST (dla danych przestrzennych)
      • GIN (dla JSONB, tablic, full-text)
      • BRIN (dla dużych tabel szeregów czasowych)
    • Indeksy częściowe (partial indexes)
    • Indeksy funkcyjne (index on expression)
    • Indeksy pokrywające (INCLUDE)
    • Wskazówki indeksowe (pg_hint_plan)
  • Partycjonowanie w PostgreSQL
    • Typy partycjonowania
      • RANGE (zakresowe)
      • LIST (listowe)
      • HASH (haszowane)
    • Partition pruning (eliminacja partycji)
    • Indeksy na tabelach partycjonowanych
    • Zarządzanie partycjami
  • Tabele tymczasowe
    • TEMPORARY TABLES (dane na sesję)
    • UNLOGGED TABLES (bez WAL, szybsze)
    • CTE (Common Table Expressions) jako optymalizacja
  • Widoki materializowane
    • CREATE MATERIALIZED VIEW
    • REFRESH MATERIALIZED VIEW
    • REFRESH CONCURRENTLY (bez blokowania)
    • Automatyczne odświeżanie (pg_cron)
  • Wskazówki optymalizacyjne (hints) w PostgreSQL
    • Rozszerzenie pg_hint_plan
    • Wskazówki dostępu: SeqScan, IndexScan
    • Wskazówki złączeń: HashJoin, NestLoop, MergeJoin
    • Wskazówki równoległości: Parallel, NoParallel
  • Zarządzanie statystykami
    • ANALYZE i autovacuum
    • Szczegółowe statystyki kolumn (pg_stats)
  • Monitorowanie i diagnostyka
    • Statystyki zapytań (pg_stat_statements)
    • Aktywne sesje (pg_stat_activity)
    • Statystyki tabel użytkownika (pg_stat_user_tables)
    • Statystyki procesów zapisu (pg_stat_bgwriter)
    • Statystyki baz danych (pg_stat_database)
  • Monitorowanie pamięci
    • Buforowanie danych (shared_buffers)
    • Pamięć dla sortowań i operacji złączeń (work_mem)
    • Pamięć dla operacji konserwacji (maintenance_work_mem)
    • Wskazówka dla optymalizatora dotycząca rozmiaru cache (effective_cache_size)
  • Monitorowanie sesji i zapytań
    • Przegląd aktywnych sesji i zapytań (pg_stat_activity, pg_stat_statements)
    • Identyfikacja długich zapytań
    • Identyfikacja blokad (locking)
  • Metryki wydajności
    • Przegląd widoków pg_stat_*
    • Statystyki procesów zapisu i checkpointów (pg_stat_bgwriter)
    • Konflikty w bazach danych (pg_stat_database_conflicts)
    • Statystyki replikacji (pg_stat_replication)
  • Rozwiązywanie problemów z wydajnością — warsztat

Training schedule

Remote

… if you value the opportunity to learn with a trainer and other participants, from anywhere without having to commute.

Stationary

… if you want to learn while sitting in the same room with the trainer and other participants.

Online

… if you want to learn from materials available via the interenet anywhere at any time

Filters:

Training: CDP_PG_SQLPT_Z

SQL w bazie danych PostgreSQL 18 – optymalizacja wydajności

Date
Form
Language
Additional info
Price

Currently, there is no trainings in the selected form.

Filters:

Training: CDP_PG_SQLPT_Z

SQL w bazie danych PostgreSQL 18 – optymalizacja wydajności

Date
Location
Language
Additional info
Price

Currently, there is no trainings in the selected form.

Filters:

Training: CDP_PG_SQLPT_Z

SQL w bazie danych PostgreSQL 18 – optymalizacja wydajności

Dostęp do szkolenia
Form
Language
Additional info
Price

Currently, there is no trainings in the selected form.

Szukasz szkolenia w innym terminie?

Co nowego?

  • Newest
  • Uncategorized

Chcesz z nami porozmawiać?

Zadzwoń do nas: tel. 801 30 30 30