О движке dbt Fusion
dbt — это отраслевой стандарт для трансформации данных. dbt Fusion Engine позволяет dbt работать с беспрецедентной скоростью и масштабируемостью.
dbt Fusion Engine использует тот же знакомый фреймворк для написания трансформаций данных, что и dbt Core, но при этом позволяет разработчикам данных работать быстрее и более эффективно развёртывать нагрузки трансформаций.
Что такое Fusion
Fusion — это полностью новый программный продукт, написанный на другом языке программирования (Rust), чем dbt Core (Python). Fusion значительно быстрее, чем dbt Core, и нативно понимает SQL в диалектах различных движков. Со временем Fusion будет поддерживать весь фреймворк dbt Core, включая надмножество его возможностей, а также подавляющее большинство существующих проектов dbt.
Fusion содержит смесь source-available, проприетарного и open source кода. Это означает, что:
- dbt Labs публикует значительную часть исходного кода в репозитории
dbt-fusion, где вы можете изучать код и участвовать в обсуждениях сообщества. - Некоторые возможности Fusion доступны исключительно платным клиентам облачной платформы dbt. Подробнее см. в разделе поддерживаемые возможности.
Подробнее о лицензировании движка dbt Fusion можно прочитать здесь.
Зачем использовать Fusion
Для разработчика Fusion позволяет:
- Мгновенно обнаруживать некорректный SQL в моделях dbt
- Просматривать встроенные CTE для более быстрого отладки
- Отслеживать определения моделей и колонок по всему проекту dbt
Всё это и многое другое доступно в расширении dbt для VSCode, в основе которого лежит Fusion.
Fusion также обеспечивает более эффективное развёртывание больших DAG. Отслеживая, какие колонки где используются и в каких исходных таблицах появились свежие данные, Fusion может гарантировать, что модели будут пересобраны только тогда, когда им действительно нужно обработать новые данные. Такая "оркестрация с учётом состояния" является возможностью платформы dbt (ранее dbt Cloud).
Управление потоками
dbt Fusion Engine управляет параллелизмом иначе, чем dbt Core. Вместо того чтобы рассматривать параметр threads как жёсткое ограничение на количество параллельных операций, Fusion динамически оптимизирует параллелизм в зависимости от выбранного хранилища данных.
В Redshift параметр threads ограничивает количество запросов или операторов, которые могут выполняться параллельно, что важно для управления лимитами конкурентности Redshift. В других хранилищах Fusion динамически регулирует использование потоков в зависимости от возможностей конкретного хранилища, используя вашу конфигурацию потоков как ориентир и автоматически оптимизируя выполнение для максимальной эффективности.
Подробнее см. в разделе Using threads.
Как использовать Fusion
Вы можете:
- Выбрать Fusion в выпадающем списке/переключателе на платформе dbt Private preview
- Установить расширение dbt для VSCode Preview
- Установить Fusion CLI Preview
Сразу переходите к разделу Quickstart, чтобы как можно быстрее почувствовать Fusion.
Что дальше?
dbt Labs запустила движок dbt Fusion в статусе публичной беты 28 мая 2025 года и планирует достичь полного паритета возможностей с dbt Core до общей доступности Fusion.
Дополнительная информация о Fusion
Fusion — это значительное обновление dbt. Хотя многие рабочие процессы, к которым вы привыкли, остаются без изменений, появляется множество новых идей, а также происходит отказ от ряда старых подходов. Ниже приведён список, охватывающий полный объём текущего релиза движка Fusion, включая вопросы реализации, установки, устаревших возможностей и ограничений:
- О движке dbt Fusion
- О расширении dbt
- Новые концепции в Fusion
- Матрица поддерживаемых возможностей
- Установка Fusion CLI
- Установка расширения VS Code
- Трек релизов Fusion
- Быстрый старт для Fusion
- Руководство по обновлению
- Лицензирование Fusion