Главная

 / 

 / 

Профессиональное использование SQL и PLpg/SQL в Postgresql.

Профессиональное использование SQL и PLpg/SQL в Postgresql. 

(GAL - POSTGRESQLPROF)

Описание

Кому полезен курс

Профессиональные разработчики SQL, желающие упорядочить свои знания в базе данных Postgresql, разработчики клиентских приложений, администраторы базы данных Postgresql.

Вступительные требования

Основы SQL, элементарные навыки написания приложений.

Результат обучения

Цель: по окончанию курса слушатели смогут создавать приложения и запросы на SQL и PLpg/SQL на новом, современном уровне. Будет понимание написания современных приложений для базы данных Postgresql.

Задачи: показать архитектурные особенности сервера Postgresql версии 15 и выше, его тонкую настройку с точки зрения разработчика серверной части приложения с использованием SQL/PLpg/SQL. Новые возможности SQL. Настройку производительности SQL запросов. Мониторинг и трассировку SQL. Общее понимание разработки Web и мобильных приложений средствами PLpg/SQL.

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

  1. Postgresql – интегрированная база данных. Логическая и физическая компоновка базы данных. Процессы управления. Архитектура табличных пространств. Оптимальное использование памяти сервером. Слушатель сервера и клиентские процессы сервера. Настройка процессов прослушивания.
  2. Клиентские места для организации рабочего места разработчика и администратора Сравнение приложений - Python и Java для работы с Postgresql. Популярные приложения - выбор разработчика.
  3. Типы данных данных Postgresql (обзор). Рациональное использование табличных пространств для размещения больших объектов. Слои хранения данных в табличных пространствах. Использование объектных и агрегатных типов для хранения данных. Порядок доступа к объектам базы данных, их размер, страничное хранение.
  4. Расширение базы данных для организации наблюдения за распределением памяти и процессом подготовки SQL запросов. Страницы в shared памяти.
  5. Использование подзапросов во фразе From. Подзапросы. Коррелированные подзапросы. Древовидные структуры. Конструкции во фразе SELECT. (rollup, cube, case…). Аналитические функции в запросах. Вложенные таблицы в виде агрегатных типов данных.
  6. Язык манипулирования данными DML. выполнения сложных операторов DML с подзапросами. Оператор
  7. Оптимизация SQL запросов: Настройка производительности приложения. Разделяемый пул и рабочая область. Оптимизатор. Команда Analyze. Организация и планирование сбора статистики по объектам. Вакуум. Ранжирование методов доступа. Анализ запросов с целью повышения скорости их выполнения. Команда Explain и алгоритмы ее использования. Правила оптимизации запросов и их оценка. Практические примеры оптимизации,  Автоматический сбор статистики по таблицам и параметры конфигурации сервера. Использование расширений для управления планом выполнения Подсказки оптимизатору, заморозка планов выполнения запросов.
  8. Язык DDL. Создание и изменение таблиц (DDL). Команда Create Table. Определение параметров хранения таблиц на физическом уровне.
  9. Создание временных транзакционных и сессионных таблиц. Создание таблиц с разбивкой на партиции. Ссылочные партиционные таблицы. Примеры использования партиционных таблиц с различными типами разбивки. Индексные таблицы. Доступ к данным в индексных таблицах, проблемы обновления данных. Особенности размещения индексных таблиц в физических блоках дисковой памяти.
  10. Декларативные ограничения целостности. Индексы и ограничения. “Откладываемые” ограничения целостности и проблемы каскадного обновления первичных ключей. Команда SET CONSTRAINT. Изменение структуры таблицы, команда Alter table и ограничения целостности. Создание неуникальных индексов для первичных и уникальных ключей. Мгновенное включение ограничений.
  11. Транзакции. Оптимистические и пессимистические запросы. Алгоритмы совместного доступа к базам данных. Конкуренция параллельность и согласованность. Транзакции и взаимовлияние. Потери изменений, черновое чтение, повторяемое и неповторяемое чтение. Уровни изоляции. Алгоритмы блокирования. Блокировки DML – табличные и строчные блокировки, тупики. Разрешения тупиков. Блокировки DDL-исключающие и разделяемые блокировки, многовариантность. Многовариантность и согласованность чтения на уровне транзакций. Использование расширений и таблиц статистики для оценки заполнения страниц сервера данными
  12. Другие объекты. Представления. Ограничение представлений и правила их обновляемости, Instead off триггер. Индексы. Правила применения и рекомендации. Использование функций в индексах. Индексы и оптимизация. Необходимость использования индексов.  Связи с базами данных. Использование ролей для разграничения доступа к данным – безопасность.  Практический пример создания связей со схемами нескольких удаленных баз данных. Логические репликации, примеры создания. Методы обновления. Материализованные представления данных. Принудительное обновление данных.
  13. PLpg/SQL.Обзор и конструкции языка. Выполнение запросов. Простые и подготовленные запросы, CTE - таблицы.
  14. Курсоры. Явные и неявные курсоры. Атрибуты и параметры курсоров. Использование курсоров внутри управляющих блоков. Оператор CURSOR и фраза INTO. Обновляемые курсоры и транзакции.
  15. Процедуры и функции. Схема базы данных - как определение пространства имен бизнес логики приложений. Ограничения для пользовательских SQL процедур. Зависимые процедуры и их сопровождение. Использование хранимых функций в SQL запросах.
  16. Исключительные ситуации. Предопределенные и пользовательские исключительные ситуации. Явное возбуждение исключений. Методика обработки ошибок в PLpg/SQL.
  17. Триггеры таблиц – как разновидность хранимых процедур. Атрибуты триггеров Postgresql. Обработка исключительных ситуаций в триггерах.
  18. Python в базе данных Создание расширения. Практические примеры использования Python в Postgresql для генерации отчетов в стандартных форматах. Python приложение - как клиентское приложение для Postgresql.
  19. Введение в архитектуру распределенных и мобильных приложений. Postgresql - как хранилище данных. Реактивные механизмы доступа к данным с использованием микросервисной архитектуры и реактивных клиентских приложений.

Профессиональное использование SQL и PLpg/SQL в Postgresql. 

Уровень сложности курса

Продвинутый

Направление
Длительность
40 ч./
5 дн.
Стоимость
70 000 ₽/чел.
560 000 ₽/группа
Ближайшая дата
По запросу

Оставьте заявку

Нажимая отправить Вы соглашаетесь с нашей Политикой конфиденциальности