Настройка производительности и оптимизация СУБД PostgreSQL_ТЕСТОВЫЙ
Продолжительность курса:
5 дней/40 академических часов.
Введение.
1. Знакомство с PostgreSQL. 2. Архитектура и организация данных.
Планирование запросов. Интерпретация работы планировщика.
1. Как на самом деле выполняется запрос в БД. 2. Разбор и переписывание запросов планировщиком. 3. Команда EXPLAIN и EXPLAIN ANALYZE.
Интерпретация результатов. Параллельное выполнение запросов.
1. Как работают параллельные запросы. 2. Параллельные планы выполнения. 3. Параллельные сканирования, соединения и агрегирование.
Архитектурные и проектные аспекты.
1. Проектирование БД. 2. Нормализация и денормализация. 3. Типы данных. Их влияние на производительность и емкость.
Индексы.
1. Что такое индекс. 2. Создание, удаление индексов. 3. Влияние индексов на производительность запросов и в каких случаях он необходим. 4. Влияние индексов на обновление, удаление данных.
Приемы оптимизации при наполнении БД.
1. Удаление индексов и ограничений ключей. 2. Использование операции COPY. 3. Увеличение параметров maintenance_work_mem и max_wal_size. 4. Управление автофиксацией транзакций. 5. Обновление статистики командой ANALYZE.
Регламентные задачи обслуживания БД.
1. Операция VACUUM. 2. Регламентная очистка. 3. Периодическая переиндексация.
Управление памятью.
1. Параметры, отвечающие за использование ресурсов памяти. 2. Настройка и изменение параметров. 3. Настройка журнала WAL.
Оптимизация больших таблиц.
1. Секционирование таблиц. Методы управления секциями. 2. Создание и использование представлений. Материализованные представления. 3. Создание и использование общих табличных выражений CTE. Материализованные CTE.
Статистика и мониторинг.
1. Отслеживание статистики планирования и выполнения SQL операторов. 2. Статистика запросов. 3. Другая статистика.