Slide 1

Slide 1 text

Sansan株式会社 部署 名前 BigQuery データ キャンバスで データモデリングしてみた Sansan技術本部 Sansan株式会社 技術本部研究開発部 中根 洋平

Slide 2

Slide 2 text

アジェンダ ● 自己紹介 ● データモデリングとData Canvas ● まとめ

Slide 3

Slide 3 text

⾃⼰紹介

Slide 4

Slide 4 text

中根 洋平 Sansan株式会社 技術本部研究開発部Architectグループ Data Direction Team インフラエンジニアとしてキャリアをスタート 42Uラックでは飽き⾜らず気がつけばクラウドエンジニアとして雲の 上に⼿を伸ばす Google Cloud を中⼼にデータエンジニア, アーキテクト, CCoEと活動 Google Cloud Partner Top Engineer 2023, 2024受賞 さらなるワクワクを求め2024年4⽉よりSansan株式会社へ データエンジニアとして参画

Slide 5

Slide 5 text

会社概要 4 表参道本社 神山ラボ Sansan Innovation Lab 社 名 Sansan株式会社 所在地 表参道本社 東京都渋⾕区神宮前5-52-2 ⻘⼭オーバルビル13F グループ 会社 Sansan Global Pte. Ltd. (シンガポール) Sansan Global Development Center, Inc.(フィリピン) Sansan Global (Thailand) Co., Ltd.(タイ) ログミー株式会社 株式会社ダイヤモンド企業情報編集社 クリエイティブサーベイ株式会社 株式会社⾔語理解研究所 従業員数 1519名(2024年2⽉29⽇時点) 2007年6⽉11⽇ 設 ⽴ ⽀店:⼤阪、名古屋、福岡 サテライトオフィス:徳島、京都、新潟 拠 点 寺⽥ 親弘 代表者

Slide 6

Slide 6 text

請求 ⼈や企業との出会いをビジネスチャンスにつなげる「働き⽅を変えるDXサービス」を提供 ビジネスフローにおけるさまざまな分野でサービスを展開 名刺管理 名刺DX 営業 営業DX 契約 法務DX 経理DX 個⼈向けDX 法⼈向けDX 必要な情報を すぐに⾒つけられる 情報の管理がしやすく すぐに共有できる 情報を分析・活⽤しやすく データに基づいた判断ができる SansanのDXサービスの活⽤で変わる働き⽅ 働き⽅を変えるDXサービス

Slide 7

Slide 7 text

Data Direction Team データ利活⽤促進のために 本当になんでもやります

Slide 8

Slide 8 text

データにまつわるエトセトラを全⽅位⽀援 アイデア 収集 仮説・検証 フィードバック 振り返り 運⽤・保守 管理

Slide 9

Slide 9 text

Data Direction Teamの守備範囲 ⼈脈情報 コンタクト 情報 企業情報 その他情報 契約情報 請求情報 全社横断データ基盤 企業DB データ構造化 データ連携 データ連携 名寄せ データプロダクト マネジメント Salesforce ※ Salesforce は salesforce.com, inc. の商標であり、許可のもとで使⽤しています。 各種BI 探索的 データ分析 In-house solution

Slide 10

Slide 10 text

Data Direction Teamは データを使って5分で 意思決定できる世界を作る

Slide 11

Slide 11 text

なので データ利活⽤促進のために 本当になんでもやります

Slide 12

Slide 12 text

データモデリングとData Canvas

Slide 13

Slide 13 text

本⽇お話する「データモデリング」は広義のモデリングではなく、分析にお けるデータマートモデリングを例とします 本⽇のお話におけるデータモデリング

Slide 14

Slide 14 text

DDTの業務を例に以下のフェーズについてData Canvasを利⽤するお話をし たいと思います。 本⽇のお話におけるストーリー

Slide 15

Slide 15 text

⼩劇場 古⽶新⽶ナカネくん

Slide 16

Slide 16 text

ペルソナ: ナカネ-san ● 最近SansanにJOINしたばかりのデータエンジニア ● PythonとRとSQLを嗜む ● データ基盤/クラウドサービスはそこそこ ● ドメイン知識はまだまだ ● データ中⾝を⾒ないと不安 データエンジニアの1⽇のはじまり 今⽇も1⽇がんばるぞい

Slide 17

Slide 17 text

事の始まりは相談から 新機能の追加案を検討するにあたり 既存ユーザーの利⽤傾向を調査をしたい (パイセン)利⽤動向のイベントデ ータなら収集済みだからすぐに出 せます (パイセン)イベント名xxxで その利⽤傾向は表せそう

Slide 18

Slide 18 text

必要なデータは? 過去の似たような アーティファクト データに関する ドキュメント 実際のデータ

Slide 19

Slide 19 text

実際に確認しないとわからないこともある 資料からわからないこと ● サンプリングにおけるデータ量 ● データ傾向・季節性 ● ビジネス・プロダクト観点で必要な 要素 ● SQLロジックの実装背景

Slide 20

Slide 20 text

どうしようか、、、 そんなとき

Slide 21

Slide 21 text

ホットな情報 from ネバダ Google Cloud Next '24による発表 使ってみる?

Slide 22

Slide 22 text

ちょっとその前に

Slide 23

Slide 23 text

ちょっとその前に Sansanでは⾮常にセキュリティを⼤事にしています。

Slide 24

Slide 24 text

とっても⼤事なセキュリティ ⼈脈情報 コンタクト 情報 企業情報 その他情報 契約情報 請求情報 全社横断データ基盤 企業DB データ構造化 データ連携 データ連携 名寄せ データプロダクト マネジメント Salesforce ※ Salesforce は salesforce.com, inc. の商標であり、許可のもとで使⽤しています。 各種BI 探索的 データ分析 In-house solution

