Курс: Администратор баз данных PostgreSQL (переподготовка)
Курс: Администратор баз данных PostgreSQL (переподготовка)
PSg25PostgreSQL
Продолжительность курса: 256 ак. ч.
Описание курса:
Программа, обеспечивающая комплексную подготовку специалистов по управлению данными: от базовых принципов работы с реляционными базами и операционной системой Linux до уровня эксперта по глубокому администрированию и оптимизации PostgreSQL.
Курс выстроен как непрерывный образовательный трек, начиная с проектирования БД, нормализации и основ SQL до необходимой базы администрирования Linux. Основную часть составляет глубокое погружение во внутреннюю архитектуру PostgreSQL (MVCC, WAL, блокировки), построение отказоустойчивых контуров (физическая и логическая репликация, кластеризация, бэкапы) и оптимизации производительности (анализ планов выполнения, типы индексов, статистика и профилирование). Выпускник получает исчерпывающий набор компетенций для управления высоконагруженными и критически важными базами данных «под ключ».
Аудитория:
• начинающие и действующие администраторы баз данных (DBA)
• backend-разработчики и Data-инженеры
• системные администраторы и DevOps-инженеры
• аналитики данных и архитекторы ИТ-систем
Необходимая подготовка:
• Базовое понимание принципов работы компьютерных систем, алгоритмов и реляционных данных
• Знание основ языка SQL, командной строки Linux или опыт работы с любыми СУБД
Программа курса:
Часть1: «Введение в базы данных SQL»
Модуль 1. Введение в базы данных
• Введение в реляционные базы данных
• Другие типы базы данных
• Анализ данных
• Языки баз данных
• Лабораторная работа. Сервер запросов SQL
Модуль 2. Моделирование данных
• Моделирование данных
• Модель базы данных ANSI/SPARC
• Моделирование отношений сущностей
• Лабораторная работа. Моделирование отношений сущностей
Модуль 3. Нормализация
• Необходимость нормализации данных
• Терминология нормализации
• Уровни нормализации
• Денормализация
• Лабораторная работа. Нормализация необработанных данных
Модуль 4. Отношения
• Схема сопоставления
• Ссылочная целостность
• Лабораторная работа. Проектирование отношений
Модуль 6. Объекты базы данных
• Таблицы
• Представления
• Хранимые процедуры
• Другие объекты базы данных
• Лабораторная работа. Использование SQL Server в гибридном облаке
Часть 2: «Основы администрирования Linux»
Модуль 1. Начало работы в системе Linux
• Несколько слов о Linux и о курсе
• Linux – многопользовательская операционная система
• Вход в систему в графическом режиме и с текстового терминала
• Вызов интерфейса командной строки в графическом режиме
• Получение информации о пользователях, смена пользователя
• Выход из системы, выключение системы
• Лабораторная работа: Первый вход в систему и знакомство с интерфейсом
Модуль 2. Текстовый интерфейс. Оболочка Bash
• Оболочка как средство работы с командной строкой
• Структура командной строки
• Встроенные и внешние команды
• Переменные оболочки и переменные окружения
• Сервисные возможности оболочки Bash: дополнение имен команд и файлов, история команд, псевдонимы
• Специальные символы оболочки, шаблоны поиска имен файлов
• Лабораторная работа: Освоение базовых возможностей Bash (история, автодополнение, псевдонимы)
Модуль 3. Использование и настройка графического интерфейса
• Графическая система X Window
• Использование и настройка графической среды рабочего стола
• Знакомство с графическим инструментом для работы с файлами
• Использование графических средств для административного управления системой
• Лабораторная работа: Настройка графического интерфейса и работа с файловым менеджером
Модуль 4. Использование справочных ресурсов
• Помощь оболочки Bash
• Справочная система man
• Справочная система info
• Документация, входящая в состав дистрибутива Linux
• Использование графической помощи Help
• Справочные ресурсы Internet
• Лабораторная работа: Поиск справочной информации с использованием man, info и online-ресурсов
Модуль 5. Управление учетными записями пользователей
• Основы организации пользователей и групп
• Хранение учетных записей и их структура
• Управление учетными записями пользователей с помощью утилит командной строки
• Управление группами с помощью утилит командной строки
• Управление учетными записями с помощью графических средств
• Лабораторная работа: Создание, изменение и удаление пользователей и групп
Модуль 6. Логическая структура файловой системы
• Основы понимания файловой системы Linux
• Стандарт FHS (Filesystem Hierarchy Standard)
• Основы организации файловой системы Linux
• Типы файлов
• Лабораторная работа: Исследование структуры каталогов в соответствии с FHS
Модуль 7. Работа с файлами и каталогами
• Использование графического интерфейса для работы с файлами и каталогами
• Работа с файлами и каталогами с командной строки
• Команды навигации по дереву каталогов
• Команды операций с файлами и каталогами
• Команды поиска файлов и команд
• Лабораторная работа: Выполнение операций с файлами и каталогами в командной строке
Модуль 8. Работа с текстовыми файлами и потоками
• Стандартные потоки ввода-вывода
• Перенаправление потоков
• Использование конвейеров и фильтров
• Просмотр текстовых файлов и потоков ввода-вывода
• Поиск информации внутри текстовых файлов и потоков
• Обработка текстовых файлов и потоков
• Дополнительные возможности обработки текста и потоков
• Лабораторная работа: Применение конвейеров и фильтров для обработки текстовых данных
Модуль 9. Редактирование текстов. Редактор vi
• Текстовые редакторы Linux
• Редактор vi
• Запуск vi и режимы его работы
• Перемещение курсора по тексту в vi
• Команды vi редактирования текста
• Команды поиска и замены строк
• Файловые команды
• Лабораторная работа: Редактирование текстовых файлов с использованием vi
Модуль 10. Администрирование файловой системы Linux
• Выбор файловой системы
• Конфигурирование разделов файловой системы (fdisk)
• Создание файловой системы Linux (mkfs)
• Монтирование файловых систем
• Другие средства для создания разделов и файловых систем
• Мониторинг и управление файловыми системами
• Конфигурирование Logical Volume Manager
• Конфигурирование дисковой квоты
• Лабораторная работа: Создание разделов, файловых систем и их монтирование
• Лабораторная работа: Настройка LVM и дисковых квот
Модуль 11. Управление правами доступа к файлам и каталогам
• О защите файловой системы
• Права владения файлами и каталогами
• Права доступа к файлам
• Права доступа к каталогам
• Управление правами с использованием графического интерфейса
• Управление правами владения файлов
• Управление правами доступа
• Управление установкой прав для новых файлов
• Специальные биты прав доступа: SUID, SGID и sticky bit
• Лабораторная работа: Настройка прав доступа и владения файлами и каталогами
Модуль 12. Управление процессами
• Программы и процессы
• Определения процессов
• Режимы работы процессов и управление заданиями
• Мониторинг процессов
• Сигналы управления процессами
• Управление приоритетом процессов
• Лабораторная работа: Мониторинг и управление процессами в системе
Модуль 13. Управление пакетами программ
• Основы управления пакетами программ
• Система управления пакетами RPM
• Использование других средств командной строки для управления пакетами RPM
• Использование графических средств управления пакетами
• Лабораторная работа: Установка, обновление и удаление пакетов с помощью RPM
Модуль 3. Репликация
• Физическая репликация
• Переключение на реплику
• Логическая репликация
• Сценарии использования
Модуль 4. Кластерные технологии
• Обзор
Часть 6: «QPT - PostgreSQL. Оптимизация запросов»
Модуль 1. Введение. Демобаза «Авиаперевозки»
• Цели и задачи
• Предметная область и общая схема демобазы
• Подробное описание объектов
Модуль 2. Выполнение запросов. Планирование и выполнение
• Общие подходы к оптимизации
• Простой протокол и этапы обработки запросов
• Расширенный протокол
• Подробнее о планировании
Модуль 3. Доступ к данным. Методы доступа
• Последовательное сканирование (Seq Scan)
• Сканирование индекса (Index Scan)
• Сканирование по битовой карте (Bitmap Scan)
• Сканирование только индекса (Index-Only Scan)
• Сравнение эффективности методов доступа
Модуль 4. Доступ к данным. Параллельный доступ
• Параллельные планы
• Размер пула процессов
• Параллельное последовательное сканирование
• Параллельный индексный доступ
Модуль 5. Доступ к данным. Типы индексов
• Хеш-индекс
• GiST
• Класс операторов
• SP-GiST
• GIN
• BRIN
Модуль 6. Сортировка
• Получение отсортированных данных
• Сортировка в памяти
• Внешняя сортировка
• Инкрементальная сортировка
• Сортировка в параллельных планах
• Сортировка при построении индекса
• Оконные функции с сортировкой
Модуль 7. Группировка
• Применение группировки
• Группировка хешированием
• Группировка сортировкой
• Комбинированная группировка
• Группировка в параллельных планах
• Оконные функции
Модуль 8. Способы соединения. Соединение вложенным циклом
• Общие соображения о соединениях
• Соединение вложенным циклом
• Модификации: левые, полу- и анти- соединения
• Вычислительная сложность
• Вложенный цикл в параллельных планах
Модуль 9. Способы соединения. Соединение хешированием
• Последовательное соединение хешированием: одно- и двухпроходное
• Вычислительная сложность
• Параллельное соединение хешированием: одно- и двухпроходное
Модуль 10. Способы соединения. Соединение слиянием
• Алгоритм соединения слиянием
• Вычислительная сложность
• Соединение слиянием в параллельных планах
Модуль 11. Базовая статистика
• Базовая статистика;
• Наиболее частые значения и гистограммы
• Статистика элементов составных значений
• Использование статистики для оценки кардинальностии селективности
• Частные и общие планы выполнения
• Частичный индекс и индекс по выражению
Модуль 12. Расширенная статистика
• Функциональная зависимость
• Наиболее частые комбинации значений
• Число уникальных комбинаций значений
• Статистика по выражениям
Модуль 13. Оптимизация запросов. Профилирование
• Профилирование как инструмент для поиска узких мест
• Выбор подзадачи для профилирования
• Средства построения профиля
Модуль 14. Оптимизация запросов. Материализация
• Материализация в запросах
• Временные таблицы
• Управление порядком соединений
• Материализованные представления
Модуль 15. Оптимизация запросов. Функции
• Категории изменчивости
• Подстановка кода функции в текст запроса
• Вызов табличных функций
• Настройки COST и ROWS
• Вспомогательные функции планировщика
• Конфигурационные параметры
Модуль 16. Оптимизация запросов. Подходы к настройке
• Что настраивать
• Настройка сервера
• Настройка приложения
• Запросы
Окончательная цена указывается в договоре на обучение. Записаться на курс