Курс по Оптимизации PostgreSQL 3.1

Скачать программу в pdf

Записаться на курс

Отзывы на курс

Общий объем – 10 занятий по 2-3+ ак.часа по 45 минут 

Старт – 28 января 2025 года

Даты и время – суббота, воскресенье в 10:00 по МСК

Формат занятий – вебинары на платформе Яндекс.Телемост

Среда для обучения: PostgreSQL 17 на ВМ Ubuntu 24.04

Возможно получить курс заочно в записи со скидкой, если нет времени посещать занятия в указанное время

Все занятия и материалы будут доступны в записи

В версии 3.1 добавлена новая практика (уже на 17 PostgreSQL) и дополнительные исследования, рассматриваются новые пулеры odyssey vs pgagroal, на что можно заменить fsync, киллер фичи синхронного коммита, новые подходы к проектированию (более 5 новых пунктов только в занятии по оптимизации схемы данных), parameter sniffing caveat и многое другое

Материалы прошлого запуска 3.0 (сентябрь-октябрь 2024, 30+ ак.часов) можно заказать отдельно

Заказать материалы или записаться на курс

Количество мест на курсе ограничено

Автор – Архитектор с 25+ опытом на хайлоад проектах (100+ Тб, 1 млн+ TPS)

Цель курса – освоение лучших практик , которые позволят ускорить существующие решения, минимизировать простои и избежать граблей:

  • Практический курс уникален для России и мира, предназначен для ДБА, архитекторов, девопсов
  • Каждое занятие включает тестирование примеров на стендах
  • Построен только на актуальных кейсах по реальным задачам, без воды
  • Экономит время и ресурсы как для текущих проектов, так и для модернизации существующих
  • Позволить ускорить поиск проблемных мест. Все собрано в одном месте с учетом экспертизы
  • Увеличивает быстродействие баз данных как Постгреса, так и остальных субд
  • Позволяет осознанно подходить к проектированию больших баз данных, изменению схемы данных
  • Оптимизирует планирование ресурсов для новых БД за счёт подробных инструкций, позволяет прогнозировать будущие проблемы
  • Бест практис, чеклисты и антипаттерны к каждой лекции
  • Сотни примеров по подходам к траблшутину БД
  • По желанию домашние задания идут к каждой лекции

Состав лекций:

1. Первичная настройка ОС и PostgreSQL

  • проблематика
  • первоначальная конфигурация ВМ, ОС и PostgreSQL
  • особенности бенчмарков
  • варианты измерения производительности
  • архитектура уникальной авторской БД по Тайским перевозкам
  • генерация и варианты использования от 6 до 600 млн. записей
  • неочевидный count

2. Коннектинг к PostgreSQL. Права пользователя

  • проблематика
  • на что стоит обратить внимание при работе с сетью
  • docker caveats
  • best practice по обмену данными
  • варианты connection pooling
  • варианты балансировщиков
  • архитектуры построения отказоустойчивых соединений
  • тестирование производительности пулконнекторов
  • pgbouncer vs odyssey vs pgagroal
  • нюансы при работе с правами пользователя

3. Настройка файловой системы

  • проблематика
  • табличные пространства
  • toast и сжатие данных
  • json vs jsonb – что с ними не так?
  • типы технологий хранения
  • типы файловых систем
  • fsync – быстро ли это? и какие есть варианты
  • trim for SSD
  • контрольные суммы добро или зло
  • data corruption
  • шифрование данных
  • журналы транзакций – варианты тюнинга
  • каталог со статистикой – пути оптимизации
  • pg_class и связанные с ним проблемы
  • batch insert/update
  • unlogged table – киллер фича?

4. Настройка бэкапов и репликации

  • проблематика
  • варианты настройки бэкапов и тестирование производительности
  • преимущества Data Domain
  • варианты физической конфигурации
  • пять уровней синхронного коммита
  • варианты логической конфигурации
  • мастер мастер репликация – киллер фича?
  • подключаемся репликой к DBaaS primary
  • PITR

5. Мониторинг, профилирование и логирование

  • варианты мониторинга
  • список основных параметров для мониторинга и причины
  • особенности профилирования
  • особенности логирования
  • инструменты анализа исторической нагрузки
  • pg_stat*
  • auto_explain
  • autovacumm_worker max load
  • audit

6. Тюнинг shared_buffers, background writer, checkpoint, WAL

  • проблематика
  • особенности работы MVCC PostgreSQL
  • буферный кеш – всё ли так очевидно?
  • принцип работы и тюнинг background writer
  • checkpoint, влияние на производительность и варианты тюнинга
  • восстановление после сбоев
  • pg_prewarm
  • WAL под капотом
  • контрольные суммы зло или нет?
  • движок OrioleDB

7. Особенности работы Vacuum, work_mem, statistic collector, locks

  • проблематика
  • принцип работы и тюнинг vacuum/autovacuum
  • vacuum on long transaction
  • Transaction ID wraparound
  • HOT Update
  • особенности выделения памяти при работы c work_mem и связанные с эти caveats
  • особенности работы со статистикой
  • блокировки, что с ними не так?
  • deadlock норма или ошибка архитектора?
  • idle, idle in transaction – насколько плохо?

8. Оптимизация схемы данных

  • что и почему нужно оптимизировать
  • как обновить схему данных и избежать проблем
  • добавление колонки, когда миллионы строк – паттерны
  • soft delete caveats
  • секционирование – киллер фича?
  • виртуальные колонки
  • использование предагрегатов mat.view vs triggers
  • индексы как серебряная пуля. или нет?
  • HypoPG
  • int VS bigint
  • caveat порядка колонок
  • типичные ошибки при изменении схемы данных
  • использование колоночного хранения
  • timescale db
  • варианты использования postgres_fdw для ускорения работы
  • проблемы миграции

9. Оптимизация запросов

  • проблематика
  • пути оптимизации
  • возможные ошибки
  • анализ запросов – определяем узкие места
  • pg_hintplan
  • GEQO – генетический оптимизатор
  • использование IN & EXISTS & ANY
  • prepared statements
  • parameter sniffing caveat
  • принцип работы СТЕ и причины его использования
  • best practice & caveats

10. Обслуживание СУБД. Работа на стенде

  • причины обслуживания СУБД
  • отличие явного от неявного коммита
  • обновление мажорной версии
  • freeze
  • stat
  • index, redindex, concurrently
  • materialized view refresh, concurrently
  • pg_repack vs pgcompacttable vs pg_squeeze
  • особенности выгрузки данных для дев стенда
  • security
  • debug && trace stored procedure
  • STONITH && chaos engeneering
  • стенд с проблемами производительности и чеклист, что нужно проверить. Оптимизируем работу

Каждая лекция сопровождается обширнейшей практикой на стендах для глубокого разбора той или иной проблемы.

После завершения курса будет предоставлено электронное свидетельство о прохождении курса. Пример https://aristov.tech/certs/AristovEvgeniy.pdf

Записаться на курс

Скачать программу в pdf

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

9 − восемь =