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
オートマトンと字句解析でRoslynを読む
tomokusaba
0
110
全社でのソフトウェアサプライチェーン攻撃対策をやってみた with Takumi Guard
z63d
0
320
クラウドを使う側から、作る側へ / 大吉祥寺.pm 2026前夜祭
fujiwara3
7
1.7k
Retriever と Reranker、結局どうする?
kazuaki
0
110
ソフトウェアアーキテクチャ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
890
現場との対話から始める “作る前に問い直す”業務改善
mochico50
2
330
StepFunctionsとGraphRAGを活用した暗黙知活用のためのRAG基盤
yakumo
0
180
AI研修(Day1)【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
2.3k
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
koukihosaka
2
160
キャリアLT会#3
beli68
2
280
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
1.2k
インシデント事例と パッケージの全量解析に学ぶ ソフトウェアサプライチェーンの守り方 / supply-chain-attack-defense
flatt_security
0
1.2k
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
740
The Curse of the Amulet
leimatthew05
2
13k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
880
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
640
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
4 Signs Your Business is Dying
shpigford
187
22k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
370
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が厳しそう)
ありがとうございました