デブスト【B-3】ゲーム運用を影から支えるCygamesのデータ分析基盤について #devboostB

2
【Developers CAREER Boost 2023】12/9(土)オンライン開催!✨ @developersboost

B-3セッション『ゲーム運用を影から支えるCygamesのデータ分析基盤について』藤田晋哉さん(Cygames)です! #devboost #devboostB pic.twitter.com/sMkY6QUhkK

2018-12-15 14:41:11
拡大
そば太郎 @_sobataro

「ゲーム運用を影から支えるCygamesのデータ分析基盤について」 event.shoeisha.jp/devboost/20181… #devboost #devboostB

2018-12-15 14:16:00
策士TANUKI @Sakushi_TANUKI

Cygamesのデータ分析基盤、Amazon Redshiftなのか #devboostB

2018-12-15 14:17:53
そば太郎 @_sobataro

データ分析基盤の役割について。分析・集計に特化した DWH として RedShift を利用。もとはオンプレだった。 #devboost #devboostB

2018-12-15 14:18:29
ライナス @Linus_MK

14:15【B-3】ゲーム運用を影から支えるCygamesのデータ分析基盤について #devboostB redshiftの話が中心です もともとオンプレのDWHを使っていたけど、事業規模拡大に対応するためにRedshiftを採用

2018-12-15 14:18:31
そば太郎 @_sobataro

各ゲームごとにインスタンスを用意、最大で約7年分のデータを保存。歴史がすごい #devboost #devboostB

2018-12-15 14:18:53
こやぴっぐ。 @koyapig

ゲームDBはMySQL -> Redshiftにログを取り込む #devboost #devboostB

2018-12-15 14:19:31
そば太郎 @_sobataro

ゲーム DB, サーバログからデータを取り込み、分析、内製 BI ツール、不具合調査・補填対応に利用。 #devboost #devboostB

2018-12-15 14:19:51
大和 @0vccWIHNou

ゲームのKPIとかほしいデータ多すぎてそれをどうDWHに突っこむかってめっちゃ大事だよなあ…その辺が一番大変そう #devboostB

2018-12-15 14:20:44
ライナス @Linus_MK

#devboostB Redshiftに入れたデータは何に使われるか ・データマイニングのチームtableau 分析業務 ・内製のBIチーム ・不具合や障害の解析 最新だけではなくあらゆる期間のデータが必要 ソシャゲはアップデートが多い→テーブルのスキーマ変更も多い

2018-12-15 14:21:30
策士TANUKI @Sakushi_TANUKI

イベント開始前日の負荷対策のスキーマ変更……… #devboostB

2018-12-15 14:22:01
そば太郎 @_sobataro

要件: 次回イベントの参考などのため、過去のデータをすべて置いておく必要がある。イベント開始直後などに速報値もとりたい。ゲームのアップデートや負荷対策により DB のスキーマ変更もあるが、急なカラム追加があっても止まると困る。けっこう大変そう #devboost #devboostB

2018-12-15 14:22:26
Shoko@育休中 @_okohs

「必要なときに必要な期間」はどんなログ管理システムでもカバーしてるけど、スキーマ変更まではどう対応しているのか気になるな #devboostB

2018-12-15 14:23:16
そば太郎 @_sobataro

実際の構成の話。 EC2 + SQS + S3 + Redshift. 非同期処理のため、ほとんどのデータを SQS 経由で扱う & 取り込める状態のデータを S3 にアーカイブ。前日分データを毎日取り込む。 #devboost #devboostB

2018-12-15 14:24:14
そば太郎 @_sobataro

Redshift へのロード時にスキーマを比較する。スキーマが変わっていたら既存のテーブルを rename して退避し、データ取り込みは止まらないように。なるほど #devboost #devboostB

2018-12-15 14:27:13
Shoko@育休中 @_okohs

これ、古いテーブル定義のログと新しいテーブル定義のログをまたいでデータ分析とかかけたいときどうやって処理するんだろう #devboostB

2018-12-15 14:27:21
こやぴっぐ。 @koyapig

同期間隔はどれぐらいなんだろ? #devboost #devboostB

2018-12-15 14:28:05
そば太郎 @_sobataro

1日1回、昨日1日分のデータをロード、という話からすると、おととい以前のデータは rename されたテーブルだけに入っている、ということかな? #devboost #devboostB

2018-12-15 14:28:34
ライナス @Linus_MK

#devboostB ■分析基盤の構成 EC2 SQS S3 Redshift ほとんどの処理はSQSのメッセージを媒介 ゲームのデータベースをS3に →S3のデータをRedshiftに の2段階構成 テーブルのスキーマに変更があったら、既存テーブルをリネームして一旦退避する

2018-12-15 14:29:01
そば太郎 @_sobataro

過去のデータも、すぐに Redshift に入れられる形で S3 にアーカイブする #devboost #devboostB

2018-12-15 14:29:25
そば太郎 @_sobataro

一方サーバログについては、内製ツールで常時集約 -> s3 -> parse -> s3 -> Redshift に load. parse 前の生ログもとっておいて kibana とかで使う #devboost #devboostB

2018-12-15 14:30:46