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
10k
スケーラブルなデータ収集と活用の舞台裏 / 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
技術的負債という武器の扱い方を考える
mtoriyama000
1
760
Webエンジニアのためのデータエンジニアリング概説
mtoriyama000
6
940
Other Decks in Technology
See All in Technology
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
Agent Skils
dip_tech
PRO
0
140
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
260
生成AIと余白 〜開発スピードが向上した今、何に向き合う?〜
kakehashi
PRO
0
160
GitHub Copilot CLI を使いやすくしよう
tsubakimoto_s
0
110
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.4k
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
230
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
260
ECS障害を例に学ぶ、インシデント対応に備えたAIエージェントの育て方 / How to develop AI agents for incident response with ECS outage
iselegant
4
420
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
620
今日から始めるAmazon Bedrock AgentCore
har1101
4
420
ランサムウェア対策としてのpnpm導入のススメ
ishikawa_satoru
0
230
Featured
See All Featured
New Earth Scene 8
popppiees
1
1.5k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Building the Perfect Custom Keyboard
takai
2
690
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
53
What's in a price? How to price your products and services
michaelherold
247
13k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
37k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
590
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
Ruling the World: When Life Gets Gamed
codingconduct
0
150
Ethics towards AI in product and experience design
skipperchong
2
200
RailsConf 2023
tenderlove
30
1.3k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
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... この先やりたいこと
まとめ - データ基盤は「収集」と「活用」両方のスケーラビリティが大事 - エムスリー、歴史のあるサービスも頑張っています - まだまだやれることがたくさんあります!!