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 工作流:Agent Skill + MCP 實戰工作坊
appleboy
0
280
秘密度ラベル初心者が第1歩でつまづかないための「設計・運用」ポイント
seafay
PRO
1
540
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
10
1.7k
40代で“やっとエンジニアになれた”――閉じた学びを開き、空の青さを知る / 20260628 Naoki Takahashi
shift_evolve
PRO
4
1.5k
AI-DLCを “そのまま導入しなかった”話 ~組織に合わせてアジャストした 私たちの実践共有~
hiroramos4
PRO
1
480
はてなのサービス基盤を支える Kubernetes《足腰》
masayoshimaezawa
0
380
AIに障害切り分けを全部やってもらった。 。 。 。
estie
0
310
#エンジニアBooks 30分でわかる 「技術記事を書く技術」 / engineer-books 2026-06-30
jnchito
1
150
5分でわかる Amazon Connect_20260608
hwangbyeonghun
0
150
トークン最適化のためのユーザーストーリー分析 / User Story Analysis for Token Optimization
oomatomo
0
150
飲食店もAIで。レジ締めやハンディシステムをつくってる話 / Using AI for restaurant management
vtryo
0
210
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
Featured
See All Featured
KATA
mclloyd
PRO
35
15k
Embracing the Ebb and Flow
colly
88
5.1k
Tell your own story through comics
letsgokoyo
1
980
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
210
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Faster Mobile Websites
deanohume
310
32k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
160
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Fireside Chat
paigeccino
42
4k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
750
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が厳しそう)
ありがとうございました