Курс: Основы администрирования сервера базы данных PostgreSQL и основы развертывания и использования приложений для базы данных
Продолжительность курса: 40 ак. ч.
Описание курса:
Цель: по окончанию курса, слушатели смогут самостоятельно управлять инфраструктурой сервера базы данных Postgresql (PG).
Курс предназначен для начинающих администраторов, которые волей судьбы сопровождают или будут сопровождать приложения для сервера базы данных PG. Курс будет полезен как администраторам серверов баз данных, так и руководителям IT подразделений, в связи с тем, что будет рассмотрено множество конкретных примеров построения и сопровождения postgres серверов на предприятии. По окончании курса выстраивается стройная картина – что такое Postgresql. Как управлять сервером базы данных, его производительностью и отказоустойчивостью.
Аудитория:
Начинающие администраторы баз данных, курс также может быть полезен для разработчиков SQL, руководителей IT подразделений.
Необходимая подготовка:
Основы реляционной модели базы данных и языка запросов SQL
Программа курса:
Модуль 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;
• Распределенные транзакции и двухфазный коммит.
Окончательная цена указывается в договоре на обучение. Записаться на курс