Если ты дошёл сюда — снимаю шляпу. Ты не просто прочитал теорию: ты сейчас умеешь решать аналитические задачи, которые в крупных компаниях получают junior data analyst в первый месяц работы. И ты понимаешь, почему SQL работает именно так — не на уровне «копипаст со StackOverflow», а на уровне реляционной модели и алгебры.
Что у тебя в руках после этого курса
Ты можешь:
- Прочитать любой SQL-запрос на 100 строк и понять, что он делает — раскладывая его на цепочку операций реляционной алгебры.
- Спроектировать схему для нового сервиса так, чтобы она прошла нормализацию до 3NF и не страдала от анти-паттернов.
- Использовать оконные функции уверенно — для top-N per group, running totals, rank-by-category, cohort-анализа.
- Понимать NULL-семантику и трёхзначную логику, не попадая в типичные ловушки.
- Читать
EXPLAINна уровне «здесь Index Scan, здесь Hash Join, здесь Sort — и понимаю, чего это стоит». - Знать, когда использовать рекурсивные CTE, когда транзакции с SAVEPOINT, когда денормализацию через materialized view.
Это полноценная middle-позиция в большинстве компаний, где есть PostgreSQL.
Что ты ещё НЕ знаешь — и где это получить
SQL — это огромная область. Этот курс закрыл фундамент и большую часть прикладной части. Дальше — три направления, в которые имеет смысл расти.
Internals (как СУБД устроена изнутри)
Если ты хочешь дойти до senior DE / DBA или просто понять, почему один запрос на 1M строк работает миллисекунды, а другой — час, тебе нужно знать:
- Как страницы B-tree устроены и почему
LIKE '%text'не использует индекс. - Что такое MVCC, как PostgreSQL хранит несколько версий одной строки, что делает VACUUM.
- Как работает планировщик: cost estimation, статистика, селективность.
- Когда оптимизатор ошибается и как ему «подсказать».
- Что такое SSI (Serializable Snapshot Isolation) и как PostgreSQL добивается полной сериализуемости без блокировок.
Это будет курс SQL Internals: Middle to Senior на этой же платформе — он выйдет следующим, и сделан как прямое продолжение этого. До железа, без воды.
Distributed / Big Data SQL
PostgreSQL — это single-node. В реальном DE-стеке вы часто работаете с распределёнными аналитическими движками:
- ClickHouse — OLAP-движок с колоночным хранением. Идеально для миллиардов строк с агрегациями. У нас есть отдельный курс.
- Apache Spark / DataFusion — distributed обработка для ETL и ad-hoc аналитики. Тоже отдельные курсы на платформе.
- Apache Kafka + ksqlDB — стриминг + SQL поверх потоков. Курс по Kafka покрывает основы.
SQL, который ты выучил, — лингва-франка всех этих систем. Синтаксис в них почти одинаковый, отличается семантика, оптимизатор и хранение.
Smaller engines for local work
- DuckDB — «SQLite для аналитики». Запускается локально, читает CSV/Parquet, идеально для Jupyter-блокнотов и быстрых exploration. Использует тот же синтаксис.
- pglite (с которым ты работал весь курс) — тот же PostgreSQL, но в WASM. Используется в браузерах, edge-сценариях, embedded-аналитике.
Что почитать дальше
Если хочешь читать книги по теме (бесплатные + платные):
- «PostgreSQL Internals» (Egor Rogov, free PDF) — лучшее введение в нутро Postgres.
- «Use The Index, Luke» (Markus Winand, free) — единственная книга, которую обязан прочитать любой, кто пишет SQL.
- «Designing Data-Intensive Applications» (Martin Kleppmann) — не про SQL, но про распределённые системы вокруг него. Обязательно.
- «SQL Antipatterns» (Bill Karwin) — каталог типичных ошибок, чем длиннее живёшь с SQL, тем чаще обращаешься.
Финал
Закончи всё одним тестом — не ради оценки, а ради чувства, что ты прошёл курс целиком:
Свободный sandbox. Все таблицы вселенной (default+full). Напиши любой запрос — что-нибудь, что тебе любопытно узнать о магазине. Это твоя последняя страница курса.
Удачи. До встречи в SQL Internals.