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