Оптимизация запросов
PostgreSQL 16
16
Авторские права
© Postgres Professional, 2019–2024
Авторы: Егор Рогов, Павел Лузанов, Павел Толмачев, Илья Баштанов
Фото: Олег Бартунов (монастырь Пху и пик Бхрикути, Непал)
Использование материалов курса
Некоммерческое использование материалов курса (презентации,
демонстрации) разрешается без ограничений. Коммерческое
использование возможно только с письменного разрешения компании
Postgres Professional. Запрещается внесение изменений в материалы
курса.
Обратная связь
Отзывы, замечания и предложения направляйте по адресу:
Отказ от ответственности
Компания Postgres Professional не несет никакой ответственности за
любые повреждения и убытки, включая потерю дохода, нанесенные
прямым или непрямым, специальным или случайным использованием
материалов курса. Компания Postgres Professional не предоставляет
каких-либо гарантий на материалы курса. Материалы курса
предоставляются на основе принципа «как есть» и компания Postgres
Professional не обязана предоставлять сопровождение, поддержку,
обновления, расширения и изменения.
2
Администраторам
DBA1, 3 дня
Базовый курс
по администрированию
DBA2, 4 дня
Настройка и мониторинг
QPT, 3 дня
Оптимизация запросов
DBA3, 2 дня
Резервное копирование
и репликация
Основы SQL
Е. П. Моргунов,
«PostgreSQL. Основы языка SQL»
PGPRO, 3 дня
Возможности
Postgres Pro Enterprise
Для прохождения этих курсов необходимо знание основ языка SQL.
Специального курса по SQL в нашей линейке нет, но существует
множество книг и других образовательных ресурсов, с помощью
которых можно освоить SQL. Мы рекомендуем книгу Евгения
Моргунова «PostgreSQL. Основы языка SQL»:
Для администраторов мы предлагаем следующие курсы.
В курсе DBA1 даются общие сведения об архитектуре PostgreSQL,
процессе установки, базовой настройке и управлении сервером.
Рассматриваются основные задачи администрирования. Приводятся
обзоры управления доступом, резервного копирования и репликации.
В курсе DBA2 обсуждается настройка конфигурационных параметров
исходя из понимания внутренней организации сервера; говорится
о мониторинге сервера с использованием обратной связи для
итеративной настройки параметров. Рассматриваются настройки,
связанные с локализацией, управление расширениями и процедура
обновления сервера.
Курс DBA3 посвящен рассмотрению резервного копирования, а также
настройкам физической и логической репликации и сценариям ее
использования. Также дается общее представление о способах и
сложностях построения высокодоступных, масштабируемых кластеров.
В данном курсе QPT детально разбираются механизмы планирования
и выполнения запросов, рассматривается настройка параметров
экземпляра, связанных с производительностью, и изучаются
возможности для поиска проблемных запросов и их оптимизации.
3
Разработчикам
DEV1, 4 дня
Базовый курс
для разработчиков серверной части
DEV2, 4 дня
Расширенный курс
QPT, 3 дня
Оптимизация запросов
Основы SQL
Е. П. Моргунов,
«PostgreSQL. Основы языка SQL»
PGPRO, 3 дня
Возможности
Postgres Pro Enterprise
Для разработчиков серверной части приложений мы предлагаем
специальную линейку курсов.
Базовым курсом для разработчиков является курс DEV1, в котором
даются общие сведения об архитектуре PostgreSQL и использовании
основных объектов базы данных; изучается программирование на
стороне сервера на языках SQL и PL/pgSQL с использованием
основных типов данных (включая составной тип и массивы), а также
рассматривается взаимодействие с клиентской частью.
В курсе DEV2 рассматриваются особенности внутреннего устройства
сервера, влияющие на разработку прикладного кода, и всесторонне
изучается расширяемость: возможность дополнить серверные
механизмы собственным кодом, что позволяет использовать
PostgreSQL для решения самых разнообразных задач.
В курсе PGPRO рассматриваются дополнительные возможности,
которые предоставляет СУБД Postgres Pro Enterprise.
Курсы QPT и PGPRO являются общими для разработчиков и
администраторов.
Курсы по администрированию могут быть интересны и разработчикам,
желающим детальнее изучить внутреннее устройство PostgreSQL,
а также в случае, когда на проекте нет выделенной роли
администратора.
4
О курсе QPT
Продолжительность: 3 дня
Предварительные знания
знакомство с ОС Unix
уверенное владение SQL (знакомство с PL/pgSQL не обязательно,
но полезно)
PostgreSQL в объеме курса DBA1 или DEV1
Какие навыки будут получены
детальное понимание механизмов планирования и выполнения запросов
настройка параметров экземпляра, связанных с производительностью
поиск проблемных запросов и их оптимизация
5
Используемые материалы
Подготовленная виртуальная машина
ОС Xubuntu 22.04
PostgreSQL 16 с документацией на русском языке
демонстрационная база данных «Авиаперевозки»
Учебные материалы
руководство слушателя
презентации, демонстрации, практические задания и их решение
(в форматах html и pdf)
схема демонстрационной базы данных
6
Организационные вопросы
День: ~8 академических часов + обед (1час)
Каждая тема, как правило, состоит из
презентации и демонстраций: ~30–60 мин
практических заданий: ~20–30 мин, включая перерыв
7
День 1
Демонстрационная база данных
01. Авиаперевозки
Выполнение запросов
02. Планирование и выполнение
Доступ к данным
03. Методы доступа
04. Параллельный доступ
8
День 2
Методы доступа (продолжение)
05. Типы индексов
Сортировка и группировка
06. Сортировка
07. Группировка
Способы соединения
08. Соединение вложенным циклом
09. Соединение хешированием
10. Соединение слиянием
9
День 3
Статистика
11. Базовая статистика
12. Расширенная статистика
Оптимизация запросов
13. Профилирование
14. Материализация
15. Функции
16. Подходы к настройке