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.5k
スケーラブルなデータ収集と活用の舞台裏 / 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
830
Other Decks in Technology
See All in Technology
AWS Well-Architected Frameworkで学ぶAmazon ECSのセキュリティ対策
umekou
2
140
OPENLOGI Company Profile for engineer
hr01
1
20k
Amazon Q Developerの無料利用枠を使い倒してHello worldを表示させよう!
nrinetcom
PRO
2
110
RayでPHPのデバッグをちょっと快適にする
muno92
PRO
0
190
システム・ML活用を広げるdbtのデータモデリング / Expanding System & ML Use with dbt Modeling
i125
1
320
内製化を加速させるlaC活用術
nrinetcom
PRO
2
140
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
7
570
What's new in Go 1.24?
ciarana
1
110
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
210
php-conference-nagoya-2025
fuwasegu
0
150
Perlの生きのこり - エンジニアがこの先生きのこるためのカンファレンス2025
kfly8
2
270
ウォンテッドリーのデータパイプラインを支える ETL のための analytics, rds-exporter / analytics, rds-exporter for ETL to support Wantedly's data pipeline
unblee
0
120
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
521
39k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
640
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
The Invisible Side of Design
smashingmag
299
50k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Side Projects
sachag
452
42k
Site-Speed That Sticks
csswizardry
4
400
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Scaling GitHub
holman
459
140k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.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... この先やりたいこと
まとめ - データ基盤は「収集」と「活用」両方のスケーラビリティが大事 - エムスリー、歴史のあるサービスも頑張っています - まだまだやれることがたくさんあります!!