dbt-fusionへの移行で気をつけるべき点

に公開

はじめに

新しいdbt engineを含むプロダクトのお披露目会として、先日2025 dbt Launch Showcaseが開催されました。

イベントの開催と同時に膨大な数のドキュメントも公開されたので、早速キャッチアップのために目を通しました。その中で気になった点をいくつか挙げておきます。

dbt-fusionはdbt-coreと独立したプロダクト

rustベースのsdfをどう既存のdbt-coreと統合するのかずっと疑問でしたが、dbt-fusionはdbt-coreとは独立したプロダクトとして発表されました。

dbt-fusionは公式vscode extensionをはじめとしてローカルでの開発をサポートしているため、アカウント作成など一手間必要ですがdbt cloudユーザーでなくても無料で使用することができます。

また、dbt-core自体もこれで開発終了という訳ではなく、引き続きサポートが続けられていくことが明記されています。

破壊的変更がある

dbt-fusionに移行するにあたって、いくつか破壊的変更が発生することが記載されています。

https://docs.getdbt.com/docs/dbt-versions/core-upgrade/upgrading-to-fusion

具体的には、

  • dbt coreで発生しているdeprecation warningsが今後リリース予定のdbt-fusion preview版ではエラーになること
  • dbt coreの挙動を変更できるflagsが使用不能になること

の2点です。

1点目のdeprecation warningsの解消については、dbt-autofixというサポートパッケージの使用が推奨されています。[1]

また、外部パッケージやpythonライブラリについても注意が必要です。25年5月時点でdbt-fusionと互換性があると明記されているのは、dbt-labsが開発している以下のパッケージのみです。

  • dbt_utils
  • audit_helper
  • dbt_external_tables
  • dbt_project_evaluator

サードパーティのツール群については、これから順次チェックが行われていくことになるはずなので、使用しているツールがdbt-fusionに対応しているかどうかは、移行前に各ツールのアップデートを確認する必要があります。

beta時点で使えるDWHはsnowflakeのみ

現在dbt-fusionが使用可能なDWHはsnowflakeのみとなっています。GAになるまでに他のDWHもサポートされる予定となっているようです。

Target Date Milestone Description
2025-05-28 Initial release of Fusion Published source code of parser, schemas, dbt-jinja, and Snowflake ADBC driver.
2025-06-09 Databricks Adapter release Databricks ADBC driver, and adapter for Fusion
2025-06-25 BigQuery Adapter release BigQuery ADBC driver, and adapter for Fusion
2025-07-09 Redshift Adapter release Redshift ADBC driver, and adapter for Fusion

引用元:https://github.com/dbt-labs/dbt-fusion?tab=readme-ov-file#timeline

その他の機能についても、ロードマップが公開されています。


引用元:https://docs.getdbt.com/blog/dbt-fusion-engine-path-to-ga

その他にも、GAのところにnext-gen dbt docsとありますが、これはdbt-coreに元々あったデータカタログが置き換わるのでしょうか。既にアーキテクチャ的に限界なのは以前の記事でも触れていたので、こちらもどういった形になるのか楽しみですね。

https://zenn.dev/analytics_eng/articles/3fec02f9eb82a9

dbt-fusionのライセンスはApache License 2.0ではない

こちらが一番の驚きでしたが、dbt-fusionはこれまでのApache License 2.0ではなく、ELv2ライセンスとして提供されることになりました。

詳しい説明は省きますが、一番注目すべき点として、dbt cloudなどと競合するようなdbt-fusionのマネージドサービスを許可なく提供することはできないライセンスとなっています。[2]

現時点では断定的なことは言えませんが、troccoのdbt連携のようなプロダクトではdbt-fusionを使用できない可能性があります。

将来的にdbt-fusionでしか使えない機能が出てきたときに、dbt-coreしか使えないツールから移行するのかといった点については事前に検討しておく必要がありそうです。

dbt cloudの優位性を確保するためのライセンス変更だと思われますが、ユーザーからすると悩みの種が1つ増えたことになります。

まとめ

ということで一通りドキュメントを読んだところ、エコシステムを含めてdbt-fusionが安定的に使えるようになるのは2025年の後半からになりそうな印象を受けました。

新しいエンジンによってローカルでの開発者体験が良くなることは間違いありませんが、ライセンスなど大きな変更もあったので、今後どのツールをdbtの実行基盤としていくかは数年先も見据えて慎重に検討する必要がありそうです。

その他リファレンス

https://dev.classmethod.jp/articles/2025-dbt-launch-showcase-summary/

脚注
  1. 手元で試してみたところ、部分適用のコマンドがなかったため、数千モデルあるような巨大dbtプロジェクトで適用するのはリスクが大きく厳しいことが分かりました。feature requestのissueを立てたので、もし同じような悩みを抱えている方がいれば、ぜひ👍でサポートください。 ↩︎

  2. 詳しいQAなどは、こちらをご覧ください。 ↩︎

Discussion