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
つかわれるプラットフォーム 〜デザイン編〜@DPM#2
Search
takegue
December 02, 2019
Technology
2
12k
つかわれるプラットフォーム 〜デザイン編〜@DPM#2
LTの発表資料です
https://data-platform-meetup.connpass.com/event/155073/
takegue
December 02, 2019
Tweet
Share
More Decks by takegue
See All by takegue
不自然言語の自然言語処理: コード補完を支える最新技術
takegue
1
820
カルチャーとエンジニアリングをつなぐ データプラットフォーム
takegue
4
6.2k
toC企業でのデータ活用 (PyData.Okinawa + PythonBeginners沖縄 合同勉強会 2019)
takegue
4
1k
Rettyにおけるデータ活用について
takegue
0
860
Sparse Overcomplete Word Vector Representations
takegue
0
200
Aligning Sentences from Standard Wikipedia to Simple Wikipedia
takegue
0
200
High-Order Low-Rank Tensors for Semantic Role Labeling
takegue
0
120
Dependency-based empty category detection via phrase structure trees
takegue
0
70
A simple pattern-matching algorithm for recovering empty nodes and their antecedents
takegue
0
110
Other Decks in Technology
See All in Technology
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
Engineer Career Talk
lycorp_recruit_jp
0
180
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
530
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
130
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
120
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
いざ、BSC討伐の旅
nikinusu
2
780
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
120
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.4k
SSMRunbook作成の勘所_20241120
koichiotomo
3
160
生成AIが変えるデータ分析の全体像
ishikawa_satoru
0
160
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
43
13k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Producing Creativity
orderedlist
PRO
341
39k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Transcript
つかわれるデータプラットフォーム 〜デザイン編〜 फ़ี %BUB1MBUGPSN.FFUVQ
͜ΕΛ͓͢͠Δਓ फ़ีʢ!UBLFHVF %BUB1MBUGPSN .FFUVQ 3FUUZιϑτΣΞΤϯδχΞ $PSF7BMVF σʔλΞʔΩςΫςΟϯά σʔλͷՁΛ࠷େԽ͢ΔΈઃܭͷ࣮ݱ
ࣥච׆ಈ ʮ༏ઌֶशʹΑΔਪનจ͔Βͷݟग़͠நग़ʯ03ֶձ ʮͬͯΈΑ͏ʂ ػցֶशʢ4PUXBSF%FTJHOʣʯ ʮࢼֶͯ͠Ϳ ػցֶशೖʯ ʮσʔλج൫ͻͱΓ"EWFOU$BMFOEBSʯ /FX ଞʜ
None
None
分析上で発生する悲しみ %BUB1MBUGPSN .FFUVQ
分厚いjoin (わからない)
依存関係を壊したくなくて乱立するオレオレview
整合性が保てるか不安なダッシュボード群
%BUB1MBUGPSN .FFUVQ これらは設計(デザイン)の失敗が原因
分析のためのデザイン %BUB1MBUGPSN .FFUVQ 注意を払うべきデザインの3つの観点をさっくり紹介
42- 1ZUIPO 3 分析のためのデザイン: 42-WT1ZUIPOʁ 利用者を想定した言語(インタフェース)選びも選定基準のひとつ • データアクセスのため目的特化 • 汎用的なプログラムが書きづらい
• エンジンごとに命令セット変わる • コードの保守・運用しづらい • 汎用的なプログラム描きやすい • ライブラリも充実... • 機械学習等への接続も比較的容易 • コードの保守・運用はしやすい
データをディメンションテーブルとファクトテーブルに分けて整理 分析のためのデザイン: εϊʔϑϨʔΫεΩʔϚ %BUB1MBUGPSN .FFUVQ ディメンジョンテーブル: テーブルは非正規化状態で保持 ファクトテーブル: ディメンションに対して集計
ԣ࣋ͪ ॎ࣋ͪ 分析のためのデザイン: ԣ࣋ͪ WTॎ࣋ͪ *% ଐੑ ଐੑ 1 John
Hoge 2 Ben Fuga *% ଐੑ 1 属性1 John 1 属性2 Ben 2 属性1 Ben 2 属性2 Ben • 型制約をつけやすい • 補完がききやすい • 記述が冗長になりやすい • ピボットテーブル向き • 制約の保持が厳しい
BigQuery上での実践: Rettyでの事例 %BUB1MBUGPSN .FFUVQ
データフロー 依存の方向性 データ 置き場
データフロー 依存の方向性 データ 置き場 ディメンション ファクト 原則 横持ち 各 Projectは
指標から選ぶ ビューで 依存関係の明示 単方向の依存 だいたいSQL
イベント層 %BUB1MBUGPSN .FFUVQ - イベントログ系のレコードテーブルを整形、構造化する。 - クロスプラットフォームである程度共通に使えるような構造化 (自前のログ基盤, Firebase, GoogleAnalytics
...) - 不要なカラムや前処理等も行う
エンティティ層 %BUB1MBUGPSN .FFUVQ ドメインにおける主要なエンティティについてまとめる - プライマリテーブル(core); - joinの手間を減らし、使いやすい形式に構造化 - ユニーク制約等を実現
- as-was分析のために各entittyでhistoryを構築 - ディメンジョンテーブル(dim__xxx): 分析カスタム定義のディメンジョン
指標層 %BUB1MBUGPSN .FFUVQ - ファクトテーブルの構築する - 特定の指標の最小粒度(grain)の構築 - 同じデータセット内では、必ず同じ指標を持つ 指標に着目したグルーピング
- 指標のバージョニングの実現(自動生成)
%BUB1MBUGPSN .FFUVQ Q. 誰のためのデザイン?
%BUB1MBUGPSN .FFUVQ 分析者 ステークホルダ 意思決定者 データ基盤 開発者 アプリケーション 開発者 Q.
誰のためのデザイン?
%BUB1MBUGPSN .FFUVQ 分析者 ステークホルダ 意思決定者 データ基盤 開発者 アプリケーション 開発者 転送基盤
分析基盤 レポーティング 基盤 ログ基盤 ヒトとヒトのつなぎめに価値を作る: デザインの問題 Q. 誰のためのデザイン?
☺ %BUB1MBUGPSN .FFUVQ つかいやすい基盤でみんなを幸せになろう!
%BUB1MBUGPSN .FFUVQ