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 を使った GAS によるデータ運用からの脱却
Search
Noriaki Hiraki
August 18, 2024
Technology
4
2.3k
Dataform を使った GAS によるデータ運用からの脱却
Noriaki Hiraki
August 18, 2024
Tweet
Share
More Decks by Noriaki Hiraki
See All by Noriaki Hiraki
ADK + toolbox を使ってデータマネジメントやってみた話
hiracky16
0
58
ファインディにおける Dataform ブランチ戦略
hiracky16
0
430
マルチプロダクトのデータ基盤設計 〜データメッシュを運用して見えた課題と伸びしろ〜
hiracky16
0
71
マルチプロダクトのデータ基盤設計〜データメッシュへのリアーキテクチャで見えた課題と伸びしろ〜
hiracky16
0
550
Other Decks in Technology
See All in Technology
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
150
re:Invent2025 セッションレポ ~Spec-driven development with Kiro~
nrinetcom
PRO
2
170
AWS re:Inventre:cap ~AmazonNova 2 Omniのワークショップを体験してきた~
nrinetcom
PRO
0
130
AI時代のアジャイルチームを目指して ー スクラムというコンフォートゾーンからの脱却 ー / Toward Agile Teams in the Age of AI
takaking22
11
4.5k
「アウトプット脳からユーザー価値脳へ」がそんなに簡単にできたら苦労しない #RSGT2026
aki_iinuma
8
4.1k
BidiAgent と Nova 2 Sonic から考える音声 AI について
yama3133
2
150
AI: The stuff that nobody shows you
jnunemaker
PRO
1
160
モノタロウ x クリエーションラインで実現する チームトポロジーにおける プラットフォームチーム・ ストリームアラインドチームの 効果的なコラボレーション
creationline
0
470
純粋なイミュータブルモデルを設計してからイベントソーシングと組み合わせるDeciderの実践方法の紹介 /Introducing Decider Pattern with Event Sourcing
tomohisa
1
670
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
2
700
2025年 山梨の技術コミュニティを振り返る
yuukis
0
150
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.9k
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
94
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
530
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.8k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
140
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
690
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
100
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
140
Optimising Largest Contentful Paint
csswizardry
37
3.6k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Transcript
Dataform を使った GAS によるデータ運用からの脱却 「大規模データの負債解消への道のり Findy Lunch LT」 ファインディ株式会社 CTO
室データソリューションチーム / データエンジニア 開 功昂(hiracky16)
自己紹介
3 自己紹介 Findy / データエンジニア 開 功昂 / Noriaki Hiraki
/ @hiracky16 • 2023 年 11 月にファインディの CTO 室データソ リューションチームにジョイン 🙌 • データエンジニアとしてマルチプロダクトのデータ基 盤を設計・開発を推進 • サッカー⚽とポッドキャスト 🎙が好きです(プレミア リーグを週末によく見ています)
半年前くらいの データ運用の状況
2023 年 11 月(入社当時)データ運用のアーキテクチャ 5
弊社におけるデータ運用の状況 データ基盤管理の考え方 〜dbtの極意〜 Lunch LT dbtで始めるクエリの再利用と正確性の向上 6
そもそも GAS による データ運用の辛さとは? 🤔
GAS によるデータ運用の辛さ • データソースの変更に気付けない ◦ GAS に記述するとカラムやテーブルの変更に気づきにくい ◦ 実際に使われていないテーブルをそのまま使っている
SQL が多数存在 • SQL がシート管理者に依存してしまう ◦ レビューがないため正確性が担保されづらい 8
GAS によるデータ運用の辛さ • GAS, SQL, スプレッドシート関数の責務が曖昧で処理が追いづらくなる • 同じ処理がいろいろなシートに点在しており DRY
でない ◦ 複数枚のシートで同じような計算や処理が記述されている ◦ もしロジックが変わった際にその分変更しなければならなくなるのでメンテコス トが上がってしまう 9
じゃあ dbt を使って GAS 移行やデータモデリングやっ ていき💪
とはならなかった …😭
dbt を使った運用がうまくハマらなかった理由 • 前提としてシート運用者を巻き込んで移行作業を実施する予定 ◦ 作業者がデータアナリストの方と僕の 2 人に対してシートは 70
枚 ◦ 今後新しいスプレッドシート x GAS を生まないため • スケールしづらかった ◦ dbt 以前に git 操作の壁があり断念 ◦ dbt Cloud の導入も検討したが有料がネック 12
そこで白羽の矢が立ったのが Dataform
Dataform とは • BigQuery で SQL を使用したデータ変換ツール ◦ インフラ管理が必要ないマネージド
◦ パイプラインとスケジューラーを搭載 ◦ GitHub や GitLab でコード管理 • Web ブラウザ上で操作が可能 14
Dataform がハマった理由 • インフラ管理が不要 ◦ データエンジニアが 1 人の現状でも運用が低コスト ◦
おまけに無料 • ノンプログラマのシート運用者を巻き込みやすい ◦ BigQuery コンソールに似た UI で抵抗がない ◦ (多少)git 操作から解放されるのが大きい • dbt でできる最低限の機能は備えている ◦ git 管理, データリネージ , メタデータ管理など ◦ 一方で dbt-osmosis など便利なツールが使えなくなる 15
良さそう… ヨシ!Dataform を布教だ! GAS を移行だ!
移行方法の検討 • 現状の利用状況を知る ◦ INFORMATION_SCHEMA で利用者を特定 ◦ GAS によるリクエスト数も計測して
0 を目指す • スプレッドシートの洗い出し ◦ 前述の通り 70 枚を各チームに運用中のシートを聞き洗い出し • シート運用者に Datafom を布教と作業内容を伝え協力者を募る ◦ マニュアルもここで一緒に作る • 担当表を作りシートを割り振って移行 ◦ コネクテッドシートでの接続はシート運用者に影響のないタイミングで依頼 17
移行後のアーキテクチャ 18
〜移行開始から半年後〜
GAS によるクエリのジョブ数 20 ← GAS によるジョブ数を大 幅に削減!🎉🎉🎉
移行後の効果 • レビュー体制の構築 ◦ 移行開始から半年で 500 近くのプルリクエストが作成、コントリビューターも開 始当初の 2
人から 9 人に! • 新たに GAS を使ったデータ連携が生まれなくなった ◦ シート運用者を巻き込んだことで Dataform 始まりになった • 共通テーブルの増加 ◦ 数でいうと 70 テーブルほど新規で作成 • シートに最適化された共通テーブルの増加 ◦ データモデリング勉強会を開いてチームで認識を合わせている 21
まとめ 今後やりたいこと
まとめ / 今後やりたいこと 23 • まとめ ◦ 移行系のプロジェクトは序盤で運用者を巻き込んで取り組むと新たな負債を 生まれなくなる
◦ 仕組みを作った上で一緒になって運用していくことが大事 • 今後やりたいこと ◦ 共通テーブルの精査とより使いやすいテーブルの整備 ◦ 他事業部への展開 ◦ データ周りの仲間を増やす
ということで最後に!
少しでもファインディで働くことにご興味あれば、気軽にご連絡ください! どこが適正かわからないという方も含めて、オープンポジション (書類選考や面談時にポジションすり合わせ )やカジュアル面談の申込みを行っています! 25 ※募集状況によって変動します 開発チーム・デザイナー • CTO候補 •
EM • フロントエンド • 機械学習エンジニア • バックエンド •データエンジニア • SRE • UIデザイナー Findy Career • 事業部長候補 • マーケティング • 事務アシスタント • PdM • カスタマーサクセス ◦ リーダー候補 / メンバー • ユーザーサクセス ◦ リーダー候補 / メンバー Findy Team+ • 新規事業開発 • セールス • カスタマーサクセス • PdM 海外推進 • 立ち上げメンバー ◦ ユーザー対応 ◦ 企画対応 社長室 • 社長室長候補 • 採用組織人事リーダー • 広報担当 コーポレート 他 • CFO候補 • 経営企画 • 法務 • 上場準備担当 • 事業企画 • 経理 募集中のポジション
複数プロダクトのデータ基盤を設計・開発している最中です! 興味ある方はご応募、カジュアル面談お待ちしています → データエンジニア も募集中です!!
ご清聴 ありがとうございました 🙏