Курс предназначен для начинающих администраторов, которые сопровождают приложения для сервера базы данных PostgreSQL и сервера приложений WildFly или подобных ему. Также будут рассмотрены основные концепции построения приложений масштаба предприятия и размещение их на сервере приложений для организации транзакционного доступа к базе данных PostgreSQL. Слушатели будут знать про PostgreSQL и WildFly-инфраструктуру, как управлять сервером базы данных, сервером приложений и размещенными на нем задачами.
По окончании курса слушатели смогут:
- управлять инфраструктурой сервера базы данных PostgreSQL (PG);
- размещать на сервере приложения для управления данными;
- развертывать сервер приложений WildFly для взаимодействия с PG.
Аудитория
Курс предназначен для администраторов баз данных и приложений, которые активно используют базу данных. Курс также будет полезен разработчикам SQL и Java, а также руководителям IT-подразделений в связи с тем, что на курсе будет рассмотрено множество конкретных примеров построения и сопровождения приложений на предприятии.
Для эффективного обучения на курсе, слушатели должны обладать следующими знаниями и навыками:
- основы языка Java или одного из языков OOП.
- Введение в PostgreSQL
- Краткая история
- Предназначение и функциональность, управление базой данной
- Место базы данных в трехзвенной архитектуре вычислений масштаба предприятия
- Архитектура PostgreSQL
- Общее устройство сервера базы данных, основные компоненты
- Управление транзакциями
- Отличие бизнес-транзакций от транзакций базы данных
- Двухфазный и однофазный commit
- Как сервер приложений помогает базе данных
- Базы данных и схемы, системный каталог и метаданные базы данных
- Как устроены табличные пространства базы данных PG
- Установка PostgreSQL
- Подготовка операционной системы CentOS для размещения на ней базы данных
- Использование ARM-процессоров для работы PG
- Компиляция базы данных из исходных кодов
- Подготовка каталогов для размещения в них баз данных и табличных пространств
- Задачи администратора
- Основные утилиты администратора для управления базой данных - инсталляция
- Запуск PG из командной строки и как сервис операционной системы
- Расширения сервера PG
- Использование psql, pgcli, pgadmin в примерах
- JDBC-драйвер для работы с базой данных, доступ к PG из java-приложений, основные интерфейсы
- Примеры доступа
- Развертывание сервера WildFly и его конфигурация для работы с PG, пул соединений
- Загрузка простого приложения на сервер приложений и его тестирование совместно с базой данных
- Настройка удаленного взаимодействия с PG-конфигурацией
- Базы данных. Создание. Кластер базы данных
- Схемы и пространства имен внутри базы данных
- Пользователи
- Специальные схемы и их назначение
- Временные схемы и таблицы, особенности взаимодействия с сервером приложений
- Порядок авторизации пользователя в базе данных
- Настройка пула соединений сервера приложений для авторизации конкретного пользователя
- Табличные пространства и каталоги
- Управление табличными пространствами
- Табличные пространства и метаданные
- Системный каталог предоставляет доступ к метаданным сервера
- Организация SQL-доступа
- Общие объекты кластера базы данных
- Правила именования объектов в PG
- Специальные типы данных в определении первичных и внешних ключей системного каталога
- Определение места размещения табличных пространств на физических носителях
- Основные объекты БД
- Таблицы и типы данных
- Создание таблиц и размещение данных в конкретных табличных пространствах
- Описание колонок
- Ограничения целостности в PG, проверки, внешние и первичные ключи, NOT NULL, UNIQUE
- Системные столбцы
- Изменение и удаление таблиц
- Права и роли в базе данных, привилегии
- Политики защиты строк
- Представления
- Материализованные представления
- Схемы в базе данных
- Выборка данных из таблиц
- Соединение, агрегирование и группировка, подзапросы - правила работы команды SELECT, команды DML
- PL/pgSQL-процедурный язык
- Легкий обзор
- Преимущества и недостатки
- Поддерживаемые типы данных
- Структура блока
- Объявление переменных, параметров, процедурных блоков
- Наследование типов данных базы данных
- Тип записи данных
- Обзор операторов
- Явные и неявные курсоры
- Динамический SQL
- Статус выполнения команды - GET DIAGNOSTICS
- Обработка исключений
- Индексы - назначение
- Построчное и поколоночное хранение данных
- Типы индексов и их создание
- Составные и уникальные индексы
- Функциональные индексы
- Индексирование части строк таблицы
- Транзакции в базе данных PG
- Уровни изоляции транзакций
- Многоверсионность строк в таблицах
- Блокировки на уровне строк и таблиц
- Распределенные транзакции и XA-драйвер PG-сервера приложений
- ORM и JPA-сервера приложений для взаимодействия с базой данных PG
- Примеры использования
- Распределенные транзакции PG и механизмы JMS-сервера приложений
- Просмотр информации о блокировках
- Конфигурирование сервера, файл postgresqlconf
- Имена и типы параметров, изменения
- Управления параметрами через SQL, просмотр параметров, команда SHOW
- Управление параметрами через командную строку при старте сервера
- Вложенные конфигурационные файлы. Управление производительностью PG
- Методы доступа к данным, доступ к данным на основе индекса, индексный просмотр данных
- Битовые карты для просмотра данных, Nested loop, Hash join, Merge Join
- Планы выполнения запросов - explain
- Управление планом выполнения запросов при помощи команды SET текущего сеанса
- Оптимизация запросов, сбор и обновление статистики, управление методами доступа, использование механизмов хеширования
- Подключение и аутентификация
- Конфигурационный файл pg_hbaconf
- Утилиты createuser и dropuser
- Членство в роли
- Методы аутентификации - trust, password, ident
- Использование аутентификации на уровне сервера приложений, декораторы и интерсепторы на основе EJB-компонент
- Роли базы данных, операционной системы и сервера приложений
- Мониторинг работы системы
- Стандартные инструменты Unix
- Конфигурация системы сбора статистики, просмотр статистики через представления словаря метаданных
- Дополнительные функции для просмотра статистической информации
- Компиляция сервера с предоставлением трассировки во время выполнения
- Мониторинг использования дискового пространства
- Журнал упреждающей записи (WAL) и асинхронное подтверждение транзакций, настройка WAL
- Сопровождение PostgreSQL
- Логическое резервирование
- Физическое резервирование