Курс: Разработка и настройка SQL запросов и приложений для сервера базы данных PostgreSQL
Дополнительная дата проведения курса: 15.09.2025 - 19.09.2025
Продолжительность курса: 40 ак. ч.
Описание курса:
Курс предназначен для разработчиков приложений и SQL-запросов для PostgresSQL. По окончании курса у слушателей выстраивается стройная картина: что такое PostgreSQL, как управлять сервером базы данных и его производительностью, как расширить функциональность и адаптировать структуру базы данных.
Аудитория:
• Разработчики приложений и SQL-запросов для баз данных;
• Администраторы баз данных;
• Аналитики данных;
• Руководители IT-подразделений.
Необходимая подготовка:
• Базовые знания о языке запросов SQL.
Программа курса:
Модуль 1.
• Подготовка операционной системы Unix для инсталяции сервера базы данных;
• Специфические пакеты, подготовка каталогов и пользователей ОС;
• Инсталяция сервера Postgres из исходных кодов;
• Основные конфигурационные файлы.
Модуль 2.
• Базы данных;
• Создание;
• Кластер базы данных;
• Схемы и пространства имен внутри базы данных;
• Пользователи;
• Специальные схемы и их назначение;
• Временные схемы и таблицы - особенности взаимодействия с сервером приложений;
• Порядок авторизации пользователя в базе данных.
Модуль 3.
• Локальный и удаленный доступ к серверу;
• Стандартные утилиты работы с сервером;
• Инталяция внешних утилит для сервера.
Модуль 4.
• Архитектура PostgreSQL;
• Общее устройство сервера базы данных, основные компоненты;
• Логирование;
• Разделяемый пул;
• Архитектура страницы (блока);
• Табличные пространства;
• Добавление расширений для мониторинга страниц, разделяемого пула и статистик выполнения запросов;
• Устройство буферного пула, журнал упреждающей записи, контрольная точка;
• Версии строк и снимки, введение в технологию ТОАST.
Модуль 5.
• Клиент - серверный протокол, транзакционость, этапы обработки запросов;
• Как хранятся данные на диске;
• Выполнение транзакций, изоляция и многоверсионность;
• Особенности реализации транзакций в Postgres;
• Блокировки таблиц и строк.
Модуль 6.
• Очистка табличных пространств и блоков, заморозка, архитектура хранения строки и выполнение транзакций в базе данных;
• Анализ таблиц и сбор статистик.
Модуль 7.
• Базовые типы данных, массивы, составные типы, типы перечислений, диапазонные типы и домены, приведение типов данных;
• JSON и XML типы данных.
Модуль 8.
• Основные объекты БД;
• Таблицы и типы данных;
• Создание таблиц и размещение данных в конкретных табличных пространствах;
• Описание колонок;
• Ограничения целостности в PG - проверки, внешние и первичные ключи, NOT NULL, UNIQUE;
• Системные столбцы;
• Изменение и удаление таблиц;
• Представления и материализованные представления - производительность запросов;
• Схемы в базе данных, изменение последовательности поиска объектов в базе данных;
• Определение размера объектов в базе данных.
Модуль 9.
• Выборка данных из таблиц;
• Соединение, агрегирование и группировка, подзапросы - правила работы команды SELECT, команды DML;
• PL/pgSQL процедурный язык;
• Легкий Обзор;
• Преимущества и недостатки;
• Поддерживаемые типы данных;
• Объявление переменных, параметров, процедурных блоков;
• Наследование типов данных базы данных;
• Тип данных запись;
• Обзор операторов;
• Явные и неявные курсоры;
• Динамический SQL.
Модуль 10.
• Индексы- назначение;
• Типы индексов и их создание;
• Составные и уникальные индексы;
• Функциональные индексы;
• Индексирование части строк таблицы;
• Индекс - организованные таблицы (INCLUDE);
• Сбор статистической информации по индексам, отбраковка и реорганизация индексов;
• Партиционные таблицы, декларативное описание партиций в postgres 10 и выше, списочные, ранжированные и другие виды партиций;
• Субпартиции;
• Индексация партиций и субпартиций.
Модуль 11.
• Управление производительностью PG;
• Методы доступа к данным, доступ к данным на основе индекса, индексный просмотр данных;
• Битовые карты для просмотра данных, механизмы связывания таблиц;
• Планы выполнения запросов - explain;
• Управление планом выполнения запросов при помощи команды SET текущего сеанса;
• Оптимизация запросов - сбор и обновление статистики, управление методами доступа, использование механизмов хеширования;
• Использование аналитических функций в Postgres.
Модуль 12.
• Материализованные представления, расширение dblink, логические репликации;
• Расширение plpython3u для организации взаимодействия с другими базами данных, файловыми системами;
• Пример использования расширения для генерации отчета в EXCEL или PDF формате из базы данных Postgres.
Модуль 13.
• Асинхронная обработка данных, использование внешних серверов сообщений (на примере Kafka) для организации взаимодействия с Postgres;
• Доступ к серверу Postgres через пулы стандартных серверов приложений и с использованием библиотек hibernate, spring;
• Распределенные транзакции и двухфазный коммит.
Окончательная цена указывается в договоре на обучение.