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