Slide 25

Slide 25 text

セキュリティを守ることはもちろん、⾼セキュリティを維持し続けるために いろいろな取り組みをしています。 棚卸しドリブン開発 とっても⼤事なセキュリティ rm -rf $HOME/* 年に複数回データ棚卸し そのため本資料のデータはすべてダミーデータとなります。

Slide 26

Slide 26 text

ちょっとその前に データ基盤 アーキテクチャ図

Slide 27

Slide 27 text

データモデリング

Slide 28

Slide 28 text

モデリングの流れ 1. データへのアクセス 2. メタデータの確認 3. モデリングのためのEDA 4. モデリング 5. レビュー

Slide 29

Slide 29 text

データへのアクセス ● データ基盤へのアクセスはすべてBotによるワークフローにて管理 ● 恒常的にアクセスしてもよいデータは利⽤開始時に申請 ● セキュアなデータは期限付き承認とし都度申請が必要 24時間たったら再申請してね

Slide 30

Slide 30 text

データキャンバスの⼀番最初は⾃然⾔語 or キーワード検索 メタデータの確認

Slide 31

Slide 31 text

テーブルノードからクエリを実施可能 モデリングのためのEDA

Slide 32

Slide 32 text

親ノード結果を⼀時テーブルとしているため処理を経ることにより データ処理量も削減 結構便利な⼀時テーブルによるデータ処理量の削減

Slide 33

Slide 33 text

● データの可視化も可能 ● AIによるサマリ(英語)もあり キャンバスのちょっと前から使えるようになった可視化

Slide 34

Slide 34 text

ノード作業毎のリレーションが視覚的 EDAもtidyに

Slide 35

Slide 35 text

Let's モデリング

Slide 36

Slide 36 text

ほぼEDAと同じ流れ ● サンプリングデータから開始 ● EDAの結果を基に仮説検証パターンにおける変 更ポイントを意識しCTE毎にノード化 ● JOINによるハレーションには特に気をつける モデリング

Slide 37

Slide 37 text

● データキャンバスはリソースツリーに表⽰ ● 共有されたキャンバスのデータは⼀時テーブルのため他のユーザーが キャンバスを開いただけでは結果は⾒えず各ノードの実⾏が必要 作ったものをレビュー

Slide 38

Slide 38 text

1. データへのアクセス 2. メタデータの確認 3. EDA 4. モデリング 5. レビュー まとめ ● IAM ● データキャンバス ● データキャンバス ● データキャンバス ● データキャンバス ⼋⾯六臂の活躍

Slide 39

Slide 39 text

● キャンバスのフローからSQLへ移⾏しやすい ● 処理がBigQuery内にて完結 ● データを持ち出さず共有が可能 Good

Slide 40

Slide 40 text

Good: キャンバスのフローからSQLへ移⾏しやすい with posts_answer as ( select id as post_id, creation_date as created_at, 'answer' as type, title, body, owner_user_id, cast(parent_id as string) as parent_id from foobar_posts_answers where creation_date >= timestamp("2022-01-01") ), posts_questions as ( select id as post_id, creation_date as created_at, 'question' as type, title, body, owner_user_id, parent_id from hogehoge_posts_questions where creation_date >= timestamp("2022-01-01") ), user_group_foo as (

Slide 41

Slide 41 text

● データエクスポート不要 ● 処理ロジックは標準SQLのみ ○ DDTではTransform処理はdbt中⼼ ○ Data Canvasでの営みはポータビリティが⾼くなる(のでは?) Good: 処理がBigQuery内にて完結

Slide 42

Slide 42 text

● 確認・共有・可視化の何れの処理でもデータ移動が不要 ○ ノートブックやスプレッドシートとの明確な差別化 ○ 処理データはユーザーの⼀時テーブルとなるため最⻑24時間後には消える ○ 他のユーザーが参照する際は参照ユーザーの権限にてジョブの実⾏が必須 Good: データを持ち出さず共有が可能

Slide 43

Slide 43 text

● セキュリティは完璧ではない ● UXはまだまだ ● AI⽣成クエリの精度 But not perfect

Slide 44

Slide 44 text

● クエリ結果は保存されないが可視化のデータは保存される Bad: セキュリティは完璧ではない

Slide 45

Slide 45 text

● ノードが増えると重くなる ● 共有は良いがコラボレーションはまだまだ ● ノード間の参照が分かりづらい Bad: UXはまだまだ

Slide 46

Slide 46 text

検証したデータはメタデータが少ないからか存在しないテーブルを指定 Bad: AI⽣成クエリの精度 actionsなんてない、、、

Slide 47

Slide 47 text

まとめ

Slide 48

Slide 48 text

Good ● キャンバスのフローからSQLへ移⾏しやすい ● 処理がBigQuery内にて完結 ● データを持ち出さず共有が可能 まとめ Bad ● セキュリティは完璧ではない ● UXはまだまだ ● AI⽣成クエリの精度

Slide 49

Slide 49 text

まとめ どう?

Slide 50

Slide 50 text

まとめ: DDTメンバーのリアクション 使い道が限定的 ノートブックで 良いのでは? ざっくりとした モデリングなら

Slide 51

Slide 51 text

まだまだリリースされたばかりのサービス ユーザーからのフィードバックにてより良くなっていくことを期待 まとめ

Slide 52

Slide 52 text

Sansan 研究開発部 採⽤情報 https://media.sansan-engineering.com/randd

Slide 53

Slide 53 text

We're hiring! データを使って5分で 意思決定できる世界を作る

Slide 54

Slide 54 text

No content