• Получить премиум — доступ ко всем темам ОФОРМИТЬ ПОДПИСКУ
Получить премиум — доступ ко всем темам

Программирование PostgreSQL изнутри: внутреннее устройство, трассировка и производительность - Wang (2026)

Регистрация
10 Окт 2018
Сообщения
59,897
Реакции
333,545

PostgreSQL изнутри: внутреннее устройство, трассировка и производительность​

PostgreSQL Uncovered: Internals, Trace Analysis, and Performance
Автор:
Bin Wang
Язык: английский

1793177107784.png


Если ваш PostgreSQL под нагрузкой ведёт себя странно, запросы внезапно замедляются, таблицы раздуваются, а подбор параметров идёт наугад, то дело часто в том, что вы не видите, что происходит внутри СУБД. Этот англоязычный курс Bin Wang разбирает PostgreSQL изнутри. Вы увидите, как сервер выбирает план, хранит версии строк, работает с памятью и пишет журнал.

Курс подойдёт бэкенд-разработчикам, администраторам баз данных и инженерам по производительности. Им мало просто писать SQL: нужно понимать, почему запрос медленный, и уметь доказать причину цифрами. На смену догадкам приходит диагностика: планы выполнения, трассировка на уровне процессов, разбор логов и статистики ожиданий.

Курс полезен, если вы хотите перейти от «кажется, нужен ещё индекс» к решениям, которые можно обосновать. Он поможет и с проблемами, где обычная оптимизация запросов уже не работает.

Автор предлагает видеть в PostgreSQL сложную, но вполне понятную систему с предсказуемым поведением. Механику СУБД вы разберёте последовательно, шаг за шагом. Вы научитесь читать низкоуровневые сигналы производительности и находить правильные решения там, где привычные приёмы уже бессильны.

Сначала идут знакомые SQL-конструкции, а затем курс постепенно переходит к глубинным механизмам PostgreSQL. По ходу вы разберётесь в системных процессах, в том, как устроено хранение данных, и в том, что на самом деле определяет скорость работы базы.

Основные темы:
  • Планировщик запросов: разбор статистики, cost-модели, выбор индексов и стратегий выполнения.
  • Транзакции и уровни изоляции: механика MVCC, версии строк, проблемы многоверсионности.
  • B+Tree и другие индексы: внутренняя структура, причины роста bloating и методы борьбы.
  • Shared Buffers и работа с памятью: поиск страниц, буферные состояния, взаимодействие с ОС.
  • WAL: механизм журналирования, impact на производительность, стратегия чекпоинтов.
  • Vacuum и autovacuum: алгоритмы, триггеры запуска, оптимизация параметров.
  • Репликация: физическая и логическая, особенности, задержки, мониторинг.
Практическая часть:
К каждому блоку курса есть практические задания. В них вы изучаете, как ведёт себя СУБД в реальных сценариях нагрузки, поэтому теория сразу проверяется на живых примерах.

Инструменты и навыки:
  • EXPLAIN ANALYZE: BUFFERS, VERBOSE, TIMING, сравнение планов и диагностика узких мест.
  • perf и gdb: низкоуровневый анализ, трассировка, поиск «тяжёлых» участков.
  • Анализ логов PostgreSQL: slow query logs, логирование чекпоинтов, статистика ожиданий.
Чему вы научитесь:
К концу курса вы будете не только писать запросы, но и понимать, как PostgreSQL принимает решения и как поведение ядра отражается на результате.

По итогам обучения вы сможете:
  • осознанно оптимизировать запросы и структуры данных;
  • грамотно настраивать конфигурацию PostgreSQL под конкретные нагрузки;
  • находить проблемы в производительности на уровне ядра, а не только на уровне SQL;
  • читать и анализировать сложные планы выполнения и трассировки;
  • предсказуемо управлять ресурсоёмкими процессами (vacuum, autovacuum, checkpoints).
После курса PostgreSQL станет для вас прозрачной системой. Вы сможете на глубоком уровне объяснять её поведение, контролировать его и оптимизировать.

Для кого подойдёт:
  • Бэкенд-разработчикам, которые активно работают с PostgreSQL и хотят понимать причины медленных запросов
  • DBA и администраторам баз данных, которые отвечают за настройку и стабильность серверов
  • Инженерам по производительности и SRE, которые разбирают инциденты под нагрузкой
  • Специалистам, которые хотят освоить диагностику PostgreSQL через perf, gdb и анализ логов
  • Тем, кто готов учиться по материалам на английском языке
Что получите:
  • Понимание планировщика, MVCC, индексов, Shared Buffers, WAL, vacuum и репликации изнутри
  • Навык чтения EXPLAIN ANALYZE с BUFFERS, VERBOSE и TIMING, а также сравнения планов
  • Опыт низкоуровневой трассировки PostgreSQL с помощью perf и gdb
  • Умение настраивать конфигурацию и autovacuum под конкретную нагрузку
  • Практические задания по поведению СУБД в реальных сценариях нагрузки
Подробнее:

Скрытое содержимое доступно для зарегистрированных пользователей!


Скачать:

 
ВАЖНО:

Не оставляйте комментарии с просьбами обновить / заменить ссылку на скачивание или комментарии типа «404», «ошибка».

Для восстановления ссылки есть кнопки «Жалоба / Восстановить ссылку» в первом посте темы.

При нарушении Ваш комментарий будет удален, а Ваш аккаунт заблокирован на сутки. Пожалуйста, изучите правила нашего сайта.
Сверху Снизу