dbt Labs社との共催イベント「What is dbt?データ基盤にdbtが必要な3つの理由」でクラスメソッドのModern Data Stackについて紹介しました #dbt_classmethod

2023.03.15

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

さがらです。

2023年3月14日に、dbt Labs社との共催で「What is dbt?データ基盤にdbtが必要な3つの理由」というイベントを開催しました。

本イベントの中で、私は「dbtと仲良し!クラスメソッドのModern Data Stack」というセッションタイトルで登壇したので、その内容について本記事でまとめます。

登壇資料

クラスメソッドのModern Data Stack

昨今、SaaSを組み合わせたデータ分析基盤のことをModern Data Stackと呼ぶことが流行っておりますが、クラスメソッドとしても独自のModern Data Stackを提唱しております。

本イベントのメインでもあるdbtも組み込んだModern Data Stackとなっております。今回の登壇では、特にdbtと仲の良いFivetranとSnowflakeについて、少し厚めに説明しました。(内容は後述)

ぜひ、下記の記事も併せてご覧ください。

dbtと特に仲良しのサービスその1:Fivetran

Fivetranは、「データソースへの接続」と「使用するデータの選択」だけを行うことでDWHへデータロードを行うことができるSaaSです。

下図のようにFivetran側で独自のスキーマを設計しておりこのスキーマに併せてデータがロードされるため、ユーザーはスキーマ設計もAPIの仕様変更による処理の改修も不要です。

そして、dbtとFivetranが特に仲良しの理由として、「dbt Transformation」と「Fivetran用のdbt package」が挙げられます。

dbt Transformationは、Fivetranでのロード直後に続けてdbtで定義された各model(.sqlファイル)を実行できる機能です。Airflowなどのワークフローを必要とせず、「Fivetranによるロード➟dbtによる変換」を実現できることが強みの機能です。

弊社でもすでに、Zendesk SupportのデータをFivetranでロードし、Fivetran用のdbt packageを用いてdbt Transformationで加工する、ということを行った記事がありますので、ぜひこちらも参考にしてみてください。

dbtと特に仲良しのサービスその2:Snowflake

Snowflakeは、クラウドのメリットを最大限活かしたデータウェアハウスと言えます。

コンピューティングとストレージが分離しているため、従来のデータ分析基盤にありがちなデータロードとバッチ処理が重なるタイミングで分析作業はしてほしくない、みたいなことを気にすることなく処理を行うことが可能です。

マルチクラウド対応のため、AWS・Google Cloud・Azure、いずれのクラウドプラットフォームでも同じ機能を使用することが出来ます。

そして、dbtとSnowflakeが特に仲良しの理由として、「dbtの新機能の対応が早い」「Snowflake用のdbt package」という2点が挙げられます。

「dbtの新機能の対応が早い」の具体例としては、dbt Semantic Layerが挙げられます。dbt Semantic Layerは「売上」や「利益」など、 データを用いたビジネス指標の定義をdbt上で一元管理出来る機能であり、BIツールやデータカタログのサービスから参照することが出来ます。この機能が2023年3月14日時点では、DWHがSnowflakeである場合のみ使用することが出来ます。

dbt Semantic Layerについては、私も以前Tableauと繋いでみた経験があるので、下記の記事もぜひご覧ください。

「Snowflake用のdbt package」については、dbtはSnowfalkeに対応したpackageが多く提供されています。

マスキングポリシーをdbtから設定できるdbt_snow_mask、Snowflake上の制約をdbtでtestを定義するだけで付与できるdbt_constraints、Data Vault 2.0のモデリングを楽に行うことができるマクロを持つdbtvault、などがあります。

おまけ:宣伝

クラスメソッドのModern Data Stackに興味のある方はぜひお問い合わせ頂けると嬉しいです!

また、データ分析基盤に関わる各職種も積極採用中です!!