「Snowflake」活用でパフォーマンス向上とコストダウンを同時に達成―『FF7 EC』開発のアプリボットがデータ分析基盤の構築事例を紹介【CAGC2024】 | GameBusiness.jp

「Snowflake」活用でパフォーマンス向上とコストダウンを同時に達成―『FF7 EC』開発のアプリボットがデータ分析基盤の構築事例を紹介【CAGC2024】

アプリボット社のエンジニアより、『FF7 EC』で実際に導入されているデータ分析基盤の事例が紹介されました。

ゲーム開発 その他
「Snowflake」活用でパフォーマンス向上とコストダウンを同時に達成―『FF7 EC』開発のアプリボットがデータ分析基盤の構築事例を紹介【CAGC2024】
  • 「Snowflake」活用でパフォーマンス向上とコストダウンを同時に達成―『FF7 EC』開発のアプリボットがデータ分析基盤の構築事例を紹介【CAGC2024】
  • 「Snowflake」活用でパフォーマンス向上とコストダウンを同時に達成―『FF7 EC』開発のアプリボットがデータ分析基盤の構築事例を紹介【CAGC2024】
  • 「Snowflake」活用でパフォーマンス向上とコストダウンを同時に達成―『FF7 EC』開発のアプリボットがデータ分析基盤の構築事例を紹介【CAGC2024】
  • 「Snowflake」活用でパフォーマンス向上とコストダウンを同時に達成―『FF7 EC』開発のアプリボットがデータ分析基盤の構築事例を紹介【CAGC2024】
  • 「Snowflake」活用でパフォーマンス向上とコストダウンを同時に達成―『FF7 EC』開発のアプリボットがデータ分析基盤の構築事例を紹介【CAGC2024】
  • 「Snowflake」活用でパフォーマンス向上とコストダウンを同時に達成―『FF7 EC』開発のアプリボットがデータ分析基盤の構築事例を紹介【CAGC2024】
  • 「Snowflake」活用でパフォーマンス向上とコストダウンを同時に達成―『FF7 EC』開発のアプリボットがデータ分析基盤の構築事例を紹介【CAGC2024】
  • 「Snowflake」活用でパフォーマンス向上とコストダウンを同時に達成―『FF7 EC』開発のアプリボットがデータ分析基盤の構築事例を紹介【CAGC2024】

3月7日、サイバーエージェントのゲーム・エンターテイメント事業部主催によるエンジニア・クリエイター向け技術カンファレンス 「CyberAgent Game Conference 2024」が開催されました。

30以上のセッションによって多数のタイトルの事例から技術、ノウハウが共有されたカンファレンスから、本稿ではアプリボットによる「『FINAL FANTASY VII EVER CRISIS』を支えるデータ分析基盤」の内容を紹介します。


本セッションではサイバーエージェント子会社のアプリボットからデータエンジニアの三島裕貴氏とサーバーサイドエンジニアの伊藤直人氏が登壇しました。

アプリボットは現在『NieR Re[in]carnation』と『FINAL FANTASY VII EVER CRISIS(以下、FF7 EC)』の2タイトルをスクウェア・エニックスとの協業で運用しており、ユーザーの行動分析による施策の改善を目的にデータ分析を活用しています。中でも今回紹介される分析基盤は2023年9月にサービスを開始した『FF7 EC』で実際に導入されている事例です。

まずは三島氏からアプリボットによるデータ分析の紹介が行われ、行動ログの取得・集計を担当する「データ分析基盤チーム」と、データを活用して分析する「データマイニングチーム」、そして実際にプロダクトの開発・運営を行う「プロダクトチーム」の3チームによる連携体制で2タイトルのデータを管理していることが説明されました。

収集しているデータの内容は、分析に使用する「ユーザー行動ログ」と、問い合わせ対応などに使用する「データベース(DB)更新ログ」の2種類。iOSとAndroidで異なる情報を取得していたり、取得するタイミングや考慮するポイントを設定してチーム間で共有していたりと細かく設定されており、集めたデータはRedashによって社内に共有されています。

三島氏はBIツールにRedashを使用している背景として「たくさんの人が使用・参照する上で比較的シンプルで習熟コストも低い」と述べ、1タイトルあたり60前後のダッシュボードが作成されていることも紹介しました。

そんなアプリボットは2019年ごろからより大規模なデータ分析のために「Data Infrastructure Value Elevation」、略して「DIVE」と呼ばれる独自の分析基盤を開発しました。AWSにてS3にデータを集約し、Lambdaで分解・再配置ののちにAthenaで参照するシンプルな構成であり、実際に『NieR Re[in]carnation』のデータ分析にも使用されてきました。

そんな「DIVE」ですが、運用を続ける中で以下のような課題も見つかっていました。

  • AthenaがS3のデータを直接参照する際のリクエスト費用の負担が大きくなる

  • パフォーマンス不足により対応に時間がかかり、せっかくのデータが活用できない

  • パーティション管理やファイル圧縮が必要で、ログの追加・集計の際に各チームとの連携に手間がかかる

社内では「分析基盤チーム」ではなく「DIVEチーム」と呼ばれることも多いとのこと

そこでアプリボットでは今回の登壇者でもある伊藤氏の発案で即席チームを結成し、改良を加えた新たな「DIVE」の開発に取り組むことに。データウェアハウス(DWH)は複数の候補から、課題解決に適していると考えられるSnowflakeを採用し、『FF7 EC』での導入を目指して検証を開始しました。

新たなDIVEは、売り上げだけでなくDAUや新規登録者の推移をリセマラやbotを除く処理を行ったうえで3分に1度の頻度で更新する「KPIのリアルタイムな可視化」と、機械学習による深掘り分析が可能になる「パフォーマンスの向上」が目標として掲げられ、それらを以前のDIVEよりも安価で達成することを目指しました。

これらを踏まえ、Snowflakeを使用して新たに開発されたDIVEの構成が上図になります。アプリケーションサーバーからfluentdとKinesisを経由してS3へと格納し、そこからSnowflakeに転送して集計や検証を行っています。ここでSnowflakeへと直接データを送っていないのは社内で導入事例がなかったSnowflakeを使用するため、万が一の場合は従来のAthenaでも使用できるようにとのリスクマネジメントであることも紹介されました。

図を見るとS3への取り込み経路が2つに分岐していますが、これは転送効率をあげるための構造です。検証初期でSnowflakeへの転送速度やコストには転送元のファイルサイズと数が大きく影響すると判明。Snowpipeを用いて60秒間隔のバッファでログイン情報や課金情報などKPIに関わるデータを扱う「即時取り込み」と、それ以外のデータをServerless Taskを用いて300秒のバッファ間隔で取り込む「定期取り込み」との2経路へ分岐させることで、効率的な転送を実現しています。

ここでスピーカーは実際に新たなDIVEの導入を担当した伊藤氏へと交代し、導入時の取り組みについて解説されました。


《ハル飯田》

この記事の感想は?

  • いいね
  • 大好き
  • 驚いた
  • つまらない
  • かなしい
【注目の記事】[PR]

関連ニュース

特集

人気ニュースランキングや特集をお届け…メルマガ会員はこちら