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 infrastructure of M3
Search
to_lz1
July 09, 2020
Technology
0
8.9k
スケーラブルなデータ収集と活用の舞台裏 / 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
500
Other Decks in Technology
See All in Technology
Hands-on / Kaname Frusawa / Cloud Compare Users Meetup 2024 at University of Tokyo on April 17
paraworld
2
470
0→1開発における技術選定において一番大切なこと
bicstone
1
330
スタートアップの技術顧問を3年間続けて発生した事と気付き
biwakonbu
0
160
「ふりかえりのふりかえり」をふりかえり、実のあるふりかえりにする
naitosatoshi
0
220
プロデザ! BY リクルート vol.18_リクルートのリサーチ実践組織「リサーチブーストコミュニティ」
recruitengineers
PRO
3
240
Algyan イベント振り返り
linyixian
0
190
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
120
Data and AI Governance: Existing Challenges and Emerging Trends
scotthsieh825
0
160
"好き"との生活/Regularly update profile with GitHub Actions
judeeeee
0
150
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
4
110
自動生成を活用した、運用保守コストを抑える Error/Alert/Runbook の一元集約管理 / Centralized management of Error/Alert/Runbook to minimize operational costs using automated code generation
biwashi
9
2.1k
Microsoft Cloudで開発ライフサイクルを保護する
kkamegawa
0
140
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
42
6.7k
Design by the Numbers
sachag
274
18k
Teambox: Starting and Learning
jrom
128
8.4k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
The Invisible Side of Design
smashingmag
294
49k
Why Our Code Smells
bkeepers
PRO
331
56k
Practical Orchestrator
shlominoach
181
9.7k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
YesSQL, Process and Tooling at Scale
rocio
163
13k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
18
1.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
240
1.2M
Art, The Web, and Tiny UX
lynnandtonic
288
19k
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... この先やりたいこと
まとめ - データ基盤は「収集」と「活用」両方のスケーラビリティが大事 - エムスリー、歴史のあるサービスも頑張っています - まだまだやれることがたくさんあります!!