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
ディメンショナルモデリングを支えるData Vaultについて
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
10xinc
December 10, 2025
Technology
400
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ディメンショナルモデリングを支えるData Vaultについて
https://connpass.com/event/375524/
での発表内容です
10xinc
December 10, 2025
More Decks by 10xinc
See All by 10xinc
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
410
プロダクト本部カジュアル面談資料
10xinc
0
650
dbtとAIエージェントを組み合わせて見えたデータ調査の新しい形
10xinc
7
3.5k
データエンジニアがこの先生きのこるには...?
10xinc
0
850
株式会社10X - Company Deck
10xinc
90
1.7M
dbt開発 with Claude Codeのためのガードレール設計
10xinc
2
8.7k
会社にデータエンジニアがいることでできるようになること
10xinc
11
8.7k
アセスメントで紐解く、10Xのデータマネジメントの軌跡
10xinc
2
2.5k
スーパーマーケットのこれまでとこれから
10xinc
6
13k
Other Decks in Technology
See All in Technology
AIで実装は速くなった。なのにプロダクトは速くならない。職能の壁を越えて価値のフローを設計する
nwiizo
3
3.1k
【Oracle AI Spotlight ウェビナー】AWSか、Azureか、Google Cloudか。その議論にオラクルを含める意義。
oracle4engineer
PRO
1
200
DGX Sparkを2台使って いろいろ動かす話
sonoda_mj
1
110
PdMをやめて、 "プロダクトビルダー"という 働き方に変えました / PdM to Product Builder
shikichee
2
630
Genie Code ワークショップ 応用編 / Genie-Code-Workshop-advanced
databricksjapan
PRO
0
260
Azure App Service / Container Apps の組み込み認証
kuniteru
0
150
Genie Code ワークショップ 基礎編 / Genie-Code-Workshop-fundamental
databricksjapan
PRO
0
300
生成AI時代の クレデンシャルとパーミッション設計
nrinetcom
PRO
3
1.3k
PM領域でのAI Agentの活用
lycorptech_jp
PRO
0
220
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
0
160
本番に近いテストをもっと手軽に - Postmanで広がるAPIテストの世界 / Expanding the World of API Testing with Postman
yokawasa
1
220
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
170
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Building an army of robots
kneath
306
46k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Cult of Friendly URLs
andyhume
79
7k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
460
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Facilitating Awesome Meetings
lara
57
7.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
990
The agentic SEO stack - context over prompts
schlessera
0
880
For a Future-Friendly Web
brad_frost
183
10k
Transcript
10X, Inc. ALL RIGHTS RESERVED ディメンショナルモデリングを 支えるData Vaultについて アジャイルデータモデリング事例共有会 株式会社10X
Yasuhisa Yoshida
10X, Inc. ALL RIGHTS RESERVED 自己紹介 • 吉田 康久 ◦
Xやはてなidは@syou6162 / id:syou6162 • 株式会社10Xでデータエンジニア ◦ 2022/09に入社 ◦ プロダクト本部 データ基盤チームに所属 ◦ データマネジメント / データガバナンスの仕事をしてます • 京都から働いてます • これまでの職歴としては研究者(NLP & ML) => Webアプリケーションエンジニア, MLエンジニア => データエンジニ ア, Analytics Engineer • データ系のコミュニティが主戦場です ◦ datatech-jpの運営の一人です、Slackをベースに1900人以上が参加 ◦ dbt Community spotlight & Google Developer Expertに選出されました ◦ Data Engineering Studyのアドバイザに就任しました 2
10X, Inc. ALL RIGHTS RESERVED アジェンダ • 背景: 10XとStailerについて •
アジャイルデータモデリング本のよかったところ • 自社のディメンショナルモデリングの継続的な運用で見えた課題 • ディメンショナルモデリングを支えるData Vault • まとめ 3
10X, Inc. ALL RIGHTS RESERVED アジェンダ • 背景: 10XとStailerについて •
アジャイルデータモデリング本のよかったところ • 自社のディメンショナルモデリングの継続的な運用で見えた課題 • ディメンショナルモデリングを支えるData Vault • まとめ 4
10X, Inc. ALL RIGHTS RESERVED • ネットスーパーの運営に必要なすべての機能を提供してい る、国内トップクラスのネットスーパープラットフォーム • 様々な業態・規模・地域のネットスーパー事業を支えてい
ます 5 Stailer ネットスーパー概要 ※2025/06/16時点でレビュー件数が100件以上、複数のアプリを提供している場合はレビュー数の加重平均で比較 導入企業
10X, Inc. ALL RIGHTS RESERVED ネットスーパー運営に必要な全ての要素を提供しています 6 Stailer ネットスーパー事業 -
提供プロダクト 小売事業者向けアプリ ミスが少なく効率的な 業務オペレーションを実現 配達スタッフ向けアプリ スタッフ用アプリと完全連動し、 効率的なルーティングを実施 ネットスーパーアプリ 数万点のSKUからスムーズに お買い物ができる
10X, Inc. ALL RIGHTS RESERVED AI需要予測型アルゴリズムと、誰でも簡単に使える発注要モバ イルアプリを提供 • AI需要予測型アルゴリズム ◦
最適な発注方式の選択 ◦ 客数予測 ◦ 需要予測型による発注勧告数の推定 • 発注アプリ ◦ 片手で発注ができるモバイルアプリ • AIにより、単品毎に商品特性に応じた最適な発注方式を選 択 7 Stailer AI発注概要
10X, Inc. ALL RIGHTS RESERVED アジェンダ • 背景: 10XとStailerについて •
アジャイルデータモデリング本のよかったところ • 自社のディメンショナルモデリングの継続的な運用で見えた課題 • ディメンショナルモデリングを支えるData Vault • まとめ 8
10X, Inc. ALL RIGHTS RESERVED アジャイルデータモデリング本 & 読書会、よかったですね! • ビジネスイベントの型の言語化
• BEAM*でのヒアリングの組み立て方 • BEAM*からイベントマトリックスへ • 典型的なディメンションとよくある課題感の言語化 9
10X, Inc. ALL RIGHTS RESERVED ビジネスイベントの型の言語化 10 図2-1 「ストーリータイプごとのタイムライン」より引用 どのイベントストーリーが適
していそうか判断がしやすく なった
10X, Inc. ALL RIGHTS RESERVED BEAM*でのヒアリングの組み立て方 11 図2-13 「イベントの文書化」より引用 7Wをどういう順序で
ヒアリングすればよいか迷 わないで済む! どういう風にすれば うまくヒアリングできるかの型が あるのはありがたい!
10X, Inc. ALL RIGHTS RESERVED 余談: Kimball GroupのDimensional Modeling Techniques
12 https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/ より引用 当初はこれを使っていた。 コンパクトにまとまっているものの、抽象 的で、慣れていない人が実践するには難 しい側面があった
10X, Inc. ALL RIGHTS RESERVED BEAM*からイベントマトリックスへ 13 図4-6 「イベントマトリックス」より引用 複数のイベントや
ディメンションがあった場合に どういう順序で作っていけばいいか迷 わなくて済む!
10X, Inc. ALL RIGHTS RESERVED 典型的なディメンションとよくある課題感の言語化 • 特に6章の人と組織(Who)、製品とサービス(What)の章は私のお気に入り ◦ モンスターディメンションである顧客ディメンション
▪ スノーフレーク化 / ミニディメンション化 ◦ 従業員ディメンション ▪ 顧客よりは数が少ないが、配属(例: 兼務)やその履歴の扱いの難しさ ◦ 製品やサービス ▪ 6.3章「ステークホルダーたちは、顧客について常に理解不足な一方、自分たちの製品やサービスにつ いてはあまりにも多くのことを知っています!」 ▪ カテゴリ、階層構造 ◦ 個人や法人、製品やサービスなどのスワップ可能ディメンションについて • 典型的なパターンが議論ポイントが網羅されていたので、読書会でも特に盛り上がったパート 14
10X, Inc. ALL RIGHTS RESERVED 総じてよかったところ: 迷うポイントが減った • ステイクホルダー(特に活用者側)とのコミュニケーション、説明スタイル ◦
単純なヒアリングだけでなく、ヒアリングの中でディメンショナルモデリングに必要な要素をどう収集するか • どういうもの(イベント / ディメンション)をどういう順序で作るか • 特に新規で作るときにはいい型になる 15
10X, Inc. ALL RIGHTS RESERVED アジェンダ • 背景: 10XとStailerについて •
アジャイルデータモデリング本のよかったところ • 自社のディメンショナルモデリングの継続的な運用で見えた課題 • ディメンショナルモデリングを支えるData Vault • まとめ 16 スタンスとしては、以下の形で発表します! • ディメンショナルモデリング自体は読書会より前から運用していた • チームメンバー全員がアジャイルデータモデリング本を読んだわけではない • 本の内容を取り込んだら、こういうところがうまくいきそう / それでも難しそう、をまと めていく
10X, Inc. ALL RIGHTS RESERVED アジャイルデータモデリング本だけで全てがうまくいく...とは限らない • 課題その1: 当時のケイパビリティの不足 •
課題その2: 成果物としてのドキュメントの運用の難しさ • 課題その3: ビジネスロジックの実装の難しさ 17
10X, Inc. ALL RIGHTS RESERVED データパイプラインの年表 18 2022年の年始にディメンショナルモデリングの初 期の姿はあった...! 運用が厳しくなり、途中で撤退している
10X, Inc. ALL RIGHTS RESERVED 一昔前のディメンショナルモデリング 19 10Xでのデータ基盤の変遷とこれから: データマネジメントのリアル 〜BtoB企業3社の歩みとこれから〜より引用
10X, Inc. ALL RIGHTS RESERVED 継続的な運用で見えた課題その1: 当時のケイパビリティの不足 • 表層だけのディメンショナルモデリング: ◦
fact_hogeやdim_fugaのような一見ディメンショナルモデリングっぽく見えるが、実は見た目だけ ◦ 粒度がなんとなく決まっているだけで、活用しようとすると重複カウントが起きる ◦ ビジネスキーの設計が適当で、うまくJOINできない(ドリルアクロスなどの分析もしにくい/できない) • キーの命名規則がバラバラ: ◦ しかし実際は命名規則が統一されておらず、キーの役割も曖昧だった • 大福帳化: ◦ 新しいマートにロジックが必要になった際、ファクトやディメンションに安易にカラムを追加 ◦ 「その汎用的なディメンション/ファクトに実装すべき内容なのか?」の判断ができていなかった ◦ 活用者側の要求を早く解決するため、渋々大福帳化させて実装していた側面も 20 アジャイルデータモデリングの内容を 分かっていなかった / 実践できていなかった
10X, Inc. ALL RIGHTS RESERVED 継続的な運用で見えた課題その2: 成果物としてのドキュメントの運用の難しさ • ドキュメント(仕様書)と実装の乖離: ◦
BEAM*やイベントマトリックスなどはドキュメントやシートなどを成果物としていることが多い ◦ 本書内でもドキュメントの継続的な重要性は何度も記述されていた ▪ 4.5章「イベントマトリックスは常に最新状態を保ってください。イベントマトリックスは、初期計画 の手段や一度限りのモデリング手法ではありません。データウェアハウスの設計を継続的に記述するた めに使います。モデルストーミングを行うときはいつでも参照し、更新してください」 ◦ 10Xの場合、Notionで仕様書を管理していた • なぜ乖離が起きたのか? ◦ 新規設計時はやりやすいことが多いが、インクリメンタルな変更時に意識が働きにくい ▪ 既存テーブルへのカラム追加時など ◦ チーム全員が完全に理解 / 適用するのは難しい ▪ 特に途中参加メンバーや業務委託の方 21 ドキュメントベースである設計書を 継続的に運用するのが難しかった
10X, Inc. ALL RIGHTS RESERVED 継続的な運用で見えた課題その3: ビジネスロジックの実装の難しさ • もちろん、書籍には実装面についても記載があった ◦
が、どちらかというとdim / factが備えているべきインターフェイスやその実装についてが多かった印象 ◦ より詳細なビジネスロジックが必要とされる場合、どう実装するか、どこにビジネスルールを置くか明示的な ガイダンスは多くはなかった • 運用していて難しかった点 ◦ ロジックが散在し、SSoT(Single Source of Truth)が崩壊 ▪ 例: GMVらしき計算が複数のSQLファイルに存在 ◦ その中でもSSoTを守ろうとした結果、クエリが複雑になり過ぎる ▪ 例: 初回配送日のカラムの計算でdim_userがfact_orderを参照してしまっている ▪ 例: dim_userやfact_orderは数百行のクエリでメンテナンスが厳しい ◦ ビジネスロジックの種類は多岐にわたり、配置の判断基準がない 22
10X, Inc. ALL RIGHTS RESERVED ビジネスロジックをより整理すると? • A: カラムのrename ◦
CamelCaseをsnake_case化、予約語の単語のケア • B: テスト用ユーザーなどの除外 • C: キーの変換 ◦ ビジネスキーをサロゲートキーに変換 • D: ビジネス判定 / 分類 ◦ ユーザーのセグメンテーション(初回 / 継続 / 復帰 / 休眠など) • E: 集計 / KPI定義 ◦ GVM / CTR / RecencyなどのKPI定義 23
10X, Inc. ALL RIGHTS RESERVED 継続的な運用で見えた課題まとめ • 課題その1: 当時のケイパビリティの不足 ◦
実装者によらず、モデリングや命名規則が徹底されるようにしたい...! • 課題その2: 成果物としてのドキュメントの運用の難しさ ◦ コードベースに紐付いて継続的にメンテナンスされるようにしたい...! • 課題その3: ビジネスロジックの実装の難しさ ◦ SSoTで運用しやすい形にしたい...! 24 とはいえ、活用者が使いやすいディメンショナル モデリングはそのままにしたい!
10X, Inc. ALL RIGHTS RESERVED アジェンダ • 背景: 10XとStailerについて •
アジャイルデータモデリング本のよかったところ • 自社のディメンショナルモデリングの継続的な運用で見えた課題 • ディメンショナルモデリングを支えるData Vault • まとめ 25
10X, Inc. ALL RIGHTS RESERVED アジャイルデータモデリング本のよいところはそのままに 26 データレイク intermidiate Fact
/ Dim ディメンショナルモデリングの ここは使いやすい! BEAM*やイベントマトリックスは変 わらず有用!
10X, Inc. ALL RIGHTS RESERVED ここがしんどい 27 データレイク intermidiate Fact
/ Dim 実装者によってバラバラ うまくモデリングされていない実装 が混じってしまうことも intermediateがうまくいってない悪影 響がFact / Dimにも出てしまう
10X, Inc. ALL RIGHTS RESERVED Data Vaultの導入 28 データレイク Staging
Raw Vault Business Vault Fact / Dim Raw Stage
10X, Inc. ALL RIGHTS RESERVED 復習: ビジネスロジックをより整理すると? • A: カラムのrename
◦ CamelCaseをsnake_case化、予約語の単語のケア • B: テスト用ユーザーなどの除外 • C: キーの変換 ◦ ビジネスキーをサロゲートキーに変換 • D: ビジネス判定 / 分類 ◦ ユーザーのセグメンテーション(初回 / 継続 / 復帰 / 休眠など) • E: 集計 / KPI定義 ◦ GVM / CTR / RecencyなどのKPI定義 29
10X, Inc. ALL RIGHTS RESERVED Data Vaultでデータモデリングを強制 30 データレイク Staging
Raw Vault Business Vault Fact / Dim Raw Stage A: カラムのrename、CamelCaseをsnake_case化、予約語の単語のケア B: テスト用ユーザーなどの除外
10X, Inc. ALL RIGHTS RESERVED StagingからRaw Vaultがモデル化の中心 31 データレイク Staging
Raw Vault Business Vault Fact / Dim Raw Stage C: キーの変換 ビジネスキーをサロゲートキーに変換 Hub: エンティティの定義 Link: エンティティ同士の接続 Satellite: エンティティの属性の履歴管理 詳しくはこちらを参照してください! BEAM*やイベントマトリックスなどヒアリングのアウトプットに基づいて、ビ ジネスイベント(Link)やビジネスディメンション(Satellite)の定義がスムー ズにできる。 Hubも必須のため、適合ディメンションも意識しやすい!
10X, Inc. ALL RIGHTS RESERVED Data Vaultでデータモデリングを強制 32 データレイク Staging
Raw Vault Business Vault Fact / Dim Raw Stage • D: ビジネス判定 / 分類 ◦ ユーザーのセグメンテーション(初回 / 継続 / 復帰 / 休眠など) • E: 集計 / KPI定義 ◦ GVM / CTR / RecencyなどのKPI定義
10X, Inc. ALL RIGHTS RESERVED Data Vaultでデータモデリングを強制 33 データレイク Staging
Raw Vault Business Vault Fact / Dim Raw Stage 最終的な出力はディメンショナルモ デリングのまま!
10X, Inc. ALL RIGHTS RESERVED LLM時代、Data Vaultはよいガードレールにもなる! 34 dbt開発 with
Claude Codeのためのガードレール設計より引用
10X, Inc. ALL RIGHTS RESERVED 継続的な運用で見えた課題がData Vaultでどう解決したか? • 課題その1: 当時のケイパビリティの不足
◦ 求められるケイパはむしろ増したかもしれないが、何を行なう必要があるかがより明確になった ◦ 実装者によらず、モデリングや命名規則が徹底される仕組みになってきた • 課題その2: 成果物としてのドキュメントの運用の難しさ ◦ コードベースに紐付いて継続的にメンテナンスされるように • 課題その3: ビジネスロジックの実装の難しさ ◦ 各種ビジネスロジックをどこでどう実装するかが明確になり、SSoTで運用しやすくなった 35
10X, Inc. ALL RIGHTS RESERVED まとめ • アジャイルデータモデリング本はイイゾ! ◦ ディメンショナルモデリングを念頭においたヒアリングの仕方が分かる
◦ どういう順序でイベントやディメンションを作っていけばいいか整理しやすい • とはいえ、書籍だけだと足りない部分もありそう ◦ ドキュメントの運用の難しさ / ビジネスロジックの実装の難しさ • その解決策の一つとしてData Vaultがあり得る ◦ Data Vaultを3年以上運用して得た学びでも詳しく書いてます • 懇親会でも話しましょう! 36