Download - 【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)
Copyright © GREE, Inc. All Rights Reserved.
Developers Summit 2014
グリーを支えるデータ分析基盤の過去と現在
2014/02/14
グリー株式会社Web Game 事業統括本部
橋本 泰一
Copyright © GREE, Inc. All Rights Reserved.
• 1997年 東京工業大学 情報工学科 卒業
• 2002年 東京工業大学 大学院情報理工学系研究科 修了博士(工学)
• 2002年 東工大 助手 & 特任准教授
• 2012年 グリー株式会社
• 自然言語処理、情報検索、〇〇マイニング、機械学習…• GREE PlatformおよびWebベースのソーシャルゲームの
データ分析基盤を担当
自己紹介:橋本 泰一(はしもと たいいち)Self-introduction
Copyright © GREE, Inc. All Rights Reserved.
過去の話…
Copyright © GREE, Inc. All Rights Reserved.
過去の話2011年
ディレクタエンジニア
Copyright © GREE, Inc. All Rights Reserved.
過去の話2012年
ディレクタエンジニア
Analytics DB(SQL Server)
Copyright © GREE, Inc. All Rights Reserved.
• データほしい人が増えてきた…• 理由:サービスが増えた、人が増えた、…
• データ提供が正直しんどくなってきた…
過去の話だんだんと困ってきたこと…
Copyright © GREE, Inc. All Rights Reserved.
今の話…
Copyright © GREE, Inc. All Rights Reserved.
Any questions?
• Accessability• だれでも自由に
• Scalability• どれだけ貯めこんでも
GREE Platformのデータ分析基盤
コンセプト
Copyright © GREE, Inc. All Rights Reserved.
•ゲーム• Treasure Data ベース
• ゲームへのアクセスログ
• GREE Platform• Hadoop ベース
• ゲームからAPIへのログ
• ユーザ情報
グリーのデータ分析基盤
Copyright © GREE, Inc. All Rights Reserved.
● Hadoopクラスタの構築が不要ですぐに利用可能
● ログのコレクトからストアまでワンストップで提供
● fluentd のプラグインで実現
● スキーマレスで自由度の高いログフォーマット
● time int, v map<string, string>
● データ・ウェアハウスの運用コストの低減
● BIツールとの容易なインテグレーション
ゲームのデータ分析基盤
Treasure Data
Copyright © GREE, Inc. All Rights Reserved.
ゲームのデータ分析基盤基本的な構成
Log Aggregator Server 2台
Web Server Treasure Data
あるゲームサービス
Copyright © GREE, Inc. All Rights Reserved.
● 約20ゲームタイトル
● Web サーバー x 2000台 以上
● log aggregator サーバー 40台以上
● 送信データ量 1TB/月
ゲームのデータ分析基盤
データについて
Copyright © GREE, Inc. All Rights Reserved.
ゲームのデータ分析基盤ダッシュボード
Copyright © GREE, Inc. All Rights Reserved.
• ログデータをゲーム改善のアクションにつなげる• アクセス遷移分析
• Webサイト分析では一般的な手法を、ソーシャルゲームに導入
• ジョブ管理をしっかりする• ジョブ管理ツール
ゲームのデータ分析基盤データを使って何をやるかが大事
Copyright © GREE, Inc. All Rights Reserved.
• ページ遷移
• 起点のページから何割のユーザーが目的のページに到達したか?
• 離脱
• 離脱率の高いステップはどこか?
• クリック
• ページ内のどのリンクがクリックされているか?
ゲームのデータ分析基盤
アクセス遷移分析
Copyright © GREE, Inc. All Rights Reserved.
ゲームのデータ分析基盤ページ遷移分析
TOPページからアイテムをクリッ
ク
アイテムを選ぶ
庭に種を植える
完了
Copyright © GREE, Inc. All Rights Reserved.
ゲームのデータ分析基盤
TOPページから次のページへ遷移したユーザーの割合を表示
アイテム一覧に遷移したユーザーは全体の○○%
Copyright © GREE, Inc. All Rights Reserved.
ゲームのデータ分析基盤
TOPページからアイテム一覧でイベントアイテムを選んで、庭に種を植えたユーザーは、全
体の○○%
Copyright © GREE, Inc. All Rights Reserved.
• ゲームをプレイしてくれたけど、すぐにやめてしまったユーザーの行動?
• 新規ユーザー
• チュートリアル?
• 休眠復帰(n日以上間あけて遊びにきてれた)ユーザー
• カムバックボーナス?
• どういう遷移の後、最後にどのページで離脱してしまうのか?
離脱分析
Copyright © GREE, Inc. All Rights Reserved.
• ページ遷移 + ユーザセグメント → 離脱原因をさぐる
ゲームのデータ分析基盤
離脱分析
プレイをやめてしまうまでの経路と割合を分析
プレイ時間も参考に
Copyright © GREE, Inc. All Rights Reserved.
ゲームのデータ分析基盤
クリック分析
● データソースは、アクセス遷移分析結果● Chrome Extension を利用して、実際の画面にオー
バーレイ表示
● UI・UXの改善に
<a href=”.....”> <span class=”....”> 10.01% </span></a>
Copyright © GREE, Inc. All Rights Reserved.
ゲームのデータ分析基盤クリック分析
● クリックのログをJavaScript でサーバーへ送信
● お知らせやランキングの効果などで活用
Copyright © GREE, Inc. All Rights Reserved.
• データを社内に開放
• 非効率なジョブが大量に投げ込まれる
ゲームのデータ分析基盤
ジョブ管理ツール
Copyright © GREE, Inc. All Rights Reserved.
• ジョブのモニタリングと管理が重要• Treasure Data の API を使ってモニタリング
• ジョブを可視化
• ジョブの送信元の特定
• スロークエリの可視化と特定
• 強制KILL
ゲームのデータ分析基盤リソースは限られているのです
Copyright © GREE, Inc. All Rights Reserved.
• 時系列に実行中とキューイングされているjobを集計
ゲームのデータ分析基盤ジョブの可視化
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) )
Copyright © GREE, Inc. All Rights Reserved.
• 閾値以上時間のかかっているジョブの統計と一覧を表示
ゲームのデータ分析基盤スロークエリの可視化と特定
Copyright © GREE, Inc. All Rights Reserved.
• Treasure Data を使ってます
• ログデータをゲーム改善のアクションにつなげる• アクセス遷移分析
• Webサイト分析では一般的な手法を、ソーシャルゲームに導入
• ジョブ管理をしっかりする• ジョブ管理ツール
ゲームのデータ分析基盤
まとめ
Copyright © GREE, Inc. All Rights Reserved.
•ゲーム• Treasure Data ベース
• ゲームへのアクセスログ
• GREE Platform• Hadoop ベース
• ゲームからAPIへのログ
• ユーザ情報
グリーのデータ分析基盤
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
ディレクタエンジニア
Copyright © GREE, Inc. All Rights Reserved.
• JDK7 + CDH4 + Apache Hive (v0.12+α)• HiveServer2
• 追加パッチ• Kryo serialization (Hive 1511, etc.)• …
• 独自拡張 • 社内認証システムとの連携
• auto-load extra UDFs
GREE Platformのデータ分析基盤主な構成
Copyright © GREE, Inc. All Rights Reserved.
Any questions?
• 5000ジョブ/ 日
• 60TB• 圧縮, レプリカを除く
• 100ユーザ
• ほとんどが非エンジニア
GREE Platformのデータ分析基盤利用状況
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
ディレクタエンジニア
Copyright © GREE, Inc. All Rights Reserved.
• 直接アクセス
• SQuirreLSQL• JDBC, ODBC 接続できるものなら
• グラフ化
• Macaron• 自社製
• その他• Shell, Python, R, PHP, …• thanks to Thrift
GREE Platformのデータ分析基盤
データへのアクセス方法
Copyright © GREE, Inc. All Rights Reserved.
GREE Platformのデータ分析基盤
SQuirrelSQL
Copyright © GREE, Inc. All Rights Reserved.
Any questions?
• データのグラフ化
• RDB/Hiveに対応
• キャッシュ機能
• 出力:画像、HTML
GREE Platformのデータ分析基盤
Macaron
画像内のデータはサンプルです
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の関数を定義
定義した関数を実行
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
ディレクタエンジニア
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
• 手動インポート
• ブラウザからアップロード
Copyright © GREE, Inc. All Rights Reserved.
• GREE Platform のデータ分析基盤は、Hadoopをベースにして自作
• CDH4 + Hive + α
• Macaron• Ruby Scripting in Hive Query Language• db-expess
GREE Platformのデータ分析基盤
まとめ
Copyright © GREE, Inc. All Rights Reserved.
近い未来の話
Copyright © GREE, Inc. All Rights Reserved.
近い未来の話
Speedyより速く
Intelligentlyより高度に
コンセプト
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 …
Copyright © GREE, Inc. All Rights Reserved.
Any questions?
• リソース管理をやりやすく
近い未来の話
YARN
Copyright © GREE, Inc. All Rights Reserved.
• OSSな分散SQLエンジン: http://prestodb.io/• Facebookが開発
• Hiveよりも速い
近い未来の話
Presto
Copyright © GREE, Inc. All Rights Reserved.
Any questions?
• データ処理フレームワーク• 開発: AMPLab in UC Berkeley• 速いのが特徴
• 機械学習での利用に最適
近い未来の話
Spark
Copyright © GREE, Inc. All Rights Reserved.
• Accessability、Scalability• ゲーム:Treasure Data• プラットフォーム:Hadoop
• Speedy、Intelligently• クエリの高速化
• 機械学習を利用したデータの活用
まとめ
Copyright © GREE, Inc. All Rights Reserved.