DEV2. Разработка серверной части приложений PostgreSQL 16. Расширенный курс

 

Код курса: DEV2.

Продолжительность обучения: 32 уч. часа/4 дня.

Сроки проведения: по согласованию с заказчиками.

Время проведения курса:  09:30 - 17:00 пн, вт, чт, пт .

 

Авторизованный курс Postgres Professional по теме «DEV2. Разработка серверной части приложений PostgreSQL 16. Расширенный курс». Предназначен для программистов, опытных специалистов, разрабатывающих и сопровождающих приложения в среде сервера PostgreSQL. 
В курсе рассматривается внутренняя организация сервера PostgreSQL на углубленном уровне, полное использование возможностей, предоставляемых PostgreSQL для реализации логики приложения, расширение возможностей СУБД для решения специальных задач; изучаются пользовательские типы данных и типы для больших значений, слабоструктурированные данные, фоновые процессы, асинхронная обработка, создание расширений, агрегатные и оконные функции, полнотекстовый поиск, репликация, работа с внешними данными. Учтены нововведения версий PostgreSQL 13-16.

Для успешного освоения материала необходима предварительная подготовка:

  • знания и опыт разработки приложений в среде сервера PostgreSQL (от 1 года) или знания и опыт в объеме программы курса «DEV1.Разработка серверной части приложений PostgreSQL. Базовый курс»;
  • базовые знания в области программирования и алгоритмизации.

Каждый слушатель получает авторизованные учебно-методические материалы в электронном виде. 

По завершении курса слушателям выдается сертификат Postgres Professional о прослушанном авторизованном курсе.

Программа курса: 

1.    Архитектура баз данных PostgreSQL
1.1.    Изоляция
1.2.    Многоверсионность
1.3.    Очистка
1.4.    Журналирование
1.5.    Блокировки

2.    Приложение «Книжный магазин» 2.0
2.1.    Схема данных
2.2.    Интерфейс с клиентской частью
2.3.    Разграничение доступа

3.    Пул соединений
3.1.    Пул соединений в общей архитектуре системы
3.2.    Доступные варианты, PgBouncer
3.3.    Режимы работы
3.4.    Вопросы аутентификации
3.5.    Управление пулом
3.6.    Особенности разработки при наличии пула

4.    Типы данных для больших значений
4.1.    Хранение в файловой системе
4.2.    Технология TOAST
4.3.    Тип bytea
4.4.    Большие объекты

5.    Пользовательские типы данных
5.1.    Составные типы (краткое повторение)
5.2.    Типы перечислений
5.3.    Доступные варианты, PgBouncer 
5.4.    Режимы работы
5.5.    Вопросы аутентификации
5.6.    Управление пулом
5.7.    Особенности разработки при наличии пула
5.8.    Подготовка соединений

6.    Классы операторов
6.1.    Методы доступа (типы индексов)
6.2.    Классы и семейства операторов
6.3.    Метод доступа btree и создание класса операторов для него
6.4.    Идея метода доступа gist и примеры его использования

7.    Слабоструктурированные данные
7.1.    Что такое слабоструктурированные данные
7.2.    Применение в реляционных базах данных
7.3.    Необходимые операции
7.4.    Тип данных для XML: xml
7.5.    Типы данных для JSON: json и jsonb
7.6.    Индексирование документов JSON

8.    Фоновые процессы
8.1.    Механизм фоновых процессов
8.2.    Применение в ядре PostgreSQL
8.3.    Возможности для прикладных задач
8.4.    Расширение dblink
8.5.    Расширение pg_background

9.    Асинхронная обработка
9.1.    Зачем нужна асинхронная обработка данных
9.2.    Доступные решения
9.3.    Реализация очереди средствами PostgreSQL

10.    Создание расширений
10.1.    Расширения в PostgreSQL
10.2.    Создание расширений
10.3.    Версии расширений и обновление
10.4.    Особенности работы утилиты pg_dump

11.    Языки программирования
11.1.    Языки серверного программирования
11.2.    Доверенные и недоверенные языки
11.3.    Подключение нового языка
11.4.    Трансформации типов
11.5.    Интерфейс SPI для работы с базой
11.6.    Зачем нужны языки и из чего можно выбирать

12.    Агрегатные и оконные функции
12.1.    Создание пользовательских агрегатных функций
12.2.    Механизм работы оконных функций и их создание
12.3.    Параллельное выполнение агрегатных функций

13.    Полнотекстовый поиск
13.1.    Зачем нужен полнотекстовый поиск?
13.2.    Документы и запросы
13.3.    Анализаторы
13.4.    Словари и шаблоны
13.5.    Конфигурации
13.6.    Индексная поддержка

14.    Репликация
14.1.    Задачи и виды репликации
14.2.    Обзор физической репликации
14.3.    Уровни журнала
14.4.    Варианты использования реплики
14.5.    Переключение на реплику
14.6.    Обзор логической репликации
14.7.    Публикации и подписчики
14.8.    Уровни журнала
14.9.    Обнаружение и разрешение конфликтов
14.10.    Особенности работы триггеров
14.11.    Задачи, решаемые с помощью логической репликации
14.12.    Ограничения

15.    Внешние данные
15.1.    Назначение оберток сторонних данных
15.2.    Настройка доступа к внешним данным
15.3.    Примеры: postgres_fdw и file_fdw
15.4.    Другие доступные обертки

Поиск курса

Бронирование курса

Если у Вас не получается отправить форму - напишите нам на почту training@mnk-computers.by.