Share
Embed
ユーザーライクなセマンティックレイヤーの命名を探求してみた
2025/04/09に開催されたtokyo dbt meetup #13の登壇資料です
https://www.meetup.com/tokyo-dbt-meetup/events/306580436/
okodoon
April 09, 2025
Transcript
46 slides
-
CopyRight © Timee,inc. 2023 - CONFIDENTIAL 自己紹介 大河戸裕一 (okodoon)
X: @miburo_data(データの話と寺の話半々) BackendEngineer=> Analyst=> AnalyticsEngineer/DataEngineer -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL ざっくりまとめ • セマンティックレイヤーのインターフェースである LookerExploreの命名を整理しました
◦ スタースキーマのデザインパターンごとに命名しました。(パターンごとに ユーザーの使用感が大幅に変化するため) ▪ ユーザーアンケートをとる形で決定しました。 ◦ ロールプレイングディメンションを利用した、文脈に応じたプロパティの命 名を実施しました -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL タイミーのデータ活用 様々な規模・業種・業態のお客様 ・ヘルススコアの監視
・お客様に合わせた提案 ・新規ドメインの開拓 など特殊化されたアウトプットを提供 データ アウトプット セールスメンバー データメンバー -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL データメンバー セールスメンバー タイミーのデータ活用 様々な規模・業種・業態のお客様
ヘルススコアの監視 お客様に合わせた提案 新規ドメインの開拓 データ アウトプット ドメインごとに求められるものが多岐 にわたる 神ダッシュボードを作れず、都度の アウトプットに疲弊 -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL タイミーのデータ活用 様々な規模・業種・業態のお客様 自身でお客様のドメインに
対応したアウトプットを作成 都度のアウトプットではなく セマンティックレイヤー を提供 Looker 提案 セールスメンバー -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL セールスメンバー タイミーのデータ活用 様々な規模・業種・業態のお客様
自身でお客様のドメインに 対応したアウトプットを作成 都度のアウトプットではなく セマンティックレイヤー を提供 Looker 提案 670人(社員の半数)/月 がLookerを利用している状態 (2025/04/09現在) -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL タイミーのデータ活用 圧倒的な組閣変更 スピード 生まれ続ける
たくさんの施策 指標やアウトプットの陳腐化が激しい => SSoTの重要性⬆ -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL Lowスキルのビジネスユーザーがメインユーザー 月毎の新入社員も多くデー タ構造やSQLの教育をする のは追いつかない
営業メンバーが大多数 SQL経験が無い方が多い ビジネス用語をSQLに変換できるセマンティックレイヤーの重要度が高い -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL semantic layerの構築方法 ディメンショナルモ デリング
ワイドテーブル セマンティックレイ ヤー -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL semantic layerの構築方法 ディメンショナルモ デリング
ワイドテーブル セマンティックレイ ヤー 参照回数が多いので パフォーマンス目的で事前 にJOINして、widetable化 ビジネスドメイン上の用語名 とテーブルのカラム名をマッ ピング metricsの集計方法を定義 -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL 当社Lookerの問題点 探索環境の一覧画面の一部を再現したもの 事業数値とは?
他と命名が違うが、トランザク ションファクトではある 実はスナップショット ファクト 実は逆スタースキーマ 募集&マッチングとは? 探索環境って付かない やつもあるんかい コンフォームドディメンションでファクトが接続されている -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL 当社Lookerの問題点 探索環境の詳細画面の一部を再現したもの この店舗とこの店舗でビジネス
上のニュアンスが実は違う グループ探索環境の 「会社」って何? -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL 当社Lookerの問題点 ビジネスユーザーに伝わるもの になっていない!!
(一部環境しか使われてない) というか開発者にもアナリストに も伝わらない -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL 命名を改善するための進め方 ・分類をする
・分類をユーザーに認知してもらう ・分類ごとに命名案を作成する ・命名案のアンケートをとる -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL 当社で作った分類 • トランザクションファクトのスタースキーマ
◦ 何かしらの処理や何かしらの行動をした時に発生する指標を出 力できる環境 • スナップショットファクトのスタースキーマ ◦ あるセグメントや合計値の推移を出力できる環境 • 逆スタースキーマ ◦ ファクトではなくエンティティを絞り込めるような環境 -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL 定義した探索環境の種類 • トランザクションファクトのスタースキーマ ◦
ユーザー向け説明:「何かしらの処理や何かしらの行動をした時に発生す る指標を出力できる環境」 ユーザー向け概念図 -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL 定義した探索環境の種類 • スナップショットファクトのスタースキーマ ◦
ユーザー向け説明:「セグメントや合計値の推移を出力できる環境」 ユーザー向け概念図 -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL 定義した探索環境の種類 • 逆スタースキーマ ◦
ユーザー向け説明:「モノ・コト・ヒトの一覧を出力できる環境」 ユーザー向け概念図 -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL 定義した探索環境の種類 トランザクションファクト •
プロセスの主語述語をはっきりさせるパターン ◦ ワーカーが募集に応募する, 企業がグループを作成する • 「プロセスで発生した指標」ってことを意識づけるパターン ◦ ワーカー応募時発生指標, グループ作成時発生指標 • プロセスの名前を簡潔に表現するパターン ◦ 応募, グループ作成 -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL 定義した探索環境の種類 スナップショットファクト •
推移って言葉を使うパターン ◦ ワーカー数推移, アクティブユーザー数推移, • スナップショット頻度 + 推移 ◦ ワーカー数日毎推移, アクティブユーザー数日毎推移 • スナップショットって言葉を使うパターン ◦ ワーカー数スナップショット, アクティブユーザー数スナップショット -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL 定義した探索環境の種類 逆スタースキーマ •
リストって言葉を使うパターン ◦ ワーカーリスト, 会社リスト • マスタって言葉を使うパターン ◦ ワーカーマスタ, 会社マスタ -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL 定義した探索環境の種類 トランザクションファクト •
プロセスの主語述語をはっきりさせるパターン ◦ ワーカーが募集に応募する, 企業がグループを作成する • 「プロセスで発生した指標」ってことを意識づけるパターン ◦ ワーカー応募時発生指標, グループ作成時発生指標 • 👑プロセスの名前を簡潔に表現するパターン ◦ 応募, グループ作成 -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL 定義した探索環境の種類 スナップショットファクト •
推移って言葉を使うパターン ◦ ワーカー数推移, アクティブユーザー数推移, • 👑スナップショット頻度 + 推移 ◦ ワーカー数日毎推移, アクティブユーザー数日毎推移 • スナップショットって言葉を使うパターン ◦ ワーカー数スナップショット, アクティブユーザー数スナップショット -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL 定義した探索環境の種類 逆スタースキーマ •
👑リストって言葉を使うパターン ◦ ワーカーリスト, 会社リスト • マスタって言葉を使うパターン ◦ ワーカーマスタ, 会社マスタ -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL 反応(1日目) • Exploreの名前 ◦
良さそうな気はする。要は慣れですね ◦ 過去の命名との対応表ください 😭 ◦ 固有名詞感が薄れて、会話に使いづらくなった印象 • ロールプレイングディメンション ◦ 純粋にわかりやすくなった ◦ このExploreの意味がやっとわかった -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL 補足: wide_tableを参照する Lookerの開発 ディメンショナルモ デリング
ワイドテーブル セマンティックレイ ヤー wide_tableを参照する形にすると - Dimensionの重複が起きて LookMLがDRYにならないのでは? - Joinする時にview_labelを設定できる機能が使えないのでは? と質問を受けたので軽く補足 上で紹介したこの構成で -
CopyRight © Timee,inc. 2023 - CONFIDENTIAL 補足: wide_tableを参照する Lookerの開発 extends extends
ディメンショナルモデリングベースで 分割された lkmlファイル explore単位で作られた wide_tableと接続 するlkmlファイル dimension fact wide_table 擬似的にLooker上でJOINみたいなことをして DRYに記載!