dbtって何をするツールなの?
データウェアハウスに入っている生データを、分析しやすい形に変換するツールだよ。たとえば「売上テーブルと顧客テーブルを結合して月次サマリーを作る」みたいなことをSQLで定義して、自動実行してくれるんだ
dbt Coreとdbt Cloudの違いは?
dbt CoreはオープンソースのCLIツールで、コマンドラインから使うんだ。dbt CloudはそれにWeb IDE、ジョブスケジューラー、CI/CD、履歴管理などを加えたSaaS版。チームで使うならCloudの方が圧倒的に便利だよ
なんでSQLだけで変換するの?PythonとかJavaじゃダメなの?
データアナリストはSQLが得意な人が多いんだ。dbtはSQLを書ける人なら誰でもデータパイプラインを作れるようにして、エンジニアとアナリストの境界を取り払ったのが革命的だったんだよ
テスト機能ってどんなことができるの?
「このカラムはNULLであってはならない」「ユニークであるべき」「参照先テーブルに値が存在するべき」みたいなテストをYAMLで簡単に定義できるよ。変換結果の品質を自動チェックしてくれるんだ
モダンデータスタックでは必須なの?
ほぼ必須と言っていいね。Fivetranやairbyteでデータを転送して、dbtで変換するのがモダンデータスタックの定番パターン。最近はSemantic Layerという機能でBIツールとの連携も強化しているよ