48
Copyright © GREE, Inc. All Rights Reserved. Developers Summit 2014 グリーを支えるデータ分析基盤の 過去と現在 2014/02/14 グリー株式会社 Web Game 事業統括本部 橋本 泰一

【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Embed Size (px)

DESCRIPTION

グリーではユーザに喜んでもらえるサービスを提供するための継続的な改善を重視しており、創業期よりログデータの分析基盤の開発・運用に注力してまいりました。昨年より、従来の自社開発の解析基盤に加え、Hadoopやfluentdなどを本格的に運用開始し、解析基盤のさらなる強化を実施しております。サービスの成長を支えるデータ分析基盤の構築・運用・活用方法について自社の事例をベースにお話します。

Citation preview

Page 1: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

Developers Summit 2014

グリーを支えるデータ分析基盤の過去と現在

2014/02/14

グリー株式会社Web Game 事業統括本部

橋本 泰一

Page 2: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

• 1997年 東京工業大学 情報工学科 卒業

• 2002年 東京工業大学 大学院情報理工学系研究科 修了博士(工学)

• 2002年 東工大 助手 & 特任准教授

• 2012年 グリー株式会社

• 自然言語処理、情報検索、〇〇マイニング、機械学習…• GREE PlatformおよびWebベースのソーシャルゲームの

データ分析基盤を担当

自己紹介:橋本 泰一(はしもと たいいち)Self-introduction

Page 3: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

過去の話…

Page 4: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

過去の話2011年

ディレクタエンジニア

Page 5: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

過去の話2012年

ディレクタエンジニア

Analytics DB(SQL Server)

Page 6: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

• データほしい人が増えてきた…• 理由:サービスが増えた、人が増えた、…

• データ提供が正直しんどくなってきた…

過去の話だんだんと困ってきたこと…

Page 7: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

今の話…

Page 8: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

Any questions?

• Accessability• だれでも自由に

• Scalability• どれだけ貯めこんでも

GREE Platformのデータ分析基盤

コンセプト

Page 9: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

•ゲーム• Treasure Data ベース

• ゲームへのアクセスログ

• GREE Platform• Hadoop ベース

• ゲームからAPIへのログ

• ユーザ情報

グリーのデータ分析基盤

Page 10: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

● Hadoopクラスタの構築が不要ですぐに利用可能

● ログのコレクトからストアまでワンストップで提供

● fluentd のプラグインで実現

● スキーマレスで自由度の高いログフォーマット

● time int, v map<string, string>

● データ・ウェアハウスの運用コストの低減

● BIツールとの容易なインテグレーション

ゲームのデータ分析基盤

Treasure Data

Page 11: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

ゲームのデータ分析基盤基本的な構成

Log Aggregator Server 2台

Web Server Treasure Data

あるゲームサービス

Page 12: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

● 約20ゲームタイトル

● Web サーバー x 2000台 以上

● log aggregator サーバー 40台以上

● 送信データ量 1TB/月

ゲームのデータ分析基盤

データについて

Page 13: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

ゲームのデータ分析基盤ダッシュボード

Page 14: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

• ログデータをゲーム改善のアクションにつなげる• アクセス遷移分析

• Webサイト分析では一般的な手法を、ソーシャルゲームに導入

• ジョブ管理をしっかりする• ジョブ管理ツール

ゲームのデータ分析基盤データを使って何をやるかが大事

Page 15: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

• ページ遷移

• 起点のページから何割のユーザーが目的のページに到達したか?

• 離脱

• 離脱率の高いステップはどこか?

• クリック

• ページ内のどのリンクがクリックされているか?

ゲームのデータ分析基盤

アクセス遷移分析

Page 16: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

ゲームのデータ分析基盤ページ遷移分析

TOPページからアイテムをクリッ

アイテムを選ぶ

庭に種を植える

完了

Page 17: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

ゲームのデータ分析基盤

TOPページから次のページへ遷移したユーザーの割合を表示

アイテム一覧に遷移したユーザーは全体の○○%

Page 18: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

ゲームのデータ分析基盤

TOPページからアイテム一覧でイベントアイテムを選んで、庭に種を植えたユーザーは、全

体の○○%

Page 19: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

• ゲームをプレイしてくれたけど、すぐにやめてしまったユーザーの行動?

• 新規ユーザー

• チュートリアル?

• 休眠復帰(n日以上間あけて遊びにきてれた)ユーザー

• カムバックボーナス?

• どういう遷移の後、最後にどのページで離脱してしまうのか?

離脱分析

Page 20: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

• ページ遷移 + ユーザセグメント → 離脱原因をさぐる

ゲームのデータ分析基盤

離脱分析

プレイをやめてしまうまでの経路と割合を分析

プレイ時間も参考に

Page 21: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

ゲームのデータ分析基盤

クリック分析

● データソースは、アクセス遷移分析結果● Chrome Extension を利用して、実際の画面にオー

バーレイ表示

● UI・UXの改善に

<a href=”.....”> <span class=”....”> 10.01% </span></a>

Page 22: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

ゲームのデータ分析基盤クリック分析

● クリックのログをJavaScript でサーバーへ送信

● お知らせやランキングの効果などで活用

Page 23: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

• データを社内に開放

• 非効率なジョブが大量に投げ込まれる

ゲームのデータ分析基盤

ジョブ管理ツール

Page 24: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

• ジョブのモニタリングと管理が重要• Treasure Data の API を使ってモニタリング

• ジョブを可視化

• ジョブの送信元の特定

• スロークエリの可視化と特定

• 強制KILL

ゲームのデータ分析基盤リソースは限られているのです

Page 25: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

• 時系列に実行中とキューイングされているjobを集計

