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
カルチャーとエンジニアリングをつなぐ データプラットフォーム
Search
takegue
September 05, 2019
Technology
4
6.2k
カルチャーとエンジニアリングをつなぐ データプラットフォーム
https://data-platform-meetup.connpass.com/event/142822/
takegue
September 05, 2019
Tweet
Share
More Decks by takegue
See All by takegue
不自然言語の自然言語処理: コード補完を支える最新技術
takegue
1
820
つかわれるプラットフォーム 〜デザイン編〜@DPM#2
takegue
2
12k
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
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
Application Development WG Intro at AppDeveloperCon
salaboy
0
190
社内で最大の技術的負債のリファクタリングに取り組んだお話し
kidooonn
1
550
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
310
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
130
AGIについてChatGPTに聞いてみた
blueb
0
130
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
120
Engineer Career Talk
lycorp_recruit_jp
0
180
いざ、BSC討伐の旅
nikinusu
2
780
Taming you application's environments
salaboy
0
190
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
130
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
A Tale of Four Properties
chriscoyier
156
23k
Writing Fast Ruby
sferik
627
61k
How to Ace a Technical Interview
jacobian
276
23k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Automating Front-end Workflow
addyosmani
1366
200k
The Invisible Side of Design
smashingmag
298
50k
Why Our Code Smells
bkeepers
PRO
334
57k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Transcript
カルチャーとエンジニアリングをつなぐ データプラットフォーム 竹野 峻輔 Data Platform Meetup #1
みなさんデータ使ってますか Data Platform Meet up #1
そのデータは価値を届けられていますか Data Platform Meet up #1
データを扱っていて辛くなったことありませんか Data Platform Meet up #1
データ基盤つくらば穴二つ... 分析者 / サイエンティスト / 機械学習 基盤 / インフラ
なぜ私がデータ整備しないといけない のか データ利用の交渉だけで時間の大半を使う 前処理が9割 ビッグデータ(Excel) 再現できない分析 パイプライン長すぎ ... テーブル・ログがカオス 作ったものの誰も使わない箱物 使う人はたくさんいるのに 作る人がいない ... 自社サービスなのに クローリングする必要がある ワークフローがカオス 更新されていないテーブル (で、された分析たち) サービスの都合で壊れる Data Platform Meet up #1 他人のSQLは読めない
何かがおかしい Data Platform Meet up #1
「幸福なデータ基盤はどれも似たものだが、 不幸なデータ基盤はそれぞれの仕方で不幸である。」 編集 from レフ・トルストイ ー『アンナ・カレーニナ』冒頭の一節 Data Platform Meet up
#1
出典: How do Data Professionals Spend their Time on Data
Science Projects? Data Platform Meet up #1
データを扱う人の50%は準備に時間を使っている (そしてこれには ”プロジェクト”の前処理時間は含まれていない) Data Platform Meet up #1
なぜこんなにもデータを扱うのが大変なのか? Data Platform Meet up #1
Data Platform Meet up #1
これをお話しする人 竹野 峻輔(@takegue) Data Platform Meet up #1 Retty
← 修士(NLP; 機械翻訳)← 高専 Core Value @Retty: データアーキテクト データの価値を最大化する仕組み/設計の実現 執筆活動: 「優先度学習による推薦文からの見出し抽出」OR学会 「やってみよう! 機械学習 (Sotware Design)」 「試して学ぶ 機械学習入門 」他…
サービス紹介 Data Platform Meet up #1
None
None
Data Platform Meet up #1
None
プロダクトを支える分析チーム - チーム編 詳細は以下の記事: Rettyの意思決定を最大化!データ分析チームの取り組みをご紹介 Data Platform Meet up
#1 https://engineer.retty.me/entry/2018/12/18/115020
Rettyここ数年の活動 Data Platform Meet up #1 4,000 46,000
Rettyここ数年の活動 Data Platform Meet up #1 4,000 46,000
Rettyここ数年の活動 Data Platform Meet up #1 4,000 Query / 月
46,000 Query / 月 (2017/11/01) (2019/8/01)
Rettyここ数年の活動 Data Platform Meet up #1 4,000 Query / 月
46,000 Query / 月 (2017/11/01) (2019/8/01)
Rettyここ数年の活動 Data Platform Meet up #1 4,000 Query / 月
46,000 Query / 月 自動化等の動き (2017/11/01) チーム発足 (2019/8/01) 自動化&仕組み化 色々スケーリング
プロダクトを支える分析チーム - 実践編 詳細は以下の記事: ベンチャー企業におけるDWH DevOps @ Retty
Data Platform Meet up #1 https://engineer.retty.me/entry/2018/12/15/120322_dwh
Data Platform Meet up #1 大事にしていること:
「価値のデリバリ」 Data Platform Meet up #1 大事にしていること:
「データが生む価値とは何か?」 Data Platform Meet up #1
データが生む価値とは何か? Data Platform Meet up #1 https://www.reddit.com/r/ProgrammerHumor/comments/asejke/every_day_at_work/
データが生む価値とは何か? Data Platform Meet up #1 https://www.reddit.com/r/ProgrammerHumor/comments/asejke/every_day_at_work/
データが生む価値とは何か? Data Platform Meet up #1 頭の中にユーザはいない; 推測するな、計測しろ https://www.reddit.com/r/ProgrammerHumor/comments/asejke/every_day_at_work/
データが生む価値とは何か? Data Platform Meet up #1 データは大事だけど価値を産まない
データが生む価値とは何か? Data Platform Meet up #1 データは大事だけど価値を産まない 得られた「データ」自身は 恣意的で偶発的ですぐ嘘をつく •
作り手のコンテキストのバイアスも多分に含まれる。 • サービスにおいては同じデータが同じように生まれる時は二度と来ない。 • 様々な理由によりデータは嘘をつく 同じデータでも異なる決断が行われる どちらを選ぶか?: 「資産が10%の確率で10倍、1%の確率で100倍」
データが生む価値とは何か? Data Platform Meet up #1 データは大事だけど価値を産まない 得られた「データ」自身は 恣意的で偶発的ですぐ嘘をつく •
作り手のコンテキストのバイアスも多分に含まれる。 • サービスにおいては同じデータが同じように生まれる時は二度と来ない。 • 様々な理由によりデータは嘘をつく 同じデータでも異なる決断が行われる どちらを選ぶか?: 「資産が10%の確率で10倍、1%の確率で100倍」 一方で、公平ではある (≠ 客観性がある)。見る人全員に、ひとつの事実 (嘘も含む)を示す。
データが生む価値とは何か? Data Platform Meet up #1 データの一番の価値は「データが言語であること」 - 英語は「みんなが話す」からこそ重要である。 -
数式は「誰が話しても同じ」だからそ重要である
データが生む価値とは何か? Data Platform Meet up #1 データの一番の価値は「データが言語であること」 - 英語は「みんなが話す」からこそ重要である。 -
数式は「誰が話しても同じ」だからそ重要である 「言語」では関心によって、新しく「言葉」がうまれる。これが一番の効果。 - モンゴル語: 家畜に関する表現が細部化 - 日本語: 四季に関する表現
「言語」としてのデータ Data Platform Meet up #1 では、プロダクト・組織における「関心」とは何か
カルチャー Data Platform Meet up #1
「カルチャー」がデータの価値を定義する Data Platform Meet up #1 • カルチャーとは価値基準 (外見) ◦
難しい技術を使うことを価値にする組織もある ▪ 希少性が出るため社会全体で価値がでる ◦ 一方で、簡単な技術を使って、価値にする組織もある (参考: 枯れた技術の水平思考 ) • Rettyでもっとも尊ぶべき価値基準は「User Happy」 • 話せる言語にしていくのがデータプラットフォームのゴール
「カルチャー」がデータの価値を定義する Data Platform Meet up #1 とはいえ、現実は簡単にはうまくいかない 「カルチャー」が「データの価値」を決めるとわかったところで 「価値のデリバリ」には至らない なぜか?
- 大量のデータを簡単に扱うことはそもそも難しい( 簡単にするだけでで時間の 9割を使う) - そして、そもそもどういう言葉を話したいか決まっていないからである - 英語を公用語にする難しさと、データで会話するようになる難しさは似ている - +話せる言葉を作る難しさが生じるためである
エンジニアリング Data Platform Meet up #1
大量のデータを扱うのはそもそも難しい Data Platform Meet up #1 エンジニアリングとは実現水準(中身) ◦ 外見に中身は追いつかないといけない i.
頭の中がお花畑でも悲観的でもよくない ii. 箱物(内政プラットフォーム ) にしてはいけない ◦ 現実には様々な制約が存在する i. サービス規模、ユーザ規模、アプリケーション規模 お金, 時間, 人の関心を含めた様々な制約。 ◦ そのなかで、早く・安く・うまいが目指せると良い i. 早く: なるべく早くデータを使える状態 ii. 安く: 大量のデータを転送するコストやキャパシティを適切に設定し最適化する iii. うまい: 正しいデータ。データから得られる価値を最大化する必要がある
Data Platform Meet up #1 カルチャー エンジニアリング
Data Platform Meet up #1 カルチャー エンジニアリング このギャップをいかに埋めるか? 2つの観点
Data Platform Meet up #1 カルチャー エンジニアリング サイエンス 必要の発見: 発見のためには道具がいる。プロセスの科学
◦ 価値基準から「to be」を見出すことは、新しい道具を作る動機となる ◦ 良い道具を発明することにより優れた価値基準が追求できるようになる * 今もっている道具は虫めがね?それとも顕微鏡?それとも望遠鏡?
Data Platform Meet up #1 カルチャー エンジニアリング デザイン 仕組みの意味化: カタチが決まるとヒトの動きも決まる
◦ 必要なことを自然と正しく行える; アーキテクチャ ◦ 変わりやすいものと変わらないものをちゃんと見極める
Data Platform Meet up #1 カルチャー エンジニアリング サイエンス デザイン
Data Platform Meet up #1 カルチャー エンジニアリング プラットフォームのスコープ サイエンス デザイン
プラットフォームへ落とし込む Data Platform Meet up #1
データ基盤つくらば穴二つ... (再掲) 分析者 / サイエンティスト / 機械学習エンジニア 基盤開発者 /
インフラ なぜ私がデータ整備しないといけない のか データ利用の交渉だけで時間の大半を使う 前処理が9割 ビッグデータ(Excel) 再現できない分析 パイプライン長すぎ ... テーブル・ログがカオス 作ったものの誰も使わない箱物 使う人はたくさんいるのに 作る人がいない ... 自社サービスなのに クローリングする必要がある ワークフローがカオス 更新されていないテーブル (で、された分析たち) サービスの都合で壊れる Data Platform Meet up #1 他人のSQLは読めない
事例から学ぶ 「安易な役割分担は、サイロ化を起こす」
「データの品質」は「データエンジニア」だけの関心か? Data Platform Meet up #1 • 「分析の品質」: Garbage In,
Garbage Out ◦ 「データの良し悪し」 は分析の品質の重要な要素 ▪ 優れた料理人は手に馴染む良い道具 で良い食材を使って良い料理を作る • 料理人に畑を耕させるのは違う。この線引きは頑張る • リソース効率ではなくフロー効率に着目する ◦ チームで最大化したいのは「データ出しの量」ではない ◦ 属人化した分析もまたサイロ化をうむ ; 優れた人の寄せ集めだけでもダメ (チームの必要性) Rettyでのひとつの答え → DWHを「分析者のプロダクトにする」
データプラットフォーム 〜 分析者にとっての「プロダクト」にする Design Build from The Architect's Handbook of
Professional Practice: Architect-Led Design-Build こうではなく
データプラットフォーム 〜 分析者にとっての「プロダクト」にする Design Build Build Design from The Architect's
Handbook of Professional Practice: Architect-Led Design-Build こうではなく こう ナレッジを持つ人がプラットフォームにコミットする
Rettyでの現状の取り組み • 「50%の時間を削る」ではなく「 50%の時間をインサイトがたまる時間」にする • インターフェースをSQLだけ、シンプルに絞る ◦ DWHへのETLのELぐらいに止める。頑張りすぎない ◦ 大事なViewにテストを書く:
SQLでテストを書く → 分析者の仮定がコードになる ◦ そのためのツール整備、交通整理を行う ダッシュボードツールやスプレッドシートなど • 少人数の派遣型の分析の取り組みによりドメイン知識がだんだんとチームに集約 ◦ そして、そのナレッジを持つ人がプラットフォームにコミットする (Knowledge As Code) • プロダクトの知見をおおよそチーム・基盤に集約ができてきた ◦ 分析者をその観点や指標の推移をすぐに知ることができる (時間がないので手短に )
発表のまとめ 1 Data Platform Meet up #1 ドメインを持つもの人がプラットフォームの最前線で開発する 2 カルチャー(価値基準)
と エンジニアリング(実現水準)をつなげる ヒト・モノ・コトのつなぎ目に価値は生まれる 安易な分割はしない; 前線で全ての知識が集まるようにする;そのための交通整理・整備を行う Rettyのプラットフォームとしての取り組みの考え方を紹介
おわり Data Platform Meet up #1