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
スケーラブルなデータ収集と活用の舞台裏 / scalable data infrastruct...
Search
to_lz1
July 09, 2020
Technology
0
9.3k
スケーラブルなデータ収集と活用の舞台裏 / scalable data infrastructure of M3
2020-07-09 コロナ時代の医療業界を支援するエムスリーのプロダクト開発の舞台裏
to_lz1
July 09, 2020
Tweet
Share
More Decks by to_lz1
See All by to_lz1
Webエンジニアのためのデータエンジニアリング概説
mtoriyama000
6
770
Other Decks in Technology
See All in Technology
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.8k
TypeScript、上達の瞬間
sadnessojisan
46
13k
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
210
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
470
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
2
520
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
180
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
160
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.2k
[FOSS4G 2024 Japan LT] LLMを使ってGISデータ解析を自動化したい!
nssv
1
210
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Gamification - CAS2011
davidbonilla
80
5k
Statistics for Hackers
jakevdp
796
220k
A better future with KSS
kneath
238
17k
How GitHub (no longer) Works
holman
310
140k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Adopting Sorbet at Scale
ufuk
73
9.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
Transcript
スケーラブルなデータ収集と活用の舞台裏 ~ Web講演会を例に ~ 2020-07-09 コロナ時代の医療業界を支援するエムスリーのプロダクト開発の舞台裏
自己紹介 鳥山 誠 (Toriyama Makoto) 入社: 2020年1月 趣味: 音楽 前職:
人材系企業 - 社内Webシステムを作ったり (Angular, Scala) - クエリパイプラインを構築したり (Redshift, Digdag) 所属: Unit1 - 製薬企業向けPF
製薬企業向けプラットフォーム - MR君 (2000~) - Web講演会 (2011~) エムスリー創業期からのサービス群 m3.com上で医師へ薬剤などの情報提供 ×
製薬企業のマーケティング支援
Web講演会 m3.com上で行うオンラインの講演会 (最近アプリも出ました =>) - 例: - 製薬会社、医療機器メーカー主催の医師向け講演会 - 看護師、薬剤師向けの薬剤、機器の説明会
=> 正にいま「医療関係者の情報収集」に貢献しうるサービス
(当社IR資料より抜粋)
そんな勢いで増える「データ」をどう扱っているのか?
「データ」を扱う どう集めているのか? => 収集 どう使っているのか? => 活用
どう集めているのか? => 収集 どう使っているのか? => 活用 …の2つに焦点を当ててお話しします 「データ」を扱う
データの”収集”
Web講演会サーバはOn Premise + AWS (移行中)、ログ送信先はGCP (最近全面移行した) Webビーコン方式のアクセス解析ツールを自前実装 + 視聴予約・視聴 (RDBトランザクション)
視聴ログ送信(一定時間ごとビーコン送信) Web講演会の視聴データの話
- Cloud Runがオートスケールしリクエストをさばく - ログをPub/Subにエクスポート、BigQueryに連携 GCP構成図
- ログデータは先述の仕組み (+α) でリアルタイムに連携 - DBのデータは、Digdag+EmbulkでBigQueryに連携 - => BigQuery上で双方を組み合わせた分析が可能 BigQueryはデータ基盤の中心
データの”活用”
データ活用と言っても...
今日はあえてこちら
データ分析観点はサービスの成長とともに変わっている 過去: MR君(= 医師向けメッセージ) => 配信数と既読率を追う。以上! 現在: - 講演会の視聴率はどうだったか? -
講演会に至るまでのアクセス動線は? - メッセージ添付の動画・コンテンツまで見てもらえているか? - 医師からのフィードバック・アンケート回答内容はあるか? => 分析要件が複雑化・多様化 「データ分析」って集計するだけでは?
- オンプレの分析用Oracleに、諸々のチームが諸々の技術で ETL - Java製ツールで非Engでもデータ抽出できる - => 便利だが、増えるデータに対応できない && データ定義が管理しきれない
... かつてのデータ分析基盤 「データは出たけどこれ正しいんだっけ?」 PdM
- BigQueryに集まったデータを BIツールで分析 - 利用を促進するため、各種データマートを構築(進行中) クラウドでやりましょう
- Oracleデータ + ログデータ + Salesforceデータを材料に、データマートに統合 - 昨日までの実績がすぐに可視化される世界 => 意思決定を支援
活用事例1: プロダクトマネージャ向けダッシュボード
- GCPのData Catalogによるメタデータ管理を行っている - descriptionを丁寧に書く => デプロイしたら即テーブル定義を確認できる 活用事例1: プロダクトマネージャ向けダッシュボード
- メンテナンス困難になっていた CSV付きレポートメール (Shell製) - BQ上でデータマートを構築し、データマートから出力 (同時にPythonにした) - 大規模配信のレポートが安定して出力できるように 活用事例2:
クライアント向けレポート (100~200通/日 程度)
構成図
- 全サービスのKPIがすぐ追える世界 - ETL基盤をいい感じにクラウド化する - データ基盤そのものをクライアントと共有して、更なる価値提供 - etc... この先やりたいこと
まとめ - データ基盤は「収集」と「活用」両方のスケーラビリティが大事 - エムスリー、歴史のあるサービスも頑張っています - まだまだやれることがたくさんあります!!