dbt Fusion エンジン(v2.0)完全解説 — Rust 製次世代エンジンと DuckDB ローカル開発

2026年、dbt Labs は dbt Fusion エンジン(v2.0) を中心に大規模なプラットフォーム刷新を進めています。Rust で再構築された新エンジンは従来の Python ベースの dbt Core とは異なるアーキテクチャを採用し、実行速度・ローカル開発体験・AI 連携の面で大きな変化をもたらしています。

dbt Fusion エンジンとは何か

dbt Fusion は Rust で書かれた次世代 dbt エンジンで、公式では「v2.0」相当の位置づけです。従来の dbt Core(Python)とは別に、dbt platform(dbt Cloud)向けに導入が進められており、公式ドキュメントには upgrading-to-fusion というアップグレードガイドが整備されています。

従来のアーキテクチャ:
  dbt Core (Python) → ウェアハウスへ直接接続

Fusion エンジン:
  dbt Fusion (Rust) → ローカル DuckDB / リモートウェアハウス
                    → 同一エンジンで両環境を透過的に扱う

主な特徴

機能内容
ローカル実行DuckDB アダプタが public beta 対応。ウェアハウスアカウントなしで開発可能
高速化Rust による並列コンパイルで大規模プロジェクトの解析が高速化
Spark 対応DuckDB と同様に public beta でローカル Spark サポートが追加

DuckDB による ウェアハウスレス開発

DuckDB が選ばれた理由は明確です。

  • 約 50MB と軽量で認証不要
  • dbt-core コミュニティの中で採用率が最も高いアダプタ
  • 開発・テスト環境の立ち上げが数秒で完了
# Fusion エンジンで DuckDB ローカル実行のクイックスタート
pip install dbt-fusion

# profiles.yml(DuckDB 用)
my_dbt_project:
  target: dev
  outputs:
    dev:
      type: duckdb
      path: ./dev.duckdb  # ローカルファイルに結果を保存
# dbt_project.yml(変更なし)
name: my_dbt_project
version: "1.0.0"
profile: my_dbt_project
model-paths: ["models"]
# ローカルで dbt run(ウェアハウスへの接続不要)
dbt run --target dev
dbt test --target dev

既存の dbt-duckdb ユーザーへの影響

MotherDuck ユーザーを含む既存の dbt-duckdb ユーザーには試用が公式に推奨されています。初期の extension ロード問題などのバグは修正済みです。

dbt Core v1.10 の新機能

--sample フラグ

runbuild コマンドで利用可能な新フラグです。サンプルデータのみで実行することで、開発中のビルド時間とウェアハウスコストを大幅に削減できます。

# 全行ではなくサンプルデータでモデルをビルド
dbt run --sample
dbt build --sample

# 特定モデルのサンプル実行
dbt run --select my_large_model --sample

YAML の予期しないキーへの警告

プロパティ YAML に未知のトップレベルキーがある場合、エラーではなく警告が出力されるようになりました。タイポによる設定の無視を早期に発見できます。

# schema.yml(タイポの例)
models:
  - name: orders
    colums:  # ← "columns" のタイポ → 警告が出るようになった
      - name: id

top-level anchors: キー

再利用可能な設定ブロックを定義するための新しいトップレベルキーです。

# schema.yml
top-level anchors:
  - &common_tests
    tests:
      - not_null
      - unique

models:
  - name: orders
    columns:
      - name: id
        <<: *common_tests  # 共通テストを再利用

Hybrid プロジェクト

dbt platform(Cloud)と dbt Core が混在する環境でのクロスプロジェクト参照が可能になりました。

# dbt_project.yml(Hybrid 設定例)
models:
  my_project:
    +meta:
      platform: cloud  # Cloud 管理のモデル

  my_project_local:
    +meta:
      platform: core   # Core(ローカル)管理のモデル

Developer Agent — AI によるモデル自動生成

dbt platform 上で Developer Agent がプレビュー公開されています。自然言語プロンプトによって以下を生成できます。

  • SQL モデルのビルドまたはリファクタリング
  • テスト・ドキュメント・セマンティックモデルのスクラッチ生成

あわせて Studio IDE でも dbt YAML のバリデーションが強化されており、dbt-jsonschema に基づく Fusion 対応 JSON Schema を用いたオートコンプリートと構造フィードバックが提供されています。

Developer Agent の活用例:
  入力: "orders テーブルと customers テーブルを結合して
         顧客ごとの月次注文サマリーを作るモデルを作って"

  出力:
    ├── models/monthly_order_summary.sql(SQL 生成)
    ├── models/schema.yml(テスト・ドキュメント自動追加)
    └── models/semantic_models.yml(セマンティックモデル定義)

Cost Insights — コスト可視化

Cost Insights が private beta として公開されています。

機能内容
コスト可視化プロジェクト・モデルごとの推定ウェアハウスコストと実行時間
最適化提案State-aware オーケストレーションなどのコスト削減効果をハイライト
比較分析変更前後のコスト影響を推定

その他の 2026 年アップデート

機能状態内容
Snowflake PrivateLink 設定private betaサポートへの連絡なしに dbt platform から直接設定可能
モデルクエリ履歴(Databricks/Redshift)betaクエリ履歴の追跡対象が拡大
Slack / Microsoft Teams 通知GAアカウントレベルのジョブ通知が正式リリース
Snowflake 列サイズ変更対応対応必須dbt-snowflake v1.10.6 未満では一部の incremental モデルが失敗する可能性

Snowflake 列サイズ変更への対応

2026年5月、Snowflake が string/binary 型のデフォルト列サイズを拡張する予定です。dbt-snowflake v1.10.6 未満を使っているプロジェクトでは incremental モデルのビルドが失敗する可能性があります。

# 対応方法:dbt-snowflake を更新
pip install "dbt-snowflake>=1.10.6"

dbt Labs × Fivetran の合併

2025年10月13日、dbt Labs と Fivetran が全株式交換による合併の確定契約を締結しました。合併後の統合会社は約 6 億ドルの ARR に達する見込みです。

合併の目指す姿:
  Fivetran(データムーブメント自動化)
       +
  dbt(データ変換)

  データ移動・変換・メタデータ・アクティベーションを一元化した基盤

規制当局の承認などのクロージング条件が満たされるまで、両社は引き続き独立した組織として運営します。

まとめ

2026 年の dbt エコシステムは 3 つの軸で大きく変化しています。

  1. エンジンの刷新: Rust ベースの Fusion エンジンにより、DuckDB を用いたウェアハウスレスなローカル開発が実用レベルに到達
  2. AI 統合: Developer Agent による自然言語モデル生成が本格的なプレビューフェーズへ
  3. 組織・エコシステムの再編: dbt Labs × Fivetran の合併による ELT 全体の統合基盤化

特に Fusion エンジンの DuckDB 対応は、既存の dbt-duckdb ユーザーにとって移行の障壁が低く、まず試してみる価値の高い変化点です。--sample フラグと組み合わせれば、本番ウェアハウスへのコストをかけずに高速な開発サイクルが実現できます。