株式会社 Aiming(エイミング)の導入事例 (2): BigQuery で集計をリアルタイムに、コストを 1/5 に
2015年5月14日木曜日
* 5 月 19 日、一部内容を更新しました。
■ Google Cloud Platform のその他の導入事例はこちらから
数百万のゲーム ユーザーに比例して、そこで生まれるデータの量も膨大なものとなります。それをどう活用しているのか、どう処理しているのか、気になるところですよね。
前半では、株式会社 Aiming、企画・運営グループ インフラエンジニア マネージャー 野下 洋さんに、Google Cloud Platform の利用の仕方や、クラウド ベンダーの選定についてお聞きしました。後半では、開発グループ リードソフトウェアエンジニア 芝尾 幸一郎さんに BigQuery の利用方法をお聞きします。
BigQuery へ移行
芝尾さんはどういった仕事をされているのですか?
主にやっているのが、社内の横断的なデータ分析基盤を作ること。これが一段落すると分析作業をやるようになると思います。Aiming の前は、Hadoop を使ったデータ分析のシステムをやってました。
BigQuery はどのように利用されてるのですか?
社内の KPI ツールとして Monolith という、社内にサーバがある Web のツールなんですけど、社内の各タイトルの売上だとかが一覧で見れるツールがあります。そこで、BigQuery で集計した結果をグラフだとかで見れるようにしています。
BigQuery にデータをどう送っているのかというと、各ゲームのサーバーから td-agent (fluentd) を使って、ゲームによっては 1 度ログサーバーに集約するものもあるし、そのまま BigQuery に送っているものもあります。
どうして BigQuery を利用するようになったのですか?
以前の製品では、データを送って、集計のためのクエリーを製品上に保存する仕組みだったので、そこで売上集計の SQL だとかを 1 日に 1 回とか 1 時間に 1 回というタイミングで実行し、その集計結果を一旦社内の Web サーバーに貯めこんでおいて、売上とかイベント時の参加者グラフだとかを見るようになっていました。
そこで課題だったのが、以前の製品があまり速く集計を返せない、例えば売上などは前日の値になる、今の値が見たくても、何分か待って集計しないとわからない。これを BigQuery に変えたことで、社内にサーバがあることは変わらないのですが、今の値が見たいなら、集計の SQL は、その Web サーバ側で持っているので、直接 BigQuery に問い合わせにいきます。その問い合わせた結果は数秒で帰ってくるので、それをそのまま Hicharts を使ってグラフ化することで、前日じゃなくて今のデータが見れるようになりました。
移行を検討するとき BigQuery 以外にも選択肢はあったと思いますが、BigQuery を選んだ理由は?
理由はいくつかあって、まず速い。同僚は安いという点をあげていますね。1 Gで $0.020 ドル(編集注: 2015 年 4 月時点での月毎のストレージ コスト。ストリーミング インサートのときは、10 万行に対し $0.01)。以前の製品のときはもっとかかっていたのが、試算したら数分の 1 となって、これは本当か(笑)と。何かの冗談に違いないと。それが本当なら価格競争力がある、それで BigQuery にしようとなりました。
ゲームへの定着を測る
どういったデータを集計し、見ているのですか?
基本的にはユーザーのアクティブな行動を見てます。アクティブ ユーザー数、何日間継続して使ったか、新規登録ユーザー数だとか。その中でも重視しているのは、アクティブユーザー数から新規登録のユーザー数を引いたものです。それをよく見ていて、継続して利用するユーザーを知りたい。例えばリワードを打ったり、CM を打つと、1 万とか 2 万人が入ってくるんですけど、そのユーザーというのは次の日にはゲーム遊ばず、定着してくれないこともある。知りたいのはゲームにユーザーが定着しているか。そのためにアクティブユーザー数を取りたいというのはありますね。
ゲームにおけるデータの重要性をどう考えていますか?
今まで見えていなかったので、どんぶり勘定でやるしかなかった。例えばリワードを打つと一時的にユーザーは増えるものの減っていってしまう。それは定着していないからなんですけど、それが例えば 5 日間連続で利用したユーザーで線を引くことで、この施策が当たったかどうかわかるようになる。今まではなんとなく、増えているような感じがする、流行っているような感じがする、だったのが、実際に定着するところまで見れるようになったことは大きいと思います。
このツールは、社内の人誰でも見れるのですか?
許可を得れば見れます。会社の方針としても、みんながデータを見ることで、自分の会社のタイトル同士を比較して、リワードを打ったときの状況を予測したり、理解を深めることができますから。
芝尾さん個人として BigQuery に変更して、特に何が気に入りました?
個人的には、以前の製品は集計に数分かかって寝てしまうことがあったのが、BigQuery は数秒で終わるので試行錯誤がし易いことです。分析を主体にする人、企画運営する人、グラフが見たい人、経営者、いろいろ立場によって利点は違いますが、僕が利点だと思うのは、レスポンスが早いので分析するときにダレないこと。途中で眠くなる問題は結構大きいですからね(笑)。
以前はオンプレミスで Hadoop を使われていたそうですが、その観点で BigQuery や 以前の製品のようなクラウドのサービスとの違いをどう考えていますか?
だいぶ楽です。Hadoop でファイル システムを構築して、調子が悪くなってクラスターが落ちたから新しいクラスターを入れるとか、ノード数が大きくなれば速くなるけど、その分メンテナンスが大変になります。データセンターにハードウェア差し替えに行くだとか。結局 Hadoop を使うのは、社外にデータを出したくないというところからで、それが Hadoop を使う理由でしたから。実際に BigQuery を使うと、やっぱり社内で持つのはないなとという感じですね。こういう部分は会社としてのポリシーの柔軟さだと思います。やはり、自社で持ってるとラッキングから全部やらなければならないのが、クラウドではスケーリングを気にしなくていいのが大きいですね。
データを外に出すということで、クラウドのセキュリティについてどう考えていますか?
問題に思ったことはないですね。鍵の管理を徹底して、IP で絞れば外に漏れることもない。心理的な抵抗だとは思います。楽さには抗えないですから。
ゲームが面白かったことを数値化
今後 BigQuery をどう使っていく予定ですか?
ログレスのデータも BigQuery に入り始めたので、いろいろ分析していきたいです。当面の目標は各タイトルのデータを BigQuery に置いて横串で見れるようにすることですね。また、過去のデータを集計したものを見せるという形が残っているので、全てのタイトルのデータをリアルタイムに集計して、企画や運営の人に見せられればと思っています。まさにBigQueryを使ったリアルタイムな何かができるのではと。
データ分析を今後オンライン ゲームにどう活用していきたいですか?
面白いゲームを作ってなんぼですから、データ分析でも ”その面白さは数値として出ている” と言えるようになりたい。昔のクリック ゲームや、少し前のソーシャル ゲームはデータ分析の結果(結果が出ていることと)同じようにやれ、というのがありましたが、ユーザーの性質が変わってきて、スマートフォンでも、よりゲームらしいゲームをしたいとなってくると、データ分析は面白かったことを検証するために使われるようになると思います。
■ Google Cloud Platform のその他の導入事例はこちらから
0 件のコメント :
コメントを投稿