Разработка и настройка SQL запросов и приложений для сервера базы данных PostgreSQL

Курс предназначен для разработчиков приложений и SQL запросов для Postgresql, также он будет полезен как администраторам серверов баз данных,  руководителям IT подразделений, в связи с тем, что будет рассмотрено множество конкретных примеров построения и расширения  postgres серверов на предприятии. По окончании курса выстраивается стройная картина – что такое Postgresql, как управлять сервером базы данных, его производительностью, расширению функциональности . Возможен вариант сравнения сервера Postgresql с сервером базы данных Oracle.

Целевая аудитория

Разработчики приложений и SQL запросов для баз данных , курс также может быть полезен для администраторов базы данных, руководителей IT подразделений, разработчиков приложений для серверов приложений и микросервисов.

Предварительная подготовка

Основы реляционной модели базы данных и языка запросов SQL.

Приобретаемые знания и навыки

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

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

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. Распределенные транзакции и двухфазный коммит.

Группа

  • от 8 человек

Документы об окончании курса

  • Сертификат Учебного центра Noventiq
  • Cертификат об обучении установленного образца

Certificate Noventiq Education Belarus сертификат об обучении установленного образца

Оставить отзыв

Информация о курсе

1488 BYN

Вендор: Postgres Pro
Код курса: PostgreSQL-D
Продолжительность: 5 дней / 40 ак. часов
Направление: Разработка PostgreSQL
Экзамен :
Записаться на курс

Название курса и комментарии*

Имя*

Фамилия*

Отчество*

Компания

Телефон*

Email*

Настоящим, в соответствии с ч.2.ст.18 Закона Республики Беларусь от 10.11.2008 N 455-З(ред. от 11.05.2016) "Об информации, информатизации и защите информации" и Законом Республики Беларусь от 7 мая 2021 г. № 99-З «О защите персональных данных», отправляя данную форму, вы подтверждаете свое согласие на сбор, обработку и хранение ООО «СофтЛайнБел» Ваших персональных данных. ООО «СофтЛайнБел» гарантирует конфиденциальность получаемой от Вас информации. Сбор, обработка и хранение персональных данных осуществляется в целях эффективного оказания услуг и исполнения договоров.