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
GCPで行動ログ基盤 を開発している話
Search
kaito2
September 30, 2019
Technology
8.9k
9
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GCPで行動ログ基盤 を開発している話
kaito2
September 30, 2019
More Decks by kaito2
See All by kaito2
lily58がいいぞっていう話
kaito2
2
1.1k
Other Decks in Technology
See All in Technology
AI研修(Day1)【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
2.7k
基調講演:人とAIをつなぐIoTの今と未来 ー 「フィジカル」と「デジタル」が出会うその先へ【SORACOM Discovery 2026】
soracom
PRO
0
360
Webの技術とガジェットで子どもも大人も楽しめるワクワク体験を提供する / Qiita Tech Festa Day 2026
you
PRO
1
310
データと地図で読む 大井町の「かわるもの、かわらないもの」
yoshiyama_hana
0
600
実践が先生だった— 新卒サーバーエンジニア1年目のリアル
mixi_engineers
PRO
0
200
QAタスクをスキル化したいときに考えること
aomoriringo
0
130
AI時代におけるテストの基礎の再定義 / Rethinking the Fundamentals of Testing in the AI Era
mineo_matsuya
15
6.2k
ここは地獄!つらい朝会を体験することで、チームとしてのより良い振る舞いに気づくワークショップ / The stand-up meeting from hell in the game industry
scrummasudar
0
440
NYC Summit 2026 におけるAmazon Bedrock AgentCore のアップデート
ren8k
1
270
AWS環境のセキュリティ不安を解消した企業事例 ~よくある課題と対策を一挙公開~
asanoharuki
0
240
WEBフロントエンド研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
730
害獣害虫を自動判別! ペストコントロール支援ビジネス成功のヒント【SORACOM Discovery 2026】
soracom
PRO
0
120
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Chasing Engaging Ingredients in Design
codingconduct
0
240
Documentation Writing (for coders)
carmenintech
77
5.4k
How GitHub (no longer) Works
holman
316
150k
Product Roadmaps are Hard
iamctodd
55
12k
Test your architecture with Archunit
thirion
1
2.3k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
230
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Transcript
GCPで行動ログ基盤 を開発している話 エムスリー株式会社 岩月 海人
自己紹介
自己紹介 - 岩月海人 (@kaito_two) - エムスリー株式会社 - AI・機械学習チーム - どちらかというとデータエンジニア
- 2019年 4月16日 新卒(?)入社 - 主にGCP関連の基盤を担当
話すこと
話すこと • m3.com とは? • 行動ログ基盤 ◦ 背景 ◦ 概要
◦ 構成 ◦ 設計・移行で苦しんだトコロ • まとめ
m3.com とは?
m3.com とは? 医師限定会員サイト 医師向けYahooのようなイメージ(多分一つ前でもはなしてある) サイト内に複数サービス(現在20以上)への導線が存在する。
行動ログ基盤 (移行中)
行動ログ基盤 目的 m3.com のサービス横断の広告表出システムをリニューアルする 概要 • 対応サービスのコンテンツの中からユーザーに対しておすすめを表示(パーソナラ イズ) • ユーザーの行動ログからCVをリアルタイムに補足
行動ログ基盤(現状の課題) なぜつくっているか? (既存システムの課題) 1. 各システムとの結合が強い ◦ 表示可能なコンテンツを各サービスに問い合わせている (後述) 2. 他のシステムに相乗りする形で実装されている
◦ 当時の開発スピードが優先されていた 3. 細かいパーソナライズができていない ◦ 現状 「Aさんはニュースサービスが好き」 ◦ やりたい 「AさんはXXXに関するニュースが好き」
各システムとの結合が強い 既存の広告システム 表示可能コンテンツ の問い合わせ 表示可能なコンテンツを 各サービスに問い合わせ ?? ?? ??
(その他にもいくつか内部の事情があり) データパイプライン作ろう
行動ログ基盤 | 構成
行動ログ基盤 | 構成 ユーザーに表示したいコンテンツを登録
行動ログ基盤 | 構成 パーソナライズされた 表示するコンテンツを提供
行動ログ基盤 | 構成 各サービスの行動ログを送信
行動ログ基盤 | 構成 Pub/Sub をサブスクリプションし、 行動ログからCVを判定
行動ログ基盤 | 構成 Pub/Sub をサブスクリプションし、 行動ログからCVを判定 状態を取得・更新
行動ログ基盤 | 構成
行動ログ基盤 | 構成 ココ
API 構成 表示可能なコンテンツを取得 m3の各サービス
API 構成 取得した情報をもとに最適化 (ロジックをPlugableにする)
設計・移行で悩んだトコロ
Pub/Sub のトピックを分割するか 現在は中央のトピックを立てている 関係ない Message でも呼び出される
Pub/Sub のトピックを分割するか Dataflow で分ける方法もあるが現状はしてない マシンリソースと Pub/Subのトラフィックがかかる
Cloud Datastore の制約 • 一度に500エンティティまでしか書き込めない ◦ コンテンツなどをBulkで追加するのが厳しい • Kindごとの削除のコストが高い ◦
Dataflowのジョブを起動する必要がある。 ▪ https://cloud.google.com/datastore/docs/bulk-delete • 基盤システムなので従量課金が厳しい(当たり前) BigTable を採用している
まとめ • m3.com について • m3.com 上のアドの仕組みをリニューアルしている ◦ 様々な課題が ▪
システムの密結合 ▪ パーソナライズに改善の余地 ◦ 行動ログ基盤をつくりリアルタイムなデータの活用を進める • 構築上の悩み ◦ Pub/Sub のトピック構成 ◦ DBの選定(Datastoreが厳しそう)
ありがとうございました