本内容は、デブサミ2014の講演のメモです。
http://event.shoeisha.jp/devsumi/20140213/session/410/
過去の話
2011
Webサーバのログをrsyncでストレージに蓄える
バッチ処理をしたものをMySQLに格納
2012
生データを触りたいという要望から、解析用のSQLServeを導入
困ってきた
データが欲しい人が増えた
サービスが増えた
人が増えた
データ提供が難しくなり、遅延が発生し始めてきた
現在の話
コンセプト
-
Accessability
誰でも自由に -
Scalability
どれだけ貯めこんでも
ゲーム
-
Treasure Dataデータベース
ゲームへのアクセスログ -
Hadoopクラスタの構築が不要
-
コレクトからストアまで
fluentd -
スキーマレスで自由度の高いログフォーマット
time int, v map -
データ・ウェアハウスの運用コストの低減
-
BIツールとの用容易なインテグレーション
-
構成
Webサーバからログを、2台のLog Aggregateor Serverに集約した上で、Treasure Dataへ移行
約20ゲームタイトル
ウェブサーバ2000台以上
log aggregatorサーバ40台以上
送信データ量 1TB -
ログデータをゲーム改善のアクションにつなげる
アクセス状態分析
Webサイトでは一般的な手法をソーシャルゲームに導入 -
ジョブ管理をしっかりする
誰でも触れるので、負荷などを監視できるように
アクセス遷移分析
- ページ遷移
- 離脱
- クリック
Chrome Extensionを利用して実際の画面にオーバーレイ
-
アクセス遷移分析
-
クリック分析
お知らせやランキングの効果などで活用
ジョブ管理ツール
非効率なジョブが投入されるケースが存在する
- ジョブを可視化
- ジョブの送信元の特定
- スロークエリの可視化と特定
Treasure Dataを利用しているが、その利用方法を社内でシステム化
GREE Platform
-
Hadoopベース
ゲームからAPIへのログ
ユーザ情報 -
利用状況
5000ジョブ/ 日
数ヶ月分で、圧縮した状態で60TB
ユーザは120人、ほとんどが非エンジニア
アクセス方法
Hive Presto Macaronで構成されたシステムに対して
-
アクセス
SQuirreLSQL を推奨
JDBC / ODBC(接続は可能) -
グラフ化
Macaron(自社製品) -
その他
Shell, Python, R, PHP
Thriftのおかげ
近い未来の話
Speedy & Intelligently
Presto
OSSな分散SQLエンジン
Post Hive (produced by Facebook)
Hiveよりも速い
速度
Impara > Presto > Hive
Imparaはメモリ効率が悪そうということで、Prestoを採用
Prestoはオープンソース。内部の改変は必要となるので、Prestoが利用しやすい。
Spark
Hadoopより速い
非同期のMapReduce
機械学習に最適