Курс предназначен для начинающих администраторов, которые сопровождают или планируют сопровождать приложения для сервера базы данных PostgreSQL и сервера приложений WildFly или подобном ему.
На курсе также будут рассмотрены основные концепции построения приложений масштаба предприятия и размещение их на сервере приложений для организации транзакционного доступа к базе данных PG. Курс будет полезен как администраторам серверов баз данных, так и руководителям IT подразделений, в связи с тем, что будет рассмотрено множество конкретных примеров построения и сопровождения приложений на предприятии.
По окончанию курса слушатели смогут самостоятельно управлять инфраструктурой сервера базы данных PostgreSQL (PG), размещать на сервере приложения для управления данными, разворачивать сервер приложений WildFly для взаимодействия с PG.
1. Введение в PostgreSQL
Краткая история. Предназначение и функциональность, управление базой данной. Место базы данных в трехзвенной архитектуре вычислений масштаба предприятия.
2. Архитектура PostgreSQL
Общее устройство сервера базы данных, основные компоненты. Управление транзакциями. Отличие бизнес транзакций от транзакций базы данных. Двухфазный и однофазный commit. Как сервер приложений помогает базе данных.
Базы данных и схемы, системный каталог и метаданные базы данных. Как устроены табличные пространства базы данных PG.
3. Установка PostgreSQL
Подготовка операционной системы CentOS для размещения на ней базы данных.Использование ARM процессоров для работы PG. Компиляция базы данных из исходных кодов. Подготовка каталогов для размещения в них баз данных и табличных пространств. Задачи администратора. Основные утилиты администратора для управления базой данных - инсталяция. Запуск PG из командной строки и как сервис операционной системы. Расширения сервера PG.
4. Использование psql, pgcli, pgadmin - в примерах. JDBC драйвер для работы с базой данных, доступ к PG из java приложений, основные интерфейсы. Примеры доступа. Развертывание сервера WildFly и конфигурация его для работы с PG - пул соединений. Загрузка простого приложения на сервер приложения и тестирование его совместно с базой данных. Настройка удаленного взаимодествия с PG - конфигурация.
5. Базы данных. Создание. Кластер базы данных. Схемы и пространства имен внутри базы данных. Пользователи. Специальные схемы и их назначение. Временные схемы и таблицы - особенности взаимодействия с сервером приложений. Порядок авторизации пользователя в базе данных. Настройка пула соединей сервера приложений для авторизации конкретного пользователя
6. Табличные пространства и каталоги. Управление табличными пространствами. Табличные пространства и метаданные
7. Системный каталог - предоставляет доступ к метаданным сервера. Организация SQL доступа. Общие объекты кластера базы данных. Правила именования объектов в PG. Специальные типы данных в определении первичных и внешних ключей системного каталога. Определение места размещения табличных пространств на физических носителях.
8. Основные объекты БД.
Таблицы и типы данных. Создание таблиц и размещение данных в конкретных табличных пространствах. Описание колонок. Ограничения целостности в PG - проверки, внешние и первичные ключи, NOT NULL, UNIQUE. Системные столбцы. Изменение и удаление таблиц.
Права и роли в базе данных, привилегии. Политики защиты строк.
Представления. Материализованные представления.
Схемы в базе данных
9. Выборка данных из таблиц. Соединение, агрегирование и группировка, подзапросы - правила работы команды SELECT, команды DML. PL/pgSQL процедурный язык. Легкий Обзор . Преимущества и недостатки. Поддерживаемые типы данных. Структура блока. Объявление переменных, параметров , процедурных блоков. Наследование типов данных базы данных. Тип данных запись. Обзор операторов. Явные и неявные курсоры. Динамический SQL. Статус выполнения команды - GET DIAGNOSTICS. Обработка исключений
10. Индексы- назначение. Построчное и поколоночное хранение данных. Типы индексов и их создание. Составные и уникальные индексы. Функциональные индексы. Индексирование части строк таблицы
11.Транзакции в базе данных PG. Уровни изоляции транзакций. Многоверсионность строк в таблицах. Блокировки на уровне строк и таблиц. Распределенные транзакции и XA драйвер PG сервера приложений. ORM и JPA сервера приложений для взаимодействия с базой данных PG. Примеры использования. Распределенные транзакции PG и механизмы JMS сервера приложений. Просмотр информации о блокировках.
12. Конфигурирование сервера - файл postgresql.conf . Имена и типы параметров, изменения. Управления параметрами через SQL, просмотр параметров - команда SHOW. Управление параметрами через командную строку при старте сервера. Вложенные конфигурационные файлы Управление производительностью PG. Методы доступа к данным , доступ к данным на основе индекса, индексный просмотр данных. Битовые карты для просмотра данных, Nested loop, Hash join, Merge Join. Планы выполнения запросов - explain. Управление планом выполнения запросов при помощи команды SET текущего сеанса. Оптимизация запросов - сбор и обновление статистики, управление методами доступа, использование механизмов хеширования.
13. Подключение и аутентификация. Конфигурационный файл pg_hba.conf. Утилиты createuser и dropuser. Членство в роли
Методы аутентификации - trust, password, ident. Использование аутентификации на уровне сервера приложений, декораторы и интерсепторы на основе EJB компонент.
Роли базы данных, операционной системы и сервера приложений.
14. Мониторинг работы системы.
Стандартные инструменты Unix. Конфигурация системы сбора статистики, просмотр статистики через представления словаря метаданных. Дополнительные функции для просмотра статистической информации. Компиляция сервера с предоставлением трассировки во время выполнения. Мониторинг использования дискового пространства. Журнал упреждающей записи (WAL) и асинхронное подтверждение транзакций, настройка WAL.
15. Сопровождение PostgreSQL
16. Логическое резервирование
17. Физическое резервирование
1488 BYN