Чему вы научитесь
DuckDB — это аналитическая СУБД, которая работает внутри вашего процесса: в Python-скрипте, ноутбуке, dbt-модели или CLI. Ей не нужен сервер, ей не нужен ETL, чтобы посчитать гигабайт Parquet на диске или в S3, — и при этом это настоящий SQL с колоночным движком.
Что вы сделаете за курс:
- Настроите окружение: Python API, CLI, один файл базы, три среды проверки курса.
- Разберёте типы данных и вложенные структуры — STRUCT, LIST, MAP, UNNEST — и научитесь читать Parquet, CSV и JSON прямо в запросе, без загрузки в таблицы.
- Свяжете DuckDB с Python-экосистемой: запросы к DataFrame Pandas, Polars и Arrow, обмен через Arrow, бенчмарки «DuckDB против Pandas» с реальными цифрами.
- Подключите расширения: httpfs для S3 и GCS, postgres_scanner для Postgres без ETL, spatial, fts и icu.
- Разберётесь с производительностью: out-of-core режим, блоки, memory_limit, threads — и с тем, когда DuckDB медленнее ClickHouse.
- Сравните DuckDB и ClickHouse на одних и тех же задачах и поймёте, где заканчивается ноутбук и начинается кластер.
- Встроите DuckDB в production: dbt-duckdb, Airflow, Iceberg и Delta, embedded-режим, ограничения single-writer и RAM.
- Соберёте сквозной проект: 1 ГБ логов в Parquet на S3 → ETL → витрины → дашборд.
Проверка: каждая SQL-задача проходит автопроверку по результату запроса. Всё, что относится к диалекту DuckDB (read_parquet, httpfs, STRUCT/LIST), вы выполняете в SQL Playground и в Docker — с чек-листами сдачи.
О курсе
Для кого этот курс
Data engineers и аналитики, которые работают в Python и не хотят поднимать сервер ради разовой или средней нагрузки. Python-бэкенд-разработчики, которым нужно считать аналитику рядом с приложением. Все, кто уже умеет SQL и хочет понять, как выжать его из одного файла на ноутбуке.
Начальные требования
Базовый SQL: SELECT, JOIN, GROUP BY, оконные функции. Python на уровне «поставлю пакет и запущу скрипт». Git и командная строка. Docker — понадобится в проектных модулях, но пошаговые инструкции даны.