ゲームのデータ分析基盤ジョブの可視化

Page 26: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

• クエリ実行の際に送信者を自動付与

ゲームのデータ分析基盤ジョブの送信元を特定

-- analysis biSELECT TO_DATE( FROM_UNIXTIME(time) ) AS day, COUNT(DISTINCT uid) AS dauFROM accessGROUP BY TO_DATE( FROM_UNIXTIME(time) )

Page 27: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

• 閾値以上時間のかかっているジョブの統計と一覧を表示

ゲームのデータ分析基盤スロークエリの可視化と特定

Page 28: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

• Treasure Data を使ってます

• ログデータをゲーム改善のアクションにつなげる• アクセス遷移分析

• Webサイト分析では一般的な手法を、ソーシャルゲームに導入

• ジョブ管理をしっかりする• ジョブ管理ツール

ゲームのデータ分析基盤

まとめ

Page 29: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

•ゲーム• Treasure Data ベース

• ゲームへのアクセスログ

• GREE Platform• Hadoop ベース

• ゲームからAPIへのログ

• ユーザ情報

グリーのデータ分析基盤

Page 30: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

GREE Platformのデータ分析基盤概要

MySQL

HBase

db-express

Storage Solaris(log archives)

Webサーバ

MR

HiveWeb

HDFS

Presto

Azkaban

MacaronHDFS

zookeeper

Analysis Data Hub

サービス

速報用Storage

ディレクタエンジニア

Page 31: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

• JDK7 + CDH4 + Apache Hive (v0.12+α)• HiveServer2

• 追加パッチ• Kryo serialization (Hive 1511, etc.)• …

• 独自拡張 • 社内認証システムとの連携

• auto-load extra UDFs

GREE Platformのデータ分析基盤主な構成

Page 32: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

Any questions?

• 5000ジョブ/ 日

• 60TB• 圧縮, レプリカを除く

• 100ユーザ

• ほとんどが非エンジニア

GREE Platformのデータ分析基盤利用状況

Page 33: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

GREE Platformのデータ分析基盤概要

MySQL

HBase

db-express

Storage Solaris(log archives)

Webサーバ

MR

HiveWeb

HDFS

Presto

Azkaban

MacaronHDFS

zookeeper

Analysis Data Hub

サービス

速報用Storage

ディレクタエンジニア

Page 34: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

• 直接アクセス

• SQuirreLSQL• JDBC, ODBC 接続できるものなら

• グラフ化

• Macaron• 自社製

• その他• Shell, Python, R, PHP, …• thanks to Thrift

GREE Platformのデータ分析基盤

データへのアクセス方法

Page 35: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

GREE Platformのデータ分析基盤

SQuirrelSQL

Page 36: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

Any questions?

• データのグラフ化

• RDB/Hiveに対応

• キャッシュ機能

• 出力:画像、HTML

GREE Platformのデータ分析基盤

Macaron

画像内のデータはサンプルです

Page 37: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

Any questions?

• HQL の中に Ruby のコードを埋め込む• HQL(SQL)で書きにくいクエリを処理できる

• https://github.com/gree/hive-ruby-scripting

GREE Platformのデータ分析基盤

Ruby Scripting in Hive Query Language

HQLの中でRubyの関数を定義

定義した関数を実行

Page 38: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

GREE Platformのデータ分析基盤概要

MySQL

HBase

db-express

Storage Solaris(log archives)

Webサーバ

MR

HiveWeb

HDFS

Presto

Azkaban

MacaronHDFS

zookeeper

Analysis Data Hub

サービス

速報用Storage

ディレクタエンジニア

Page 39: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

Any questions?

GREE Platformのデータ分析基盤データのインポート

• ログデータのインポート

• ハイブリッド: bulk copy + streaming log events• Fluentd & WebHDFS(まだ不安定)

• MySQLからのインポート: db-express• Sqoopのラッパー

• Cooperation w/ in-house DSN catalog• Parallel import Sharded DataBases / Tables

• 手動インポート

• ブラウザからアップロード

Page 40: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

• GREE Platform のデータ分析基盤は、Hadoopをベースにして自作

• CDH4 + Hive + α

• Macaron• Ruby Scripting in Hive Query Language• db-expess

GREE Platformのデータ分析基盤

まとめ

Page 41: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

近い未来の話

Page 42: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

近い未来の話

Speedyより速く

Intelligentlyより高度に

コンセプト

Page 43: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

Any questions?

• Presto と Spark(YARN) に注目

近い未来の話必要な機能

機能 選択肢

ダッシュボード・BI Macaron, Metric Insights, Tableau, …

データカタログ Hive (HCatalog), …

ジョブ管理・ワークフロー Azkaban, Oozie, …

クエリ言語(エンジン) Hive, Pig, Cascading, Spark, FlumeJava, …

分散処理

MR, MPP ( Vertica, RedShift, … )

Impala, Presto, …

分散ファイルシステム HDFS, S3, MapR FS, Tachyon, CFS …

Page 44: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

Any questions?

• リソース管理をやりやすく

近い未来の話

YARN

Page 45: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

• OSSな分散SQLエンジン: http://prestodb.io/• Facebookが開発

• Hiveよりも速い

近い未来の話

Presto

Page 46: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

Any questions?

• データ処理フレームワーク• 開発: AMPLab in UC Berkeley• 速いのが特徴

• 機械学習での利用に最適

近い未来の話

Spark

Page 47: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.

• Accessability、Scalability• ゲーム:Treasure Data• プラットフォーム:Hadoop

• Speedy、Intelligently• クエリの高速化

• 機械学習を利用したデータの活用

まとめ

Page 48: 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)

Copyright © GREE, Inc. All Rights Reserved.