スモールスタートから重要なビジネス基盤への成長
「モンスト」の裏側を支えるログ分析システムを、ミクシィはどのように構築したか(1/2 ページ)
ゲーム「モンスターストライク」(モンスト)で躍進するミクシィのデータ分析基盤を支えたのは、新しいワークスタイルだった。たった数人から始まったチームが全社を支える一大プロジェクトまで育った背景とは。
気軽にプレイできるスマートフォンゲームには、オンライン対戦やフレンドとの連携プレイが可能なゲームも少なくない。プレイの気軽さに反して、リアルタイムに近いデータ処理など、バックエンドの処理能力への要求レベルは高い。スマートフォンゲームにおいては、ゲームプレイそのものを支えるシステムでなくても「リアルタイム性」は重視されているようだ。人気スマートフォンゲーム「モンスターストライク」(モンスト)を開発するミクシィのXFLAGスタジオでは、同タイトルなどのログデータ分析を準リアルタイムで処理できる環境を構築した。
ミクシィのXFLAGスタジオはモンストシリーズや「ファイトリーグ」など、家族や友達と楽しめる数々の対戦型ゲームを提供している。中でもモンストはiOSのApp Storeトップ無料ランキング「BEST OF 2017」にノミネートしたり、AndroidのGoogle Play5周年インストールランキング(2017年3月発表)におけるゲーム部門の2位を受賞したりするほどのヒットタイトルだ。リリースから5年近くたった今も多くのプレイヤーを魅了し、世界累計利用者数は4500万人に上る(2018年3月時点)。
ゲームを運営する基盤に求められるのは、人気の盛衰に合わせて自由に、短時間にスケールできることだ。その要望に見合うインフラ基盤として、AWSをはじめとするクラウドの利用も進んでいる。
ミクシィのXFLAGスタジオはモンストのログ管理にもAWSを利用している。小さく簡易的なシステムからスタートし、ゲームプレイヤーが増えるに従ってシステムを拡張、現在では目的別に何種類ものダッシュボードを用意して必要なデータをすぐに得られる高度なシステムに成長させている。そこで扱われるデータ量は、毎日2TB。これまでに蓄積したデータは約1PBにもなる。このログ分析システムは、ゲームリリース当初の2014年時点では、ごくシンプルな仕組みだった。
併せて読みたいお薦め記事
AWS Summit Tokyo 2018レポート
- 東京電力FPが発電所監視サービスをAWSで開発 7億円以上のコスト削減
- ナビタイムが全サービスをAWS移行 アンチパターンてんこ盛りでGPUは生かせるか
- DeNAが「AWS IoT」を使った配車サービスの裏側を公開
- 金融機関がAWSでクラウド化 セキュリティ対策とコスト管理を両立させるには
クラウド活用でコストを削減する
日次バッチ処理に15時間かかる基本形からスタートし、改良を重ねたログ管理基盤
AWSの年次カンファレンス「AWS Summit Tokyo 2018」において、ミクシィXFLAGスタジオでモンスト事業本部解析グループの生島 光氏は「2014年当時はサーバで発生したログを『Amazon Simple Storage Service』(Amazon S3)に保存し、そのログを使って分析をしていました。必要に応じてアドホックな分析もできるよう、『Apache Hadoop』のマネージドサービスである『Amazon Elastic MapReduce』(Amazon EMR)をスポットインスタンスとして用意していましたが、それだけでは補えない課題も幾つか抱えていました」と当時を振り返る。
課題は運用面、データ活用面の双方に及んでいた。運用面では、Amazon EMRの起動やデータウェアハウス構築環境「Apache Hive」(Hadoopで動作するMapReduceアプリケーション)の処理に時間がかかっていたことが挙げられる。アドホックな分析のたびにAmazon EMRを起動していたが、その都度メタ情報を再構築していたため起動に30分ほど要していた。そこでApache Hiveのメタストア(テーブルやロールなどのメタデータ)を「Amazon Relational Database Service」(Amazon RDS)に格納して永続化し、Amazon EMR起動時にはこれを読み込むだけの仕様に変更したところ、5分程度でAmazon EMRが起動するようになった。他にも、日次処理に利用していたApache Hiveの処理速度にも問題があった。日次処理に15時間ほどかかっており、終業時にバッチ処理をスタートしても翌昼まで処理が終わらない状況だったという。
そこで生島氏は、次のような方法で解決を図った。全てのデータをORC(注1)に変換し、新たに追加されるデータもORCに変換する処理をバッチに追加。「Apache TEZ」を実行エンジンとするなど定番のチューニングも施し、Dynamic Partition機能でデータを分割することで、処理時にスキャンするデータ量も削減した。直列実行ではリソースを使い切れていなかったので、自社開発したジョブフローツールでタスク依存関係に沿ってバッチ処理の順序を最適化し、並列処理ができるものは並列処理するようにしたという。「日次バッチ処理の高速化は、幾つもの技術を複合的に使い実現しました」(生島氏)
※注1 ORC(Optimized Row Columnar)ファイル。Hiveに最適化されたカラム志向型のデータフォーマット。
こうした進化を経て現在は、AWSサーバプラン「m4.2xlarge」20台で構成したAmazon EMRと、3台の「ds2.8xlarge」、データウェアハウスサービス「Amazon RedShift」を利用して24TBのストレージでログ管理基盤を構成している。Amazon EMRはマスターインスタンスグループもコアインスタンスグループも、スポットインスタンスとして用意し、必要なときのみ起動する仕様だ。2014年から2015年にかけて、これらの基盤を整備した結果、日次バッチ処理にかかる時間は15時間から9時間まで短縮されたそうだ。終業時にスタートすれば、翌朝の業務開始までに終わる時間に収まったわけだ。
データ利活用のハードルを下げるために重ねた工夫
データ活用面における最初の課題は、ログ分析の手段を持つ人間がエンジニアに限られていたことだ。理由は単純で、Amazon S3に蓄積したログにアクセスするため、SSH で接続する必要があったのだ。コマンドラインインタフェース(CLI)を使いこなせるエンジニアにしかログ分析の手段がなく、ゲーム運営の現場でデータ活用することは難しかった。これを解決するために、同社は幾つかのビジネスインテリジェンス(BI)ツールを導入した。
「BIツールは目的に応じて市販製品を数種類、使い分けています。いずれも公式のDockerイメージを使ってAWSで利用しています。障害が発生しても自動的に再起動してくれるので、運用に手間がかからないのがポイントです。市販製品だけではカバーできない独自の分析については、内製ツールも併用しています」(生島氏)
こうしたアクセス経路の整備により、データを分析して活用する道は開けたものの、手軽ではなかった点が課題として残っていた。取り扱っているのがサーバから書き出された生ログデータなので、目的に合わせて分析するためには複雑なクエリを記述しなければならなかったのだ。
「例えば『ゲームプレイヤーがオンラインでマルチプレイをしたかどうかを知りたい』というだけでも、数十行のクエリを書かなければなりませんでした。しかもそのためには、アプリ開発者視点で作られたログテーブルの意味を理解しなければなりません」(生島氏)
これを解決するために、生島氏のチームは分析用のテーブルを新たに用意した。頻繁に検索されるデータを、現場目線でも分かりやすいテーブル名で提供することで、データ活用のハードルを下げたのだ。先述のマルチプレイの例で言えば、「is_multi」という分かりやすい名前のカラムが追加され、簡単なクエリでマルチプレイを楽しんだプレイヤーのデータを抽出できるようにした。「アプリ開発者ではなくデータ分析者の視点に立ったテーブル整備には、『Dimension Modeling』という考え方が役立った」と生島氏は言う。
「Dimension Modelingは、理解しやすさを重視したデータモデル化の手法です。システムの言葉を、サービスに即した言葉に置き換えていきます。アプリが書き出したファクトに対して、さまざまな切り口(Dimension)を持たせたテーブルを用意して分析スピードを向上させます」(生島氏)
データ利用のハードルが下がったことで、生島氏が所属するデータ分析チーム以外のメンバーにもデータ活用が広まっていった。そこで新たな課題として浮上したのが、データの信頼性をどのように担保するかということだ。データ分析チームのメンバーやアプリ開発に携わるエンジニアであれば、異常なデータの「違和感」を経験から察知できる。しかしデータ活用が広まれば広まるほど、利用者のITリテラシーは幅広くなり、データを盲信するユーザーも多くなる。誤ったデータに基づいた分析にならないよう、データの信頼性にはこれまで以上に気を配る必要があった。
「そもそもの前提として、データは壊れるものです。変換処理、通信エラー、バックアップのためのコピーなどの原因によって、データは壊れます。事前のテストで防ぐこともできません。代わりに、データが壊れていないかどうか判別できる仕組みを組み込みました」(生島氏)
具体的にはバッチ処理の後半で、データ品質チェックを実行しているという。異なるデータソースでの比較、変換前後の比較、意図しないNULLカラムの検出などによって、データが壊れていないかどうかチェックしている。こうした施策によりエンジニア以外のメンバーも手軽に、しかも安心してデータを分析、活用できるようになった。現在ではデータ分析専任チームの5人に加えて、各サービス担当者約200人がデータにアクセスしている。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社ビザスク] 製造業の新事業創出 成功の鍵は「タラレバ問題克服」と「3つの判断ポイント」 -
製品資料
[日本シーゲイト株式会社] 実験のやり直しを防止 研究データ基盤に求められる高可用性ストレージとは -
製品資料
[株式会社Leaner Technologies] もっと安く買えるのに…… 間接材購買で“コスト削減機会”を逃さないためには -
製品資料
[株式会社セールスフォース・ジャパン] フィールドサービスの熟練技術者が「AIエージェント」を求めている理由 -
製品資料
[株式会社グリーンフィールド・オーバーシーズ・アシスタンス] 基礎から分かる「就労ビザ」 アメリカ進出を目指すなら知っておきたい取得戦略
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
脱VMwareか、継続か? 仮想化ソフト主要6製品の機能とスペックを徹底比較
-
2
なぜ情シスは評価されにくい? 読者調査で見えた「成果が見えない仕事」第1位は
-
3
AIが本番環境を削除し復旧に13時間 「暴走」ではなかったAWS事例
-
4
レガシー基幹システムをSAPに統合 山善が突き止めた「標準化と個別最適」の境界線
-
5
「HDD終了」は本当か 巨大クラウド2社が下した大容量フラッシュへの決断
-
6
IT人材の42%が転職予備軍 辞めさせない組織の4つの共通
-
7
年収700万超エンジニアに共通するスキルと「もっと勉強すべきだった分野」
-
8
「Excel至上主義」と“謎マクロ”の限界 属人化リスクを断つ業務移行の勘所
-
9
「WSUS」終了の時限爆弾 “本命”移行先ツールとMicrosoft提唱の新管理手法
-
10
Microsoft 365の知られざる5つの裏口 パスワードを変えても攻撃者は消えない
ホワイトペーパーランキング PR
-
1
登録セキスぺが語る「SCS評価制度」の舞台裏 星を取得すべき理由と対応のコツ
-
2
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
3
月1000枚の紙を削減 9年動けなかった組織が、業務改革のその先に得たもの
-
4
OSSでは困難 100超のサービスを持つマネーフォワードが実践した統合監視術
-
5
ネットワーク遅延の原因、「パケットロス」の基礎知識と効果的な解決策
-
6
「改正物流効率化法対策」徹底解説 総物流費を抑制するサプライチェーン戦略
-
7
ドラマで分かる、標的型攻撃メールの被害を受ける企業と回避できる企業の分岐点
-
8
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
9
「人員を増やす」という選択肢はない 情シスが負の連鎖から抜け出すには?
-
10
「Google Workspace」活用事例34選、先進の生成AIによる組織変革の全貌
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー