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
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
隣接領域をBeyondするFinatextのエンジニア組織設計 / beyond-engineering-areas
stajima
1
270
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
380
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
200
【若手エンジニア応援LT会】ソフトウェアを学んできた私がインフラエンジニアを目指した理由
kazushi_ohata
0
150
Lambdaと地方とコミュニティ
miu_crescent
2
370
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1k
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
250
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.4k
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
Featured
See All Featured
Done Done
chrislema
181
16k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Scaling GitHub
holman
458
140k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
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
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Become a Pro
speakerdeck
PRO
25
5k
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