体験を伝える―『ガジェット通信』の考え方

面白いものを探しにいこう 本物を体験し体感しよう 会いたい人に会いに行こう 見たことのないものを見に行こう そしてそれをやわらかくみんなに伝えよう [→ガジェ通についてもっと詳しく] [→ガジェット通信フロアについて]

Google Cloud Platform、BigQueryを活用したKPI分析の環境作り─Aimingのインフラと共通基盤はこうして作られた

これまで10分かかった分析がわずか10秒に。BigQueryを採用した理由

ソーシャルゲームや本格的なMMOPRGに限らず、オンラインでつながるゲームではユーザーの動向をデータで把握し、KPIを分析しながら、それをゲームの改善につなげていく業務が欠かせない。

Aimingでは、Google Cloud Platform(GCP)上で BigQueryを動かしながらデータ分析をしているということで、クラウド活用の先進例として紹介されることもある。

同社のインフラエンジニアマネージャー野下洋氏、リードソフトウェアエンジニアの芝尾幸一郎氏、堀井啓真氏の話を聞いた。

──そもそもAimingにおけるデータ分析の歴史とはどんな流れだったんですか。

芝尾:初期の頃のデータベースは、MongoDBを使っていました。ただデータ件数が数億件とかになると、もうMongoDBでは難しい。そこでトレジャーデータ社のクラウドで(ベースはHadoop)で分析することにしました。2013年春頃だったと思います。

解析基盤をHadoopにしたおかげで、数億件のデータを貯めたまま集計することができるようにはなりました。しかし、Hadoop上のデータを分析するために、SQLを使って検索できるHiveを使っていましたが、やはり時間がかかる。

一度、クエリーを送ると結果が出るまでに10分。その間にふっと気を失って寝ちゃいますよ(笑)。データ分析は何度も仮説・検証を繰り返していく作業ですから、瞬間的に返って来ないと分析が億劫になるんです。

そこでもっと速い環境はないものかと探しているとき、GoogleからGCP上で動くBigQueryというものがあると、CTOの小林に教えられ、さっそく試してみることにしました。2014年の秋ですね。

株式会社Aiming 開発グループ リードソフトウェアエンジニア 芝尾幸一郎氏
Aimingではデータ分析を担当。ゲームのログを収集するための基盤を開発し、データを分析して、各ゲームタイトルの開発・運営チームに提案している。かつてのドワンゴ時代は、iPhone向けのニコニコ動画アプリを開発。個人の趣味でニコニコ動画のランキングサイトを作っていたことがあり、データ分析の仕事を任されるようになる。それ以来、データ分析が専門になった。

野下:そもそもGCPが登場したのが、2013年12月ぐらい。最近はHadoopからのBigQueryへの移行事例はたくさん報告されているけれど、国内のゲーム会社ではAimingはかなり早いほうだと思います。

芝尾:使ってみてこれはすごいと思いました。Hadoopで10分かかっていたのが10秒でできちゃうんですから。2015年夏までにはHadoopにあったデータを全部BigQueryに入れ直し、Hadoopは捨てました。

作った努力よりも使われるための努力が大切──モノリスプロジェクトとは

──こうした解析基盤の選定も含めて、データ分析プロジェクト全体を「モノリス(Monolith)」プロジェクトと社内では呼んでいるんですよね。

芝尾:そうです。BigQueryからデータを引っ張ってきて、全てのタイトルを横断して、ゲームの売上やアクティブユーザー数、継続率などのKPIが見られるWebサイトを作ったんですが、それも「モノリス」と呼んでいます。

タイトル固有のクエスト進捗や人気アイテムなどを集計した個別KPIもここでわかります。1時間毎の推移、日別、週別、月別の推移をグラフ化することも可能です。

野下:ただ、トレジャーデータからの移行作業は結構大変でしたね。

株式会社Aiming 企画・開発グループ インフラエンジニアマネージャー 野下 洋氏
椎葉忠志Aiming CEOが以前に創業したONE-UPというゲーム開発会社で、自社開発ゲームを海外にライセンス・アウトする際の、インフラを含めたプロダクトマネージャーを経験。2013年にONE-UPからAimingに転職。現在はライセンス系、自社開発系に関わらず、ゲーム開発のためのインフラサーバーの構築・運用のマネージャーを担当。

芝尾:新しいものだから、その頃は事例がなかった。トレジャーデータに入っているデータは実はAWS上にある。それをまずS3にエクスポートし、さらにGCPにコピーしなくちゃならない。

アメリカのデータセンターにあるものをアジアのGCPに送る。大陸をまたぐから、すごい時間がかかる。少しずつ進めていくんだけれど、1日で50GBずつぐらいしかできなかったり……。

各タイトルから上がってくるJSONデータのフォーマットを、BigQueryに読ませようとすると、タイムゾーンの表記の仕方が違うので、それを手直す作業とか、結構泥臭い作業もありました。

BigQuery自体がフォーマット決め打ちみたいなところがあって、それにユーザー側が対応しなくてはならない。

しかし一旦、BigQueryに移行しちゃえばスピードが圧倒的に速い。なんでこんなに速いのか。普通は大規模分散コンピューティングといっても10~20CPUのところ、BigQueryは1かたまりのデータを一挙に5000台ぐらいのCPUに分散して計算している。

CPUがあり余っている会社の力技による解決方法。いかにもGoogleらしいと思いますね(笑)。

──BigQueryへの移行にあたっては、戸惑いはありませんでしたか。

1 2 3次のページ
CodeIQ MAGAZINEの記事一覧をみる
  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。