[DevHands] PostgreSQL 17. Архитектура и тюнинг SQL-запросов (Николай Ихалайнен)

Курс

[DevHands] PostgreSQL 17. Архитектура и тюнинг SQL-запросов (Николай Ихалайнен)

2 550 ₽

О курсе

PostgreSQL 17. Архитектура и тюнинг SQL-запросов Погрузитесь в секреты одной из самых популярных open source СУБД – PostgreSQL. На курсе вы сможете: Понять, как работает внутри самая популярная открытая СУБД PostgreSQL Изучить архитектуру хранения данных в PostgreSQL, типы и особенности индексов Получить практику EXPLAIN, EXPLAIN ANALYZE, различных трюков оптимизации БД Используя свой собственный выделенный облачный PostgreSQL-сервер (8 vCPU, 12G RAM, 100G NVMe) – БЕСПЛАТНО предоставляется на время обучения Разобраться в деталях, как работают современные СУБД Какие есть архитектурные особенности у СУБД в целом и у PostgreSQL в частности Что такое MVCC, ACID, WAL, LRU, PPC/TPC и другие аббревиатуры из мира СУБД Программа обучения: Встречи: 5 недель + 1 резерв (QA) + собственный настроенный PG-сервер в подарок + 45 дней практики Живые лекции и живые демо с автором курса, Николаем Ихалайненом. Первая, вводная встреча (архитектура СУБД) - совместная, Николая Ихалайнена с основателем devhands, Алексеем Рыбаком. Ведётся запись, ссылка выкладывается в чат. С первого же занятия мы выдаем доступ к настроенной инфраструктуре для выполнения практических заданий. Все встречи начинаются в 18:00 МСК (GMT+3), проходят в Zoom. Ссылка на Zoom-митинг «запинена» в чате. Подробнее: Занятие 1. Введение в архитектуру СУБД Совместная встреча (Николай Ихалайнен, Алексей Рыбак). Знакомство с основными концепциями СУБД через наивную попытку спроектировать СУБД самостоятельно (повторять не рекомендуется). Постановка задачи: семейный финансовый трекер. Консольная утилита -> сервер с PPC-моделью. Файл данных. Поиск и индексный файл. Вторичные индексы. Транзакции и ACID. Изоляция, фантомные чтения. Многоверсионность (MVCC). Undo/Redo сегменты. Концепция Write-Ahead логов (WAL). Особенности ОС и железа: буферизация и отложенная синхронизация. Кеш блоков и страниц, LRU. Многопользовательская серверная архитектура, особенности PPC-модели. Блокировки. Дополнительные таблицы и отчёты: группировки, джойны, планы выполнения. Финальная схема решения и обсуждение. Занятие 2. Архитектура хранения данных и запросы по одной таблице Темы: Метрики производительности запросов. Структура хранения строк таблицы, Heap. Хранение BLOB/CLOB, TOAST. Индексы, B-tree, Hash, GIN.Простые сканы, параллельное выполнение, EXPLAIN, EXPLAIN ANALYZE. Одноколоночные индексы стоимость выборки из индекса. Полное сканирование индекса, постраничный вывод Late Row Lookups. Практика: Время исполнения запроса и ресурсы. Как PG хранит наши данные (записи в страницах HEAP и B-tree, заголовки страниц). План исполнения запросов с индексами и без. Селективность. Оптимизация полного сканирования для постраничного вывода. Сбор данных и анализ графиков Занятие 3. Сложные индексы по нескольким колонкам и запросы с фильтрации по нескольким условиям Темы: Многоколоночные индексы. Дублирующие индексы, игнорирование индекса, подсказки оптимизатору. Повышение эффективности индексов, неключевые поля, отфильтрованные, вычисляемые ...