[登壇レポート]Snowflake×dbtを用いたテレシーのデータ基盤のこれまでとこれから #SWTTokyo25

[登壇レポート]Snowflake×dbtを用いたテレシーのデータ基盤のこれまでとこれから #SWTTokyo25

2025.09.17

さがらです。

2025年9月11日~2025年9月12日に、「SNOWFLAKE WORLD TOUR 2025 - TOKYO」が開催されました。

https://www.snowflake.com/ja/world-tour/tokyo/

このイベントの中で、テレシー様と共に「Snowflake×dbtを用いたテレシーのデータ基盤のこれまでとこれから」というセッションタイトルで登壇をしてきました。

https://snowflake-event.jp/world-tour-25/content/BP-106/

本記事ではこのセッションの登壇資料と、パネルディスカッションでお話した内容についてまとめます。

登壇資料

パネルディスカッションについて

相樂⇛欧陽さんへ:dbt Cloudで特に気に入っている機能はどの機能ですか?

私が一番気に入っているのは、ジョブのオーケストレーション機能です。

今日のセッションの中でも言及をしましたが、やはりCI/CDの独自開発と運用には、どうしても手間がかかります。

dbt Cloudはフルマネージドで、こうした管理のすべてを直感的な画面上で設定でき、非常に簡単になりました。
プルリクエストを出すと、変更されたモデルとその影響範囲だけを自動でテストしてくれます。この裏側ではDefer機能が賢く働いて、以前は私たちが手動で管理していたmanifestファイルを用いた手法に頼ることなく、本番環境のデータを自動で参照して差分を検知してCIジョブが動いてくれます。

これらのCI/CDのパイプラインの構築が数クリックで実現できており、本当に助かっています。

欧陽さん⇛相樂へ:Snowflake内でもdbtの開発が行えるdbt Projectsがリリースされましたが、dbt Cloudが優れている点はどこにあるでしょうか?

端的に答えると「dbt Cloudのほうが楽な面が多い」という回答になります。

具体的には、GUIでdbtのモデルを開発できるCanvas、CI/CD、あたりが明確な差別点と考えております。

個人的に特に推したいのはCI/CDで、欧陽さんからもお話のあったdbt Cloud特有のCIジョブとマージジョブを使えば1分もかからず設定できますし、Advanced CIという機能を有効化すると、開発前後でデータのレコードを比較してどういった差分があるかまで見ることが出来ます。

Snowflakeのdbt Projectsでは、現状ユーザー側でCI/CDのパイプラインをGitHub Actionsなどで構築しないといけないですし、データの差分を見るパイプラインの構築も辛いと思います。

このため、「dbt Cloudのほうが楽な面が多い」と考えております。

※以下、Advanced CIに関する参考ブログです。

https://dev.classmethod.jp/articles/dbt-cloud-advanced-ci/

相樂⇛欧陽さんへ:Snowflake+dbt Cloudにより開発生産性は向上したと思いますが、現在データ分析基盤を開発・運用する中で大変なことは何でしょうか?加えて、どうやって乗り越えていますか?

おっしゃる通り、Snowflakeとdbt Cloudで、開発の生産性は劇的に向上しました。しかし、その一方で私たちは「データの品質をいかに担保するか」という、次の課題に直面しています。

背景として、弊社のテレビCM分析サービスでは、お客様の様々なご要望に応えるためのアドホックな分析が非常に多く発生します。その都度、分析の元となるデータの品質と、アウトプットの品質、その両方を担保する必要があります。
この課題を乗り越えるため、私たちはdbt testをE2Eテストのように活用しています。 単なるNot Nullチェックなどに留まらず、例えば、元のデータと分析結果の間で、指標(メトリック)の総数が時間粒度を揃えても一致しているかといった、ビジネスロジックに踏み込んだカスタムテストを実装し、ジョブで定期実行しています。

これにより、複雑なアドホック分析が介在しても、データの信頼性が損なわれていないかを継続的に監視する仕組みを構築しました。dbt testは、まさに私たちの分析基盤における「最後の砦」として機能してくれています。

欧陽さん⇛相樂へ:Snowflakeがデータ分析基盤に必要な領域を広く担えるようになってきていますが、他のSaaSを導入する際のポイントがあれば教えてください!

私が考えている他のSaaSを検討する際のポイントですが、「まずはSnowflakeでできる機能で試して頂き、問題が明確になったら別のSaaSを試していただくこと」だと思っています。当たり前のように聞こえるかもしれませんが、やはりこのステップが重要だと思います。

この理由ですが、一度Snowflakeだけで実装を行うと、どこに辛さが発生するか、問題が浮かび上がると思います。
具体例として、データロードをあげると、Snowflake内だと現在はOpenflowもありますが、対応していないデータソースのコネクタはSnowflake内だとユーザー側でAPIを用いた実装が必要となります。一方でFivetranなどを採用した場合、Openflowが対応していないコネクタがあれば、Fivetranを使うことで実装も不要ですぐにデータロードをすることができます。

もちろん、Snowflakeで試す前から明確な問題もあるでしょうし、その場合は最初から別のSaaSを検討しても問題はありません。
ただ、比較ポイントが明確になっていない場合は、現在のSnowflakeは一通りのことを行えるツールとなっていますので、まずはSnowflakeでできることで試していただく、のが間違いないと思います!

相樂⇛欧陽さんへ:技術支援に関してクラスメソッドに対して期待していたことと、実際に支援を受けてのご感想を教えてください!

まず、私たちがクラスメソッド様に期待していたことは、単なる「開発ベンダー」ではなく、チームの成長を加速してくれる「技術パートナー」としての役割です。そして、実際に支援を頂いた感想ですが、正直に申し上げて、その期待を大きく上回るご支援をいただきました。

主なポイントは2点あります。

まず1点目は、ご支援の幅広さとその深さです。今回の主目的であったdbt Cloudの導入支援はもちろんのこと、それに付随するSnowflakeの最適なロール設計や、マルチ開発環境の設計と構築に至るまで、私たちのデータ基盤全体を俯瞰した上で、ベストプラクティスを提案してくれました。

そして2点目は、未来を見据えたパートナーシップです。プロジェクトの範囲に留まらず、私たちが今後開発を予定している新機能についても、技術的な壁打ち相手となっていただきました。実現可能性を判断するための技術調査まで行っていただき、まさにチームの一員のように動いてくださったことには、深く感謝しております。

目先の課題解決だけでなく、チームの未来の成長まで見据えて伴走していただきました。

最後に

まず、セッション当日は大変多くの方にご参加頂き、本当にありがとうございました!

テレシー様のデータ基盤についてのお話が中心となった本セッションですが、「AuroraのようなRDBではなく、SnowflakeのようなクラウドDWHが必要となる理由」と「dbt Coreではなくdbt Cloudを採用した理由」が明確にわかる、多くの方にとって参考になる発表内容となったのでは、と考えております。

テレシー様の事例については弊社ホームページでも公開されていますので、ぜひこちらも併せてご覧ください。

https://classmethod.jp/cases/telecy-dbt-cloud/

この記事をシェアする

FacebookHatena blogX

関連記事