タイミーのデータモデリング事例と今後のチャレンジ
by
Toshiki Tsuchikawa
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
2025/7/4 土川稔生, 大河戸裕一 タイミーのデータモデリング事例と 今後のチャレンジ @tvtg_24 , @miburo_data Data Modeling Night -「今」だからできる理論の実践事例 -
Slide 2
Slide 2 text
自己紹介 土川 稔生 (Tsuchikawa Toshiki) 株式会社タイミーに2020年入社 DRE(Data Reliability Engineering)グループマネージャー 1人目データエンジニアとしてデータ基盤を構築し始める 現在はプロダクトオーナーとして、データ基盤プロダクト作りに 励む
Slide 3
Slide 3 text
自己紹介 大河戸 裕一 (Okodo Yuichi) スタートアップにてソフトウェアエンジニアを経験後、 1人目データ人材として、データ組織の立ち上げとデータ基盤の 作成を経験 タイミー入社後はアナリストを経験後、データエンジニア兼アナ リティクスエンジニア業務に従事 主にLookerやデータモデリングの開発をリード
Slide 4
Slide 4 text
Copyright © Timee All Rights Reserved 4 タイミーとは
Slide 5
Slide 5 text
Copyright © Timee All Rights Reserved 5 タイミーの特徴
Slide 6
Slide 6 text
Copyright © Timee All Rights Reserved 6 導入実績
Slide 7
Slide 7 text
あなたの組織では、 データが十分に活用されていますか ??
Slide 8
Slide 8 text
データは大量にあるが、使いづらい ... データ活用者 大量のデータ
Slide 9
Slide 9 text
データは大量にあるが、使いづらい ... データ活用者 大量のデータ ほしいデータが入って いるテーブルがわから ない SQLのロジック複雑。A さんに聞かないと 中身編集できない テーブルたくさんあって SQLがすごく長い
Slide 10
Slide 10 text
データモデリングのメリット 1. 社内のビジネスドメインをSQL定義に落とし 込んでSSoTとして管理できる! 2. ディメンショナルモデリングにより、SQLを 書く際に直感的に理解しやすいデータ構造に なる! 3. テーブル数や結合が少なくなりSQLがシンプ ルなり、パフォーマンスも向上する!
Slide 11
Slide 11 text
タイミーにおけるデータモデリング
Slide 12
Slide 12 text
タイミーのデータ基盤
Slide 13
Slide 13 text
タイミーのデータモデリング業務 アナリストの開発領域 データモデラー (DRE G)の開発領域 ここを広げたい!
Slide 14
Slide 14 text
タイミーのデータモデリング業務 PII情報に対するクエリを承認制にしつつ モデリングに露出させるか整備したり セマンティックレイヤーの命名をユーザー ライクなものにする実装をしたり みたいな領域もデータモデリングという枠組みで行なってます
Slide 15
Slide 15 text
既存のデータモデリング開発で顕在化した進め方の課題 ユーザーの起票ベースで開 発を行なっていて、Lookerを 使っていない部署の意見が 反映できない。 攻めのデータモデリング が 行えていない。 既に運用に乗っている アナリストが作成したクエリ (合計2800行ほど)を ディメンショナルモデリングで置 き換える作業 で実装が泥沼化
Slide 16
Slide 16 text
既存のデータモデリング開発で顕在化した進め方の課題 ユーザーの起票ベースで開発を行なっていて、 Lookerを使っていない部署の意見が反映できない。 攻めのデータモデリング が行えていない。 Lookerの利用率は高いため、 Lookerをすでに使っている部署の改修・追加依頼はたくさん来るが、 データ出力をデータモデリングでカバーできる領域自体を広げる動きには繋がりづらい。 タイミー社内で日常的に生まれる新しい領域や新規プロジェクトに対して先回りして動けておらず、 その領域において非効率なクエリが生産されている状態。 後手後手の依頼対応で意思決定の高速化に貢献できていない状態・・
Slide 17
Slide 17 text
既存のデータモデリング開発で顕在化した進め方の課題 既に運用に乗っているアナリストが作成したクエリ (合計2800行ほど)をディメンショナルモデリングで置き換える 作業が泥沼化 既存のデータモデリングと同音異義語の指標名や dimension名が多数存在してすり合わせが困難 事業部サイドの要求が反映された複雑で横展開できない特殊定義が多数存在 既存のクエリが正解ではなく間違いなどもあるので正解がなく、一度定まった定義を変更してすり合 わせていく作業が発生 一緒に作っていくプロセスを経ればこんなことは起きなかったのに・・
Slide 18
Slide 18 text
アジャイルデータモデリングの実践
Slide 19
Slide 19 text
アジャイルデータモデリング アジャイルデータモデリングのメリット (一部): ● 従来の大規模で時間をかけたモデリングではなく、ビジネスニーズに合わ せて段階的かつ柔軟にデータモデリングを構築・改善する ● ユーザーとの頻繁なコミュニケーションを通じて、ビジネス側のステークホル ダーと協調しながら要件にあったモデリングを構築できる タイミーにおける課題に対して期待していること: ● 攻めのモデリング : モデリングするべき重要なデータユースケースを把握し ながら、将来的にスケールする分析環境の提供 ● 段階的なモデリング : 既存の2800行のクエリを一度に置き換えるのではな く、優先度の高いストーリー、指標から段階的に移行 ● ドメイン知識の共通化 : ビジネスユーザーとの頻繁なコミュニケーションを 通じて、モデリングする人とのドメイン知識を共通化することによる属人化の 防止、モデルのメンテ性向上
Slide 20
Slide 20 text
実際の事例 ①
Slide 21
Slide 21 text
アジャイルデータモデリング事例 1:進め方 指標Aを全く新しい軸でみたい。今 Lookerでは見れない (=スタースキーマで表現されていない ) 新しいLooker探索環境 (=スタースキーマ )が必要ではないかと考えている 依頼 どういうものをイメージしているのかふ わっとしかわからない つまりどういうことだってばよ・・?
Slide 22
Slide 22 text
アジャイルデータモデリング事例 1 既存ワイドテーブルをベースにBEAM*テーブルを作る形で 差異を確認。新しく実現したい絞り込みや情報の粒度を確認
Slide 23
Slide 23 text
アジャイルデータモデリング事例 1 整理を通して既存のDimensionを拡張するだけで実現可能な 項目であることが判明! ふわっとした要件を解像度高く追加実装要件に落とせた
Slide 24
Slide 24 text
アジャイルデータモデリング事例 1:感想 - 「既存の」ディメンショナルデータモデリングされたテーブルも BEAM*テーブルとして表現可能で、BEAM*テーブルをコミュニケー ションツールとして活用できたこと。 - 「どこが既存との差異なのか」を目線を合わせながらコミュニ ケーションできた。 - 具体のレコードイメージをBEAM*テーブルを通じて作ることができる ので、ふわっとした要求を実装要件に落とし込めるありがたみがわ かった。
Slide 25
Slide 25 text
アジャイルデータモデリング事例 2 取引先になった後の各種実 績 Salesforceデータをベースに モデリング済み 広告媒体の実績 各種広告ツールで確認でき ている リード = 見込み顧客 ドメイン的に微妙に浮いてい てモデリングでも未着手状 態 ここ攻められてないから やってみよう マーケの関心領域 セールスの関心領域
Slide 26
Slide 26 text
アジャイルデータモデリング事例 2:進め方 ①マーケメンバーへの 課題領域ヒアリング ②マーケドメインを担当 するアナリストにヒアリン グ ③ビジネスメンバーとマー ケドメインアナリストへの ヒアリング
Slide 27
Slide 27 text
アジャイルデータモデリング事例 2:ヒアリング内容 ①マーケメンバーへの 課題領域ヒアリング ②マーケドメインを担当 するアナリストにヒアリン グ 「What」の目安をつける 「リードの数と獲得費用対 効果が知りたい」 「What」以外の実装案を 埋めてワイドテーブルの 仮組をする 仮組みされたワイドテー ブルをベースに 実分析ケースを壁打ち ③ビジネスメンバーとマー ケドメインアナリストへの ヒアリング
Slide 28
Slide 28 text
アジャイルデータモデリング事例 2:BEAM*の更新 ① ② ③
Slide 29
Slide 29 text
アジャイルデータモデリング事例 2:BEAM*の更新 ① ② ③ 初回は関心領 域の特定だけ で終わってし まった スタースキーマがわかる アナリストメンバーと仮組 み 営業メンバーにぶつけ てみて更新 マーケ目線じゃ出て こない情報の更新
Slide 30
Slide 30 text
アジャイルデータモデリング事例 2 感想・コツ - この本で推奨されている「誰が何をしますか?」 という質問から聞いても答え は得られなかった。「何をみたいですか」 という問い(スタースキーマのファクト を定める質問)をしたら初めてうまくいった という切り出し方をしてもビジネスユーザーはピンとこなかった ソースシステムの処理や挙動を深く理解している人相手なら刺さりそう
Slide 31
Slide 31 text
アジャイルデータモデリング事例 2 感想・コツ - BEAM*テーブルという中間成果物が何かしら更新されるので、30分や15分の ヒアリング枠を複数設けて少しずつ更新するような進め方 が可能 - なので複数の観点からのレビュー がもらいやすい うちのチームではこの絞 り込みが追加で必要 うちのチームではこの絞 り込みが追加で必要
Slide 32
Slide 32 text
アジャイルデータモデリング事例 2 感想・コツ ● 「本の型通りの質問をしてBEAM*テーブルを作る」ではなく、 「JOIN後のワイドテーブルのレコードを作る 」ってメンタルモデルにしたらヒア リングうまくいった。 要するにスタースキーマを JOINしたワイドテーブルのレ コードイメージを決めればい いのか。 それならわかるぞ BEAM*テーブルを作るって何 ・・? とりあえず書いてある通りの質 問をしてみよう
Slide 33
Slide 33 text
2つの事例を通して - 目線を合わせるためのBEAM*テーブルの有用性 - 顧客の要求を実装要件に具体化できる。 - 少しずつアップデートできて、複数の目線を反映させやすい - 当社での苦戦ポイント - 本に記載されているような問いかけはビジネスユーザー相手だと通じ ないことが多かった。(なぜなら具体の処理やデータ間のリレーショ ンや指標の発生タイミングなどをソースシステムの理解を元に話せる 人がほとんどいなかったから) - 当社はLookerの業務活用がかなり浸透しているので、Lookerで 言うとどういう状態ですか?っていうディメンショナルモデリン グの世界感における聞き方もできたのが大きかった。
Slide 34
Slide 34 text
2つの事例を通して これまでもヒアリングを通して攻めのデータモデリングはし ていたが、うまくできるかどうかは属人性が高かった。 「BEAM*テーブル経由のコミュニケーション」という”型”が できたことで、チームとして設計スキルを手に入れられたの がとても大きい成果!
Slide 35
Slide 35 text
積極的に採用中です! まだまだ道半ばなのでお力を貸してください!XでのDMもお待ちしてます! https://product-recruit.timee.co.jp/data