40 ак.часов
Разработка и настройка SQL запросов и приложений для сервера базы данных PostgreSQL
-
Описание образовательной программы
О КУРСЕКурс предназначен для разработчиков приложений и SQL запросов для Postgresql, также он будет полезен как администраторам серверов баз данных, руководителям IT подразделений, в связи с тем, что будет рассмотрено множество конкретных примеров построения и расширения postgres серверов на предприятии. По окончании курса выстраивается стройная картина – что такое Postgresql, как управлять сервером базы данных, его производительностью, расширению функциональности
Разработчики приложений, извлекающих контент из баз данных SQL Server
Администраторы баз данных
Модуль 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
Распределенные транзакции и двухфазный коммит
-
Для успешного прохождения курса необходимы:
- Знание основ реляционной модели базы данных и языка запросов SQL


