Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ファインディにおける Dataform ブランチ戦略
Search
Noriaki Hiraki
July 25, 2025
Technology
0
380
ファインディにおける Dataform ブランチ戦略
Dataform Meetup #1
https://dataform-jp.connpass.com/event/359348/
Noriaki Hiraki
July 25, 2025
Tweet
Share
More Decks by Noriaki Hiraki
See All by Noriaki Hiraki
ADK + toolbox を使ってデータマネジメントやってみた話
hiracky16
0
49
マルチプロダクトのデータ基盤設計 〜データメッシュを運用して見えた課題と伸びしろ〜
hiracky16
0
65
マルチプロダクトのデータ基盤設計〜データメッシュへのリアーキテクチャで見えた課題と伸びしろ〜
hiracky16
0
510
Dataform を使った GAS によるデータ運用からの脱却
hiracky16
4
2.2k
Other Decks in Technology
See All in Technology
OSだってコンテナしたい❗Image Modeが切り拓くLinux OS運用の新時代
tsukaman
0
110
Spring Boot利用を前提としたJavaライブラリ開発方法の提案
kokihoshihara
PRO
2
240
未回答質問の回答一覧 / 開発をリードする品質保証 QAエンジニアと開発者の未来を考える-Findy Online Conference -
findy_eventslides
0
280
「O(n log(n))のパフォーマンス」の意味がわかるようになろう
dhirabayashi
0
200
[mercari GEARS 2025] なぜメルカリはノーコードを選ばなかったのか? 社内問い合わせ工数を60%削減したLLM活用の裏側
mercari
PRO
0
140
[CV勉強会@関東 ICCV2025] WoTE: End-to-End Driving with Online Trajectory Evaluation via BEV World Model
shinkyoto
0
280
ABEMAのCM配信を支えるスケーラブルな分散カウンタの実装
hono0130
4
990
巨大モノリスのリプレイス──機能整理とハイブリッドアーキテクチャで挑んだ再構築戦略
zozotech
PRO
0
160
身近なCSVを活用する!AWSのデータ分析基盤アーキテクチャ
koosun
0
1.9k
プロダクト負債と歩む持続可能なサービスを育てるための挑戦
sansantech
PRO
1
320
SRE視点で振り返るメルカリのアーキテクチャ変遷と普遍的な考え
foostan
1
220
pmconf 2025 大阪「生成AI時代に未来を切り開くためのプロダクト戦略:圧倒的生産性を実現するためのプロダクトサイクロン」 / The Product Cyclone for the Outstanding Productivity
yamamuteki
1
700
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
11
930
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
Facilitating Awesome Meetings
lara
57
6.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
How to Ace a Technical Interview
jacobian
280
24k
Automating Front-end Workflow
addyosmani
1371
200k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Transcript
ファインディにおける Dataform ブランチ戦略 Dataform Meetup #1 ファインディ株式会社 CTO 室データソリューションチーム 開
功昂(hiracky16)
自己紹介
3 自己紹介 Findy / データエンジニア / マネージャ 開 功昂 /
Noriaki Hiraki / @hiracky16 • 2023 年 11 月にファインディの CTO 室データソ リューションチームにジョイン🙌 • データエンジニアとしてマルチプロダクトのデータ 基盤を設計・開発をリード💪 • サッカー⚽とポッドキャスト🎙と子育て👦が趣味 • Dataform 歴 4 年
今日話すこと • Dataform を使ったデータパイプラインの話をします • ファインディでの Dataform 導入の効果と課題 • Dataform
ブランチ戦略、リリース手順の見直し • まとめと今後の展望 • 宣伝 4
Dataform の好きなところ
Dataform の好きなところ(≒ 採用理由) • やすい … BigQuery の利用料金以外は基本無料 • はやい
… 環境構築不要、ワークフロー設定が手軽 • うまい … Git 連携やデータリネージ, テストなど最低限の機能 6 =
データ基盤のアーキテクチャ 7
• データエンジニア以外のコントリビュータが 10 名に増えた • データマートつまり利活用先が 4 倍に増えた • SQL
のレビュー体制を構築することができた ◦ PR 数では社内で一番活発に動いているデータプロジェクトへ 🎉 導入後の良い効果 8
• SQL 構文ミスで実行不可 • 不規則なファイルやテーブルの命名 • SQL の書き方に統一性がない • フォルダ構成やレイヤーを無視したクエリが生まれる
• タグ、ワークフロー追加忘れなどのオペミスが発生 • ほぼ毎日何かしらのアラートが鳴る🚨 😭 導入後の悪い効果 9
⭕ Dataform はデータ活用の裾野を広げた ❌ 裾野が広がると同時にガバナンスの難しさが顕在化
開発からリリースまでの 運用・戦略を見直し
1. 確実に動く SQL を本番環境に提供しエラー件数を 0 に近づけること 2. オペミスによるデータパイプラインの失敗は最小限に留めること 3. データ基盤の設計思想や
SQL の書き方や命名規則を利用者間で決め機械 的にチェックできること 4. 高コストなクエリや使用されていないテーブルが定期的に見直されている こと これらを達成すべくブランチ戦略やリリース手順を見直し💪 🎯 改善目標 12
git-flow 採用 & 複数の Dataform 実行環境 13 develop ⇔ 開発環境
Dataform main ⇔ 本番環境 Dataform
様々な開発スタイルに対応 14
様々な開発スタイルに対応 15 • Google Cloud Console ◦ 主に非エンジニア(データアナリストやマーケ)が使用 ◦ ボタンで
Git 操作が可能 • VSCode ◦ 主にデータエンジニアや機械学習エンジニアが使用 ◦ GitHub や BigQuery MCP + Claude Code で効率化 • Devin ◦ 複数リポジトリ間で開発が必要な場合に使用 ◦ 例1) Rails の db/schema.rb から source, staging 層のクエリを作成 ◦ 例2) datamart テーブル作成、変更時に LookML を編集
GitHub Actions + SQLFluff によるリファクタ 16 develop への push で発火
sqlfluff fix でフォーマット ↓ スターお待ちしてます☆
Dataform のレビュー体制 17
コーディング規約の作成 18 GitHub Pull Request のテンプレート • 使用可能な略語の定義 • js
ブロックを避ける ◦ JavaScript が不得意なメンバーもい るため ◦ SQL と JavaScript の責務が曖昧にな りがち ◦ dbt への乗り換えを見据えて
19 Dataform のレビュー体制 # GitHub Actions name: validate-sql on: pull_request:
branches: - develop jobs: steps: - name: check-hoge - name: check-fuga - name: dataform-run select skill, count(1) from `project_a.dataset_b.users` where created_at >= '2025-01-01' push review review review
Dataform のリリース & デプロイ 20 データエンジニア複数人で作業 本番環境にも同様の参照先テーブルが存 在するかなどのチェック項目を確認
• カスタムアサートを用いて利用状況をモニタリング • 前日のデータスキャンや使われなくなったテーブルを検知 Dataform を使ったモニタリング config { type: ‘assertions’
tags: [‘monitoring’] } select table_id, count(1) as job_count from INFORMATION_SCHEMA.JOBS having count(1) = 0 21 config { type: ‘assertions’ tags: [‘monitoring’] } select user_email, query, billed_giga_bytes from INFORMATION_SCHEMA.JOBS where billed_giga_bytes > 10
ブランチ戦略見直しの効果
• ワークフローのエラー発生率は昨対比で 85% 減 ◦ スプレッドシートを使った外部テーブルの入力ミス • ワークフロー追加などのオペレーションミスは 0 件
• テーブルの棚卸しやジョブの監視によりコスト削減 ◦ 導入後 1 年で 200 近くのテーブルを削除 堅牢な Dataform を作ることができた🛡 ブランチ戦略見直しの効果 23
質とスピード 24 2024/06 2025/06
まとめ & 今後の展望
• Dataform は手軽に始められデータ活用の裾野を広げることが可能 • 利用者の増加とガバナンスの難しさは比例 • Dataform のブランチ戦略を見直すとパイプラインの品質が向上 • 堅牢さによって
“やすい、はやい” が失われない仕組みが必要 ◦ モニタリング、レビューと CI の高速化 • 利用者のやりたいことを先回りし、運用を見越したテーブルやパイプライ ンの設計・開発 まとめ 26
ファインディでは データエンジニア 絶賛募集中です!! 複数プロダクトのデータ基盤を設計・開発している最中です! 興味ある方はご応募、カジュアル面談お待ちしています→
Findy Tools にて Dataform のレビューお待ちしてます!!! 🟢先日マイベストさんに も書いていただきました 🙏
ご清聴 ありがとうございました 🙏