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 フラグ
run と build コマンドで利用可能な新フラグです。サンプルデータのみで実行することで、開発中のビルド時間とウェアハウスコストを大幅に削減できます。
# 全行ではなくサンプルデータでモデルをビルド
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 つの軸で大きく変化しています。
- エンジンの刷新: Rust ベースの Fusion エンジンにより、DuckDB を用いたウェアハウスレスなローカル開発が実用レベルに到達
- AI 統合: Developer Agent による自然言語モデル生成が本格的なプレビューフェーズへ
- 組織・エコシステムの再編: dbt Labs × Fivetran の合併による ELT 全体の統合基盤化
特に Fusion エンジンの DuckDB 対応は、既存の dbt-duckdb ユーザーにとって移行の障壁が低く、まず試してみる価値の高い変化点です。--sample フラグと組み合わせれば、本番ウェアハウスへのコストをかけずに高速な開発サイクルが実現できます。