Upgrade to Pro — share decks privately, control downloads, hide ads and more …

データ基盤をDataformで整えた話 〜 開発環境を添えて 〜

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

データ基盤をDataformで整えた話 〜 開発環境を添えて 〜

2026/06/08 に「Dataform Meetup #2」で登壇した資料です
https://dataform-jp.connpass.com/event/392030/

スライド中に登場するリンク
- Firebase Analytics × BigQuery × Dataformで構築するデータ基盤 - コネヒト開発者ブログ https://tech.connehito.com/entry/2026/02/17/103426
- Dataformの開発環境を晒してみる(Visual Studio Code with Dev Containers) - コネヒト開発者ブログ https://tech.connehito.com/entry/2026/03/11/120206
- リポジトリのベスト プラクティス  |  Google Cloud Documentation https://docs.cloud.google.com/dataform/docs/best-practices-repositories?hl=ja
- 採用ページ:https://www.connehito.com/recruit

Avatar for Takanobu Nozawa

Takanobu Nozawa

June 08, 2026

More Decks by Takanobu Nozawa

Other Decks in Technology

Transcript

  1. 5 01 自己紹介 & コネヒト紹介 02 背景と課題 03 Dataformで整える 04

    Dev Containerを用いた開発環境 05 Dataform tools 拡張機能の紹介 06 まとめ Contents
  2. 野澤 哲照(Nozawa Takanobu) コネヒト株式会社 / CTO たかぱい@takapy0210 自己紹介 7 名前:

    所属/役割: : - ML Engineer / PdMなどをメインにデータ基盤整備などに従事 - 2026年4月からCTOに就任 - 猫とマンションとラーメンが好き PR:友人とPodcast配信してます wipfm
  3. VISIONが目指す先 10 KGI:希望出生数と予定出生数のギャップの解消 日本における希望出生数と予定出生数の間には 約0.24人の差分が存在します。 コネヒトはこの差分の大きな要因となる4つの 課題を事業領域に定め、両者のギャップの解消 を目指します。 希 望

    2.25人 = 予定 2.01人 − 0.24人 差分 参考:国立社会保障・人口問題研究所 2022年・第16回出生動向基本調査(結婚と出産に関する全国調査) ※2022年・第16回出生動向基本調査(結婚と出産に関する全国調査)の内、夫婦調査を参考
  4. コネヒトの事業 11 01 家計 の悩み 02 不妊 の悩み 03 育児

    の悩み 04 社会 の意識 4つの課題を事業領域に定め、 事業開発・アライアンスなど様々な手法で解決を目指す
  5. 17 スケジュールクエリ時代の課題 • クエリ間の依存関係を制御できない ◦ 「Aを2:00、Bを2:30に実行」といった形で、時刻バッファ管理 • コード管理、履歴管理ができていない • データのサイロ化・ブラックボックス化

    ◦ このテーブルの定義を変えたいけど、どこに影響が出るかわからない • 再実行時のオペレーション煩雑化 ◦ 特定のクエリが失敗した際、下流クエリを手動で芋づる式に再実行す る必要があり、影響範囲の特定も一苦労な状況 etc …
  6. 18 スケジュールクエリ時代の課題 • クエリ間の依存関係を制御できない ◦ 「Aを2:00、Bを2:30に実行」といった形で、時刻バッファ管理 • コード管理、履歴管理ができていない • データのサイロ化・ブラックボックス化

    ◦ このテーブルの定義を変えたいけど、どこに影響が出るかわからない • 再実行時のオペレーション煩雑化 ◦ 特定のクエリが失敗した際、下流クエリを手動で芋づる式に再実行す る必要があり、影響範囲の特定も一苦労な状況 etc … 辛い
  7. 19 スケジュールクエリ時代の課題 • クエリ間の依存関係を制御できない ◦ 「Aを2:00、Bを2:30に実行」といった形で、時刻バッファ管理 • コード管理、履歴管理ができていない • データのサイロ化・ブラックボックス化

    ◦ このテーブルの定義を変えたいけど、どこに影響が出るかわからない • 再実行時のオペレーション煩雑化 ◦ 特定のクエリが失敗した際、下流クエリを手動で芋づる式に再実行す る必要があり、影響範囲の特定も一苦労な状況 etc … スケジュールクエリ撲滅PJを立ち上げ → Dataformへ移行
  8. 25 データモデルの設計(4層+extra) sources 外部データソースの参照定義 ▼ stg 生データの初期加工 ▼ warehouse クレンジング・標準化済みの中間テーブル

    ▼ mart 部門・ユースケース別の集計データマート extra ML/検証⽤ BIツール ベストプラクティスや各社の事例を参考にしつつ、弊社の状況に合わせて設計
  9. 27 コンソール開発の限界 • DataformはGoogleCloudコンソール上で開発できる ◦ Githubと連携することで、ブランチを切って開発→PR作成もできる ◦ 開発環境を整備せずとも、SQLの知識があれば誰でも開発しやすいのが 利点 •

    でも運用すると多くの課題が... ◦ エディタが使いずらい(タブの分割表示不可・自動フォーマットが微 妙・サジェスト機能が貧弱、etc…) ◦ レビューの度にコンソールを開いてコンパイルの確認が必要 ◦ Claude CodeなどのCoding Agentの恩恵を受けられない etc…
  10. 28 コンソール開発の限界 • DataformはGoogleCloudコンソール上で開発できる ◦ Githubと連携することで、ブランチを切って開発→PR作成もできる ◦ 開発環境を整備せずとも、SQLの知識があれば誰でも開発しやすいのが 利点 •

    でも運用すると多くの課題が... ◦ エディタが使いずらい(タブの分割表示不可・自動フォーマットが微 妙・サジェスト機能が貧弱、etc…) ◦ レビューの度にコンソールを開いてコンパイルの確認が必要 ◦ Claude CodeなどのCoding Agentの恩恵を受けられない etc…
  11. 29 コンソール開発の限界 • DataformはGCPコンソール上で開発できる ◦ Githubと連携することで、ブランチを切って開発→PR作成もできる ◦ 開発環境を整備せずとも、SQLの知識があれば誰でも開発しやすいのが 利点 •

    でも運用すると多くの課題が... ◦ エディタが使いずらい(タブの分割表示不可・自動フォーマットが微 妙・サジェスト機能が貧弱、etc…) ◦ レビューの度にコンソールを開いてコンパイルの確認が必要 ◦ Claude CodeなどのCoding Agentの恩恵を受けられない etc…
  12. 30 コンソール開発の限界 • DataformはGoogleCloudコンソール上で開発できる ◦ Githubと連携することで、ブランチを切って開発→PR作成もできる ◦ 開発環境を整備せずとも、SQLの知識があれば誰でも開発しやすいのが 利点 •

    でも運用すると多くの課題が... ◦ エディタが使いずらい(タブの分割表示不可・自動フォーマットが微 妙・サジェスト機能が貧弱、etc…) ◦ レビューの度にコンソールを開いてコンパイルの確認が必要 ◦ Claude CodeなどのCoding Agentの恩恵を受けられない etc… ローカルで快適に開発したい
  13. 31 コンソール開発の限界 • DataformはGoogleCloudコンソール上で開発できる ◦ Githubと連携することで、ブランチを切って開発→PR作成もできる ◦ 開発環境を整備せずとも、SQLの知識があれば誰でも開発しやすいのが 利点 •

    でも運用すると多くの課題が... ◦ エディタが使いずらい(タブの分割表示不可・自動フォーマットが微 妙・サジェスト機能が貧弱、etc…) ◦ レビューの度にコンソールを開いてコンパイルの確認が必要 ◦ Claude CodeなどのCoding Agentの恩恵を受けられない etc… Dev Containerで誰でも同じ環境で 開発できるようにしよう!
  14. Dataform tools 拡張機能の活用 36 • VS Code向けのDataform拡張機能 ◦ https://marketplace.visualstudio.com/items?itemName=ashishale x.dataform-lsp-vscode

    • 以下のような機能を提供している ◦ コンパイル後のクエリと Dry Runの統計情報の表示 ◦ 依存関係グラフ(Data Lineage)の表示 ◦ クエリ結果のプレビュー表示 ◦ CLI または Dataform APIを用いたジョブの実行 ◦ SQLFluff を使用したフォーマット etc…
  15. CLI または Dataform APIを用いたジョブの実行 40 2つの実行方法で挙動が異なるので注意が必要 • Run(CLI):現在ローカルで編集しているファイルをそのまま実行する ◦ BigQueryのジョブエクスプローラーから実行されたJOBを確認できる

    ◦ dataform run "/workspaces/hoge" --actions "connehito-dwh.dataset.table" が実行されるイメージ • Run(API):現在のブランチを、Dataform上でコンパイルして実行する ◦ GithubのブランチをコンパイルしてDataformが実行するので、ローカ ルでの編集内容はpushしていない限り反映されない ◦ Google CloudのDataformコンソール上の、Workflow Execution Logs から実行ログを確認できる
  16. 45 Dataformと開発環境を導入して得られたもの • 運用/開発負荷の大幅削減 ◦ コード/履歴管理が可能、依存関係が明確化 • データ品質の自動担保 ◦ assertion機能で異変を検知、Slack通知

    • 開発の民主化&属人化の解消 ◦ Coding Agent活用で、専属DEでなくても一定品質のPRを出せ る状態に データ基盤構築のスモールスタートとして Dataformはアリよりのアリ
  17. 46 Dataformと開発環境を導入して得られたもの • 運用/開発負荷の大幅削減 ◦ コード/履歴管理が可能、依存関係が明確化 • データ品質の自動担保 ◦ assertion機能で異変を検知、Slack通知

    • 開発の民主化&属人化の解消 ◦ Coding Agent活用で、専属DEでなくても一定品質のPRを出せ る状態に 僕もゴリゴリ使いこなせているわけではないので、 懇親会でいろいろお話しましょう🙏
  18. 48 We’re Hiring! コネヒトでは一緒に働く仲間を募集中です! • ライフイベント周辺領域に興味のある方 • AI Nativeな組織・事業を創りたい方 •

    ML/データ基盤開発、AI Agent開発に興味のある方 機械学習やデータを用いた取り組み事例や、今後の展望などをまとめた 資料もあるので、興味ある方はこちらもご覧いただけると嬉しいです! コネヒト 機械学習 詳しくは で検索! 採用関連 https://connehito.com/recruit/
  19. 50