В прошлом уроке мы узнали, что Fusion — это Rust-based GA-альтернатива dbt-core. Теперь сядем спокойно и решим: что нужно тебе как junior в 2026 году.
Краткий ответ
Учи dbt-core 1.10. Знай, что Fusion существует. Переходи когда работодатель скажет.
Это не из консерватизма — это потому, что:
- Большинство компаний на dbt-core. На собеседование зовут на dbt-core.
- Документация, туториалы, StackOverflow — про dbt-core.
- На маленьких проектах разница не заметна.
- Edge cases Fusion ещё ловят, и junior не должен решать сложные миграционные кейсы.
Но знать про Fusion обязательно — это вопрос на собеседовании.
Что Fusion реально ускоряет (и что нет)
Fusion улучшает parsing, compile и developer experience. Runtime SQL в warehouse — нет.
Конкретные цифры на проекте 500 моделей:
| Операция | dbt-core | Fusion |
|---|---|---|
dbt --version (cold start) | 4s | 0.1s |
dbt parse | 18s | 0.6s |
dbt list --select state:modified+ | 22s | 1.5s |
dbt compile (500 моделей) | 28s | 4.5s |
dbt build --select state:modified+ | 4 минуты | 3 минуты 45 сек |
Где выигрыш реальный — это CI smoke checks и IDE feedback. Где минимальный — реальная пересборка.
Compatibility: что точно работает, что может не работать
Работает в Fusion (99% случаев):
- Все базовые команды:
run,test,build,compile,seed,snapshot,docs - Все базовые селекторы:
+model+,tag:,state:modified,resource_type: - Стандартный Jinja:
{% set %},{% for %},{% if %},ref(),source(),var(),env_var() dbt_project.yml,profiles.yml— те жеmanifest.json,run_results.json— совместимый формат- Основные warehouses: Snowflake, BigQuery, Databricks, Redshift, Postgres, DuckDB
- Стандартные пакеты:
dbt_utils,dbt_expectations,dbt_date,audit_helper - Generic tests, singular tests, custom generic tests
- Unit tests (1.8+)
- Incremental models, snapshots, seeds
- Hooks: on-run-start, on-run-end, pre-hook, post-hook (SQL-only)
Может не работать или работает иначе:
- Python pre/post-hooks с произвольной логикой — Fusion интерпретирует Jinja через Rust, экзотический Python код не поддерживается.
run_queryс Python-обработкой — основной use case работает, но edge cases (циклы по результату с Python-логикой) могут отличаться.- Кастомные адаптеры — если warehouse редкий (Trino старых версий, кастомный fork), Fusion может ещё не поддерживать.
- Старые версии популярных пакетов — лучше обновиться до последних (dbt_utils 1.3+).
- Кастомные dispatch’и макросов — основные паттерны работают, экзотические могут потребовать правки.
- Тонкие отличия в SQL generation — Fusion может генерировать слегка иной SQL (например, разные CTE-имена, чуть иной порядок INSERT-колонок). В 99% случаев результат идентичный, но не bit-perfect.
dbt-autofix
dbt Labs выпустила специальный инструмент:
pip install dbt-autofix
dbt-autofix run --project-dir ./my-project
dbt-autofix анализирует проект и сообщает:
- Что точно сломается в Fusion
- Что нужно поправить (deprecated синтаксис, кастомные конструкции)
- Что нужно заменить (старые версии пакетов)
После исправления dbt-autofix пишет changes report. После этого можно безопасно переключаться на Fusion.
Junior pragma: твой план на 2026
Шаг 1: Учи dbt-core 1.10 как фундамент
Это базис всего. Команды, селекторы, материализации, тесты, Jinja, project structure. Всё, что в этом курсе — на dbt-core.
После курса ты будешь уметь работать с любым dbt-проектом — core или Fusion. Разница в нюансах, фундамент тот же.
Шаг 2: Знай про Fusion и Cloud на собеседовании
На вопрос «расскажи про развитие dbt», ответ:
- dbt-core 1.10 — текущий stable
- Fusion engine — Rust-based, GA Coalesce 2025, 30x parsing, column-level lineage, SQL-aware
- dbt Cloud (Studio) — SaaS-платформа: IDE, Jobs, Explorer
- Compatibility: Fusion обратносовместим по public API, dbt-autofix для миграции
Это продвинутый junior, который читает release notes и понимает direction.
Шаг 3: Сразу после устройства
В первую неделю на работе:
- Узнай, на чём команда: dbt-core или Fusion. На какой версии (1.8, 1.9, 1.10)?
- На чём warehouse — Snowflake / BigQuery / DuckDB?
- Где запускается — Cloud Jobs / Airflow / GitHub Actions?
- Какая стратегия CI — slim / full / nightly?
Если на Fusion: познакомься с особенностями LSP и Explorer. Если на core: знаешь, что делать.
Шаг 4: На проекте с медленным CI — предложи Fusion
Когда станешь middle (через 1-2 года), ты можешь предложить миграцию:
- Замеряй текущий CI time (
dbt list,dbt compile) - Прогони
dbt-autofix— посмотри, что нужно поправить - Тестируй Fusion на одной dev-job в параллель
- Сравни выходы — manifest, run_results
- Если ОК — постепенно мигрируй
Junior на эти решения не зовут — это middle/senior работа. Но понимание трендов делает тебя ценнее.
Что НЕ нужно учить про Fusion сейчас
- Внутренности Rust-движка — это для контрибьюторов в open-source.
- Тонкие отличия SQL generation — будешь ловить в работе, не теоретически.
- Performance tuning Fusion-specific — узнаешь когда столкнёшься.
- dbt Mesh / Saas Discovery API / Semantic Layer — middle/senior темы.
Что точно полезно знать прямо сейчас
- Cloud существует, бесплатный Developer tier для портфолио.
- Fusion существует, GA Coalesce 2025, 30x parsing.
- dbt-core 1.10 — твой фокус для обучения.
- Совместимость: проект на core почти всегда работает в Fusion (тестируй через dbt-autofix).
- DuckDB супportед Fusion через dbt-duckdb (с октября 2025).
- Cloud не supports DuckDB — это разные продукты.
Краткая таблица «что использовать в 2026»
| Сценарий | Решение |
|---|---|
| Учёба, домашний проект | dbt-core 1.10 + DuckDB |
| Портфолио с production-обвязкой | dbt-core + dbt Cloud Free + Snowflake trial |
| Маленькая команда (до 5), нет DevOps | dbt-core + dbt Cloud Team Jobs |
| Большая команда (10+), есть DevOps | dbt-core + Airflow / Dagster |
| Очень большой проект (500+ моделей), медленный CI | dbt-core или мигрировать на Fusion |
| Multi-project organization | dbt Mesh (middle/senior тема) |
Для junior главное — первая колонка. Остальное — контекст работодателя.
Попробуй сам
-
Сравни два запуска на твоём jaffle_shop проекте:
# core time dbt parse time dbt list --select +customers # fusion (если установил) time dbtf parse time dbtf list --select +customersНа таком маленьком проекте разница в миллисекундах, но интересно.
-
Запусти
dbt-autofix run— посмотри, что он скажет про твой проект. -
Прочитай release notes Fusion 1.0 GA на docs.getdbt.com. Запомни три ключевые фичи (LSP, column lineage, SQL-aware compile).
-
На любом dbt-related собеседовании ожидай вопрос про Fusion. Подготовь 30-секундный ответ.
Чек-лист
- Fusion ускоряет: parsing, list, compile, IDE LSP, CI smoke checks (CI 12 мин -> 9-10 мин).
- Fusion НЕ ускоряет: dbt run/build runtime, тесты, snapshots (всё warehouse-bound).
- Compatibility: 99% проектов работают без изменений. Edge cases — Python hooks, экзотические адаптеры.
- dbt-autofix — инструмент для миграции, сообщит, что поправить.
- DuckDB supports Fusion (с октября 2025).
- dbt Cloud НЕ supports DuckDB — разные продукты.
- Junior pragma: учи dbt-core 1.10, знай про Fusion на собеседовании, переходи когда работодатель скажет.
- На собеседовании 30-секундный ответ: «Fusion — Rust-based, GA Coalesce 2025, 30x parsing, SQL-aware compile, compatibility через dbt-autofix».