Перейти к основному содержимому

О движке 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​

Вы можете:

Сразу переходите к разделу Quickstart, чтобы как можно быстрее почувствовать Fusion.

Что дальше?​

dbt Labs запустила движок dbt Fusion в статусе публичной беты 28 мая 2025 года и планирует достичь полного паритета возможностей с dbt Core до общей доступности Fusion.

Дополнительная информация о Fusion​

Fusion — это значительное обновление dbt. Хотя многие рабочие процессы, к которым вы привыкли, остаются без изменений, появляется множество новых идей, а также происходит отказ от ряда старых подходов. Ниже приведён список, охватывающий полный объём текущего релиза движка Fusion, включая вопросы реализации, установки, устаревших возможностей и ограничений:

Нашли ошибку?

0
Loading