📝

dbt Cloudとは何か。何が嬉しいのかまとめてみた

2022/03/27に公開

はじめに

dbtをデータエンジニアリング業界ではよく耳にするようになり、利用方法を調べていた時にdbt Cloudがでてきたものの、よく利用シーンがイメージできなかったのでまとめてみました。

dbtとは

dbt(正式名称はdata build tool)とはELTパイプラインにおける「T」に相当する変換処理やデータモデリングを担当するツールです。ELTでのアプローチの場合、データレイクとしてBigQueryやSnowflakeのようなDWHに生データが集約されるため、変換処理をSQLで行う必要があります。

そのツールとして使われる代表格がdbtです。他の候補ではdataformが挙げられますが、2021年5月12日以降、新規登録を停止しています。GCPに買収されてからしばらく経つものの、GCP環境への移行作業がまだ完了しておらず、リソースを集中するための措置のようです。

現在(2022/03/27)時点では新規導入する際のELTにおけるデータモデリングツールについてはdbt一択ではないでしょうか。

dbt-coreとdbt Cloudの違い

dbtを利用する場合は、SaaS製品であるdbt Cloudを利用する方法と、OSSのdbt-coreのみを利用する方法の2つがあり、どちらも「dbt Labs, Inc」が管理しています。

dbt-coreはdbtコマンドとコマンドを利用するためのCLIインタフェースを提供しており、他のサービスと組み合わせて利用することができます。

dbt CloudはIDE・実行環境・CI/CDと開発に必要な機能は一通り揃っており、dbtの機能を色々と試してみたい場合は便利です。ただチームプランは開発者ごとに$50/monthlyと割と高額なので、データパイプライン構築で使う場合は、データレイクへの抽出をトリガーにdbt runを実行したり、CI/CDは他ツールを使うなど、dbt-coreで実現できないか検討すると良いでしょう。

まとめ

dbt Cloudは環境構築に手間をかけないですむので試行錯誤用の学習環境として利用するのが便利そうです。まずはdbt Cloudで動かしてみて、一部の機能を他のツールに移行できないかを考えてみると良いのではないでしょうか。

参考にした記事

https://zenn.dev/y2000/articles/10c9f8c20243ca03fd31
https://zenn.dev/dbt_tokyo/books/537de43829f3a0
https://dev.classmethod.jp/articles/20220223-dbt-cloud-cli-diff/
https://dev.classmethod.jp/articles/dbt-continuous-integration/
https://zenn.dev/datamarket/articles/investigate_dbt_transformations
https://dev.classmethod.jp/articles/fivetran-dbt-transformations/

Discussion