Belli
Назад Психология Эзотерика Здоровье Бизнес Фото Видео Иностранные языки Имидж и стиль Дизайн Хобби и рукоделие Администрирование Программирование SMM Отношения Дети и родители Школа и репетиторство Seo Форекс и инвестиции Отдых и путешествия Музыка Сад и огород Бухгалтерия и финансы Другие тематики Темы и шаблоны Авто-мото Строительство и ремонт Курсы Авторы
Корзина

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

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

О товаре

PostgreSQL 17. Архитектура и тюнинг SQL-запросов
Погрузитесь в секреты одной из самых популярных open source СУБД – PostgreSQL.
На курсе вы сможете:
  • Понять, как работает внутри самая популярная открытая СУБД PostgreSQL
  • Изучить архитектуру хранения данных в PostgreSQL, типы и особенности индексов
  • Получить практику EXPLAIN, EXPLAIN ANALYZE, различных трюков оптимизации БД
  1. Используя свой собственный выделенный облачный PostgreSQL-сервер (8 vCPU, 12G RAM, 100G NVMe) – БЕСПЛАТНО предоставляется на время обучения
  • Разобраться в деталях, как работают современные СУБД
  1. Какие есть архитектурные особенности у СУБД в целом и у PostgreSQL в частности
  2. Что такое 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. Сложные индексы по нескольким колонкам и запросы с фильтрации по нескольким условиям
  • Темы: Многоколоночные индексы. Дублирующие индексы, игнорирование индекса, подсказки оптимизатору. Повышение эффективности индексов, неключевые поля, отфильтрованные, вычисляемые поля. Слияние индексов. Сортировка с помощью индексов. Оптимизация структуры БД, нормализация/денормализация. Виды JOIN: Nested Loop, Merge, Hash. CTE: Predicate Pushdown. Коррелированные подзапросы, агрегирующие функции
  • Практика: Оптимизация запросов с несколькими условиями фильтрации. Подбор оптимального состава индекса и порядка следования столбцов. Использование слияния нескольких индексов. Поиск и удаление неиспользуемых индексов. Получаем рекомендации по новым индексам: pg_qualstats и hypopg. Делаем индексы и запросы, которые работают только с индексом. Уменьшаем размер индекса фильтрацией. Генерируемые столбцы и индексы над ними. Индексы для сортировки ORDER BY. Сравнение различных методов Слияний. Оптимизация коррелированных подзапросов
Занятие 4. Строгая типизация данных для хранимых объектов и обработка данных на стороне сервера
  • Темы: Типы данных. Использование JSON/BSON. Процедуры, выполнение обработки данных на стороне сервера. Роли и права доступа к объектам сервера. Типичные проблемы производительности PostgreSQL. (was: при миграции с других СУБД).
  • Практика: Сравнение полной выборки строки и только колонок без TOAST. Использование JSON с GIN, B-tree и HASH индексами. Процедуры, выполнение обработки данных на стороне сервера
Занятие 5. Консистентное изменение БД, блокировки и восстановление после сбоев
  • Темы: Снимок состояния БД. ACID: Atomicity, Атомарность. Уровни изоляции. Исследование блокировок. Взаимные блокировки. Write Ahead Log, восстановление после сбоев, aciD. Резервное копирование (backup), репликация.
  • Практика: Поведение уровней изоляции на примерах, блокировки строк, сбои сериализации транзакций. Смотрим LWLock, почему база тормозит «внутри». Дампим Write Ahead Log, ищем таймлайны.

Отзывы покупателей



Кликните на изображение чтобы обновить код, если он неразборчив

Рейтинг

0
Голосов: 0
5
Голосов: 0
4
Голосов: 0
3
Голосов: 0
2
Голосов: 0
1
Голосов: 0

Еще курсы от DevHands, Николай Ихалайнен

[Stepik] Осознанный Python ООП (Buddha IT)
Погружайтесь в мир Объектно-Ориентированного Программирования с нашим увлекательным курсом на языке Python! Легко усваивайте материал благодаря простым объяснениям, множеству практических примеров и интересных заданий. Ощутите поддержку автора и наслаждайтесь уникальной сюжетной линией, которая
1650 RUB
[Stepik] Javascript. Часть 2. Работа с функциями (Hayk Inants)
Чему вы научитесь: После успешного освоения данного курса по JavaScript, учащиеся смогут применять базовый синтаксис для создания и использования функций, понимать концепцию функции и ее роль в программировании, а также объяснять, зачем используются функции и какие задачи они помогают решать.
1656 RUB
[skillshare] Aseprite Pixel Art Bootcamp Complete 2D Retro Game Masterclass
About This Class Are you a game designer, 3D or concept artist or video game fanatic looking to create the ultimate retro pixel art gaming experience? Look no further than our newest venture into the world of using a free trial software called Aseprite where we«ll take you through every step of the
1800 RUB
[DevHands] Интенсив по очередям: Kafka и NATS (Владимир Перепелица)
Изучите архитектуру и принципы работы брокеров и очередей за максимально короткий срок, даже не обладая опытом работы в хайлоад-проектах О курсе Погрузиться в «мир брокерев и очередей» за максимально короткий срок, даже не обладая опытом работы в хайлоад-проектах Изучить асинхронное взаимодействие
1995 RUB
[Devhands] Системный дизайн высоконагруженных проектов (Алексей Рыбак)
Научитесь проектировать большие и надёжные распределённые системы - от соцсетей и e-commerce до CDN и сервисов рассылок, с масштабом 10–100 млн пользователей в день. Курс поможет вам прокачать архитектурное мышление и навыки проектирования сложных много-серверных систем. Вы научитесь проектировать
2250 RUB
Топ-150 ответов на вопросы из собеседований (Ольга Пономарёва)
Файл с проработанными ответами на 150 популярных вопросов из собеседований для аналитиков. Готовьтесь и получайте офферы в крутые компании Ольга Пономарёва Автор курсов, Старший системный аналитик В течение нескольких лет я проводила собеседования и проходила их сама. За это время собрала топ-150
1680 RUB