ПОИСК
Быстрый заказ
![]() ОЦЕНКА КУРСАобщая оценка курса:оценка преподавателя: Хочу скидку |
Целью обучения является приобретение теоретических знаний и практических навыков, связанных с выполнением задач по администрированию и оптимизации запросов в PostgreSQL. Отличия от предыдущей версии курса:
Выберите форму обучения,
чтобы увидеть актуальные даты:
РАСПИСАНИЕ ЗАНЯТИЙ
|
После изучения курса вы сможете
- детально понимать механизмы планирования и выполнения запросов;
- настраивать параметры экземпляра, связанные с производительностью;
- выполнять поиск проблемных запросов и их оптимизацию.
Содержание курса
Демонстрационная база данных
Тема 1. «Авиаперевозки»
Выполнение запросов
Тема 2. Планирование и выполнение
Доступ к данным
Тема 3. Методы доступа
Тема 4. Параллельный доступ
Тема 5. Типы индексов
Сортировка и группировка
Тема 6. Сортировка
Тема 7. Группировка
Способы соединения
Тема 8. Соединение вложенным циклом
Тема 9. Соединение хешированием
Тема 10. Соединение слиянием
Статистика
Тема 11. Базовая статистика
Тема 12. Расширенная статистика
Оптимизация запросов
Тема 13. Профилирование
Тема 14. Материализация
Тема 15. Функции
Тема 16. Подходы к настройке
Тема 1. «Авиаперевозки»
- Цели и задачи.
- Предметная область и общая схема демобазы.
- Подробное описание объектов.
Выполнение запросов
Тема 2. Планирование и выполнение
- Общие подходы к оптимизации.
- Простой протокол и этапы обработки запросов.
- Расширенный протокол.
- Подробнее о планировании.
Доступ к данным
Тема 3. Методы доступа
- Последовательное сканирование (Seq Scan).
- Сканирование индекса (Index Scan).
- Сканирование по битовой карте (Bitmap Scan).
- Сканирование только индекса (Index-Only Scan).
- Сравнение эффективности методов доступа.
Тема 4. Параллельный доступ
- Параллельные планы.
- Размер пула процессов.
- Параллельное последовательное сканирование.
- Параллельный индексный доступ.
Тема 5. Типы индексов
- Хэш-индекс.
- GiST (Generalized search tree).
- Класс операторов.
- SP- GiST (Space Partitioning GiST).
- GIN (Generalized Inverted Index).
- BRIN (Block Range INdex).
Сортировка и группировка
Тема 6. Сортировка
- Получение отсортированных данных.
- Сортировка в памяти.
- Внешняя сортировка.
- Инкрементальная сортировка.
- Сортировка в параллельных планах.
- Сортировка при построении индекса.
- Оконные функции с сортировкой.
Тема 7. Группировка
- Применение группировки.
- Группировка хешированием.
- Группировка сортировкой.
- Комбинированная группировка.
- Группировка в параллельных планах.
- Оконные функции.
Способы соединения
Тема 8. Соединение вложенным циклом
- Общие соображения о соединениях.
- Соединение вложенным циклом.
- Модификации: левые, полу- и анти- соединения.
- Вычислительная сложность.
- Вложенный цикл в параллельных планах.
Тема 9. Соединение хешированием
- Последовательное соединение хэшированием: одно- и двухпроходное.
- Вычислительная сложность.
- Параллельное соединение хэшированием: одно- и двухпроходное.
Тема 10. Соединение слиянием
- Алгоритм соединения слиянием.
- Вычислительная сложность.
- Соединение слиянием в параллельных планах.
Статистика
Тема 11. Базовая статистика
- Базовая статистика.
- Наиболее частые значения и гистограммы.
- Статистика элементов составных значений
- Использование статистики для оценки кардинальности и селективности.
- Частные и общие планы выполнения.
- Частичный индекс и индекс по выражению.
Тема 12. Расширенная статистика
- Функциональная зависимость.
- Наиболее частые комбинации значений.
- Число уникальных комбинаций значений.
- Статистика по выражениям.
Оптимизация запросов
Тема 13. Профилирование
- Профилирование как инструмент для поиска узких мест.
- Выбор подзадачи для профилирования.
- Средства построения профиля.
Тема 14. Материализация
- Материализация в запросах.
- Временные таблицы.
- Управление порядком соединений.
- Материализованные представления.
Тема 15. Функции
- Категории изменчивости.
- Подстановка кода функции в текст запроса.
- Вызов табличных функций.
- Настройки COST и ROWS.
- Вспомогательные функции планировщика.
- Конфигурационные параметры.
Тема 16. Подходы к настройке
- Что настраивать?
- Настройка сервера.
- Настройка приложения.
- Запросы.
Слушатели
Специалисты, деятельность которых связана с администрированием и оптимизацией баз данных.
Предварительная подготовка
- знакомство с ОС Unix;
- уверенное владение SQL (знакомство с PL/pgSQL не обязательно, но полезно);
- знания и навыки PostgreSQL в объеме курса DBA1 «Администрирование PostgreSQL. Базовый курс» или DEV1 «Разработка серверной части приложений PostgreSQL 16. Базовый курс» (рекомендуется обучение).