Learning Platform
Урок 17.03 · 8 мин
Продвинутый
RoadmapCareerBooksNext courses

Шестнадцать модулей. От 8 KiB страницы до Serializable Snapshot Isolation, от EXPLAIN ANALYZE до vectorized execution. Это был хардкорный курс — и если ты дошёл, ты сейчас сильнее как DE/DBA, чем 80% людей с таким же job title в LinkedIn.

Что у тебя есть на руках

Ты можешь:

  • Сесть за незнакомую PostgreSQL-инсталляцию и через 30 минут сказать: здесь сейчас bottleneck такой-то, и вот как его починить — на основе EXPLAIN ANALYZE, pg_stat_user_tables, pgstattuple.
  • Спроектировать индексную стратегию для нового сервиса — выбрать B-tree / GIN / BRIN / partial / expression, объяснить trade-off по размеру и записи.
  • Тюнить autovacuum для write-heavy системы и понимать, что произойдёт, если не тюнить.
  • Прочитать любой план запроса и понять, почему оптимизатор выбрал этот алгоритм JOIN, а не другой.
  • Объяснить разработчику-новичку, почему его SELECT * FROM users WHERE email = '...' без индекса стоит компании в 100x больше IOPS.
  • Развернуть streaming replication с архивацией WAL и понимать механику recovery.
  • Решить, когда выбрать SI vs SSI, что такое pivot и почему write skew не ловится repeatable read.
  • Указать на момент, когда PostgreSQL перестаёт быть правильным выбором — и аргументировать переход на ClickHouse/DuckDB/Spark.

Это не «впечатляющий список» — это реальная middle-to-senior компетенция. Проверь по job descriptions DBA Senior, Lead DE, Senior Database Engineer.

Что ты ещё НЕ знаешь

Internals у Postgres — бесконечны. Несколько направлений, в которые есть смысл расти, если интересно:

Глубже в Postgres C-source

  • Чтение исходников. Главный source of truth. src/backend/storage/ — page layout, MVCC; src/backend/optimizer/ — planner; src/backend/access/nbtree/ — B-tree. PostgreSQL — открытый, читабельный код, отличный комментарии.
  • Bruce Momjian YouTube-лекции — конференционные доклады от core developer, очень глубокие.
  • Postgres Conference видео и материалы.

Distributed Postgres и rivals

  • Citus — sharded Postgres (extension + worker nodes). Используется в Azure Cosmos DB for PostgreSQL.
  • CockroachDB — distributed SQL с Postgres wire protocol, NewSQL.
  • YugabyteDB — другой distributed Postgres.
  • AlloyDB / Aurora PostgreSQL — managed Postgres от Google/AWS с проприетарными storage engines.

Альтернативы для аналитики

  • ClickHouse — основной OLAP-движок. У нас на платформе есть полный курс.
  • DuckDB — embedded OLAP, idealen для local analytics и Jupyter-notebooks.
  • Apache DataFusion / Apache Spark — distributed SQL для data lakes. Курсы есть.

Системы вокруг

  • Apache Kafka — стриминг, тоже SQL через ksqlDB. У нас есть курс.
  • Debezium — CDC из Postgres в Kafka. У нас есть курс.
  • Storage formats (Parquet, Iceberg, Delta) — для lakehouse-архитектур. Тоже курс.

Книги, которые стоят своего времени

Платно или бесплатно:

  • «PostgreSQL Internals» (Egor Rogov, free PDF) — лучшее на русском и английском по этой теме. Тебе будет понятно процентов на 90 после этого курса.
  • «PostgreSQL 14 Internals» (Rogov, paper book) — расширенная и обновлённая.
  • «Use The Index, Luke» (Markus Winand, free) — must-read для любого SQL-разработчика. Краткая и невероятно полезная.
  • «Designing Data-Intensive Applications» (Kleppmann) — про распределённые системы, изоляции, репликацию. Обязательно.
  • «The Internals of PostgreSQL» (Suzuki) — отлично иллюстрированная.
  • CMU 15-445 / 15-721 — бесплатные курсы Andy Pavlov по database systems / advanced database systems. Лекции на YouTube. Большая часть нашего материала пересекается с 15-445.
  • Сайт PostgreSQL Documentation — да, читай его. Особенно главы про Internals, Server Programming, Performance Tips.

Что делать прямо сейчас

Открой production-БД, к которой у тебя есть доступ (или установи Postgres локально). Запусти на ней пару запросов из своей реальной работы. Сделай EXPLAIN ANALYZE. Прочитай план. Найди один bottleneck. Сделай один фикс. Сравни до и после.

Это сделает тебя сильнее всех 16 модулей курса вместе взятых.

Свободный sandbox для прощания — запусти что хочешь, что давно хотел проверить:

PostgreSQL

Удачи в продакшене. Помни: на каждый сложный план — есть план попроще, который сделает то же самое за 1/100 времени.

Смена ментальных моделей при переходе на ClickHouse О курсе Storage Formats Deep-Dive

Закончили урок?

Отметьте его как пройденный, чтобы отслеживать свой прогресс

Войдите чтобы оценить урок

Прогресс модуля
0 из 3