Разработка серверной части приложений
Базовый курс
12
Авторские права
© Postgres Professional, 2017–2020
Авторы: Егор Рогов, Павел Лузанов
Использование материалов курса
Некоммерческое использование материалов курса (презентации,
демонстрации) разрешается без ограничений. Коммерческое
использование возможно только с письменного разрешения компании
Postgres Professional. Запрещается внесение изменений в материалы
курса.
Обратная связь
Отзывы, замечания и предложения направляйте по адресу:
Отказ от ответственности
Компания Postgres Professional не несет никакой ответственности за
любые повреждения и убытки, включая потерю дохода, нанесенные
прямым или непрямым, специальным или случайным использованием
материалов курса. Компания Postgres Professional не предоставляет
каких-либо гарантий на материалы курса. Материалы курса
предоставляются на основе принципа «как есть» и компания Postgres
Professional не обязана предоставлять сопровождение, поддержку,
обновления, расширения и изменения.
2
Разработчикам
DEV1, 4 дня
Базовый курс
для разработчиков серверной части
DEV2, 4 дня
Расширенный курс
QPT, 2 дня
Оптимизация запросов
Основы SQL
Е. П. Моргунов,
«PostgreSQL. Основы языка SQL»
Для разработчиков серверной части приложений мы предлагаем
несколько курсов.
Для прохождения всех курсов необходимы предварительные знания
основ языка SQL. Специального курса по языку SQL в нашей линейке
курсов нет, но существует множество книг и других образовательных
ресурсов, с помощью которых можно освоить SQL. Мы рекомендуем
книгу Евгения Моргунова «PostgreSQL. Основы языка SQL»:
Базовым курсом для разработчиков является данный курс DEV1.
В курсе DEV2 рассматриваются особенности внутреннего устройства
сервера, влияющие на разработку прикладного кода, и всесторонне
изучается расширяемость: возможность дополнить серверные
механизмы собственным кодом, что позволяет использовать
PostgreSQL для решения самых разнообразных задач.
В курсе QPT детально разбираются механизмы планирования и
выполнения запросов, рассматривается настройка параметров
экземпляра, связанных с производительностью, и изучаются
возможности для поиска проблемных запросов и их оптимизации.
3
Администраторам
DBA1, 3 дня
Базовый курс
по администрированию
DBA2, 4 дня
Настройка и мониторинг
QPT, 2 дня
Оптимизация запросов
DBA3, 2 дня
Резервное копирование
и репликация
Основы SQL
Е. П. Моргунов,
«PostgreSQL. Основы языка SQL»
Для администраторов мы предлагаем следующие курсы.
В базовом курсе DBA1 даются общие сведения об архитектуре
PostgreSQL, процессе установки, базовой настройки и управления
сервером. Рассматриваются основные задачи администрирования,
вопросы управления доступом. Приводится обзор резервного
копирования и репликации.
В курсе DBA2 обсуждается настройка различных конфигурационных
параметров исходя из понимания внутренней организации сервера;
говорится о мониторинге сервера с использованием обратной связи для
итеративной настройки параметров. Также рассматриваются настройки,
связанные с локализацией, управление расширениями и знакомство
сfпроцедурой обновления сервера.
Курс DBA3 посвящен рассмотрению резервного копирования, а также
настройкам физической и логической репликации и сценариям ее
использования. Также дается общее представление о способах и
сложностях построения высокодоступных, масштабируемых кластеров.
Курс QPT является общим для разработчиков и администраторов.
Курсы по администрированию могут быть интересны и разработчикам,
желающим детальнее изучить внутреннее устройство PostgreSQL,
аfтакже в случае, когда на проекте нет выделенной роли
администратора.
4
О курсе DEV1
Продолжительность: 4 дня
Предварительные знания
основы SQL
опыт работы с любым процедурным языком программирования
минимальные сведения о работе в Unix
Какие навыки будут получены
общие сведения об архитектуре PostgreSQL
использование основных объектов БД: таблиц, индексов, представлений
программирование на стороне сервера на языках SQL и PL/pgSQL
использование основных типов данных, включая записи и массивы
организация взаимодействия с клиентской частью приложения
Базовый курс знакомит разработчиков приложений, работающих над
серверной частью, с основами PostgreSQL и написанием хранимых
процедур и функций на языках SQL и PL/pgSQL.
5
Используемые материалы
Подготовленная виртуальная машина
ОС Xubuntu
PostgreSQL 12 с документацией на русском языке
учебное веб-приложение «Книжный магазин»
pgAdmin 4
Учебные материалы
руководство слушателя
презентации, демонстрации, практические задания и их решение
(в форматах html и pdf)
справочные материалы — функции и типы данных PostgreSQL,
схема основных таблиц системного каталога с командами psql,
некоторые команды Unix
Если вы проходите курс самостоятельно, обязательно начните со
знакомства с Руководством слушателя. В числе прочего в нем
написано, где скачать и как использовать виртуальную машину курса
иfпрочие материалы. Все материалы курса доступны по адресу:
Выполнение практических заданий очень важно для получения навыков
работы с PostgreSQL. Обязательно старайтесь сначала самостоятельно
выполнить задания, а затем просмотрите предлагаемые нами решения,
даже если задание не вызвало вопросы. В решениях могут
содержаться дополнительные сведения, которые не упоминаются в
презентациях и демонстрациях.
Учебные материалы (презентации, демонстрации, практические
задания и их решения) доступны в двух форматах. Формат html удобен
для онлайн-работы, он позволяет копировать фрагменты текста и кода.
Формат pdf разбит на страницы и удобен для печати на бумаге.
Дополнительные справочные материалы помогут быстро найти нужную
информацию.
В виртуальной машине установлен pgAdmin4. В курсе мы используем
только psql, но при желании можно воспользоваться и графической
средой.
6
Организационные вопросы
День: ~8 академических часов + обед (1час)
Каждая тема, как правило, состоит из
презентации и демонстраций: ~25–60 мин
практических заданий: ~20–30 мин, включая перерыв
7
День 1
Базовый инструментарий
01. Обзор базового инструментария
Архитектура
02. Общее устройство PostgreSQL
03. Изоляция и многоверсионность
04. Буферный кеш и журнал
Организация данных
05. Логическая структура
06. Физическая структура
Первый день занятий посвящен в основном теоретической подготовке.
Здесь рассматриваются основы архитектуры PostgreSQL, без знания
которых невозможно полноценное использование СУБД. Полученные
знания будут применяться на практике вfпоследующих темах курса.
8
День 2
Приложение «Книжный магазин»
07. Схема данных приложения
SQL
08. Функции
09. Процедуры
10. Составные типы
PL/pgSQL
11. Обзор и конструкции языка
Начиная со второго дня занятий, каждая тема содержит два набора
практических заданий: связанных с приложением «Книжный магазин»
(они отмечены значком книги) и дополнительных. За время, которое
отводится на задания (около 30 минут), выполнить всю практику
невозможно. Используйте дополнительные задания для
самостоятельной работы.
9
День 3
PL/pgSQL (продолжение)
12. Выполнение запросов
13. Курсоры
14. Динамические команды
15. Массивы
16. Обработка ошибок
10
День 4
PL/pgSQL (продолжение)
17. Триггеры
18. Отладка
Разграничение доступа
19. Обзор разграничения доступа
Резервное копирование
20. Логическое резервирование