アクセス解析システムの裏側 (公開用)
TRANSCRIPT
![Page 1: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/1.jpg)
アクセス解析システムの裏側
三上俊輔
112年9月23日日曜日
![Page 2: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/2.jpg)
目次
1. 自己紹介
2. ユーザーローカルとアクセス解析
3. アクセス解析の基礎
4. アクセス解析システムの裏側- リアルタイム集計- 小バッチ集計- 大規模バッチ集計
2スライド49枚
12年9月23日日曜日
![Page 3: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/3.jpg)
自己紹介•三上俊輔 •株式会社ユーザーローカル•今年3月に筑波大学院を卒業•大学では分散ファイルシステムの研究•学生の時はCookpadのデータマイニング部門で2ヶ月ほどインターン
3
12年9月23日日曜日
![Page 4: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/4.jpg)
過去の研究、発表
•研究ブログ:http://shun0102.net/•発表:「分散ファイルシステムGfarm上でのHadoop MapReduce」など- http://www.slideshare.net/shun0102/
4
12年9月23日日曜日
![Page 5: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/5.jpg)
株式会社ユーザーローカル
•早稲田発技術ベンチャー
•無料アクセス解析ツール運営
•商用アクセス解析ツールの開発/販売
•データ調査(総務省などの仕事)ex. 日本のブログ実態調査など
5
12年9月23日日曜日
![Page 6: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/6.jpg)
•PCサイト解析事業•「ユーザーインサイト」•「なかのひと」•モバイル解析事業•ケータイ解析•ソーシャル解析事業•ソーシャルメディア解析
6
12年9月23日日曜日
![Page 7: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/7.jpg)
アクセス解析は
ビッグデータ!月間50億PVを、解析してます
7
12年9月23日日曜日
![Page 8: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/8.jpg)
ユーザーインサイト
•有料のアクセス解析ツール•ヒートマップ機能と属性解析機能
商用ツール
8
12年9月23日日曜日
![Page 9: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/9.jpg)
よく聞かれる疑問
【アクセス解析】を提供している会社は
いっぱいあるんじゃないの???
9
12年9月23日日曜日
![Page 10: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/10.jpg)
国内でも50社以上
10
12年9月23日日曜日
![Page 11: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/11.jpg)
11
12年9月23日日曜日
![Page 12: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/12.jpg)
海外有名企業が提供。
11
12年9月23日日曜日
![Page 13: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/13.jpg)
にもかかわらず、国内大手企業が次々導入。
12
12年9月23日日曜日
![Page 14: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/14.jpg)
User Insightでは、どこをどう見られているかがわかる
13
12年9月23日日曜日
![Page 15: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/15.jpg)
✓クリックが多い場所はどこ?
✓どこまで読まれている?
✓熟読されている段落は?
訪問者がページの中をどう見たのかを、可視化
14
12年9月23日日曜日
![Page 16: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/16.jpg)
✓クリックが多い場所はどこ?
✓どこまで読まれている?
✓熟読されている段落は?
訪問者がページの中をどう見たのかを、可視化
14
12年9月23日日曜日
![Page 17: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/17.jpg)
✓クリックが多い場所はどこ?
✓どこまで読まれている?
✓熟読されている段落は?
訪問者がページの中をどう見たのかを、可視化
14
12年9月23日日曜日
![Page 18: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/18.jpg)
✓クリックが多い場所はどこ?
✓どこまで読まれている?
✓熟読されている段落は?
訪問者がページの中をどう見たのかを、可視化
14
12年9月23日日曜日
![Page 19: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/19.jpg)
✓クリックが多い場所はどこ?
✓どこまで読まれている?
✓熟読されている段落は?
訪問者がページの中をどう見たのかを、可視化
14
12年9月23日日曜日
![Page 20: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/20.jpg)
✓クリックが多い場所はどこ?
✓どこまで読まれている?
✓熟読されている段落は?
ブラウザの挙動からユーザーの動きをヒートマップ表示
訪問者がページの中をどう見たのかを、可視化
14
12年9月23日日曜日
![Page 21: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/21.jpg)
今日のメインはこの有料アクセス解析ではなくて、
無料のアクセス解析ツールに関して
15
12年9月23日日曜日
![Page 22: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/22.jpg)
うごくひと2
•10万サイト以上が利用
•月間30億PV
•主にガラケー向け
16
12年9月23日日曜日
![Page 23: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/23.jpg)
なぜリニューアル?
•スマートフォン•リアルタイム•ビッグデータ 今の40億PVから100億PVへスケール
17
12年9月23日日曜日
![Page 24: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/24.jpg)
新卒で入ってからのミッション
• 100億PVまでスケールするアクセス解析システムのバックエンド
•アクセスをうけるビーコンと集計するバッチをどう構築するか
18
12年9月23日日曜日
![Page 25: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/25.jpg)
まずはアクセス解析の基本から
19
12年9月23日日曜日
![Page 26: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/26.jpg)
ビーコン型アクセス解析
サイト閲覧一般ユーザー ウェブサイト
アクセス解析事業者情報送信(Javascriptで情報を送る、
携帯などは画像を読み込ませる)
20
12年9月23日日曜日
![Page 27: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/27.jpg)
基本的な指標
• PV ・・・ アクセス回数
• VISIT・・・ セッション回数
• UU・・・ ユニークユーザー数
21
12年9月23日日曜日
![Page 28: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/28.jpg)
セッションって何?• 一定時間(30分が多い)途切れずに続く一連のアクセス
0:00 0:50 1:10
2セッション
0:00 0:20 0:40
1セッション
1:00
22
12年9月23日日曜日
![Page 29: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/29.jpg)
アクセス解析システム実装の悩み
• 大量のアクセスを受け付けてリアルタイム集計もするフロントエンド
• リアルタイムでやるには重い処理(JOINなど)
• 離脱の判定などのセッション単位の集計• 人気ページランキングなどの1日単位の大規模集計• 全て1日一回のバッチで済ませれば構成はシンプルになるが、バッチが数時間かかるのはつらい
23
12年9月23日日曜日
![Page 30: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/30.jpg)
集計処理の分類
• リアルタイム集計
• 小バッチ集計(30分に一回)
• 大バッチ集計(一日一回)
24
12年9月23日日曜日
![Page 31: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/31.jpg)
リアルタイムサマリー
25
12年9月23日日曜日
![Page 32: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/32.jpg)
リアルタイム足跡
26
12年9月23日日曜日
![Page 33: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/33.jpg)
これらの機能を実現するために、、、
• カウントアップするためのストレージ• 秒間1000~2000アクセス
• 1回のアクセスで数回のreadとwrite
• 直近のアクセスを見るためのストレージ• readよりwriteが多い
• 集計処理27
12年9月23日日曜日
![Page 34: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/34.jpg)
これらの機能を実現するために、、、
• カウントアップするためのストレージ• 秒間1000~2000アクセス
• 1回のアクセスで数回のreadとwrite
• 直近のアクセスを見るためのストレージ• readよりwriteが多い
• 集計処理
速さと安定性
27
12年9月23日日曜日
![Page 35: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/35.jpg)
これらの機能を実現するために、、、
• カウントアップするためのストレージ• 秒間1000~2000アクセス
• 1回のアクセスで数回のreadとwrite
• 直近のアクセスを見るためのストレージ• readよりwriteが多い
• 集計処理
速さと安定性
高い書き込み性能と柔軟な集計処理
27
12年9月23日日曜日
![Page 36: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/36.jpg)
フロントのシステム構成
Memcached
PV, VISIT, UUのカウントアップ
ログ書き込み
28
12年9月23日日曜日
![Page 37: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/37.jpg)
Fluentdでのログリレー
Memcached
UUなどカウントアップ
ログ書き込み
Fluentd Fluentd
Fluentd(slave)
Fluentd(master)
参考:http://docs.treasure-data.com/articles/td-agent-high-availability29
12年9月23日日曜日
![Page 38: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/38.jpg)
Fluentdでのログリレー
Memcached
UUなどカウントアップ
ログ書き込み
Fluentd Fluentd
Fluentd(slave)
Fluentd(master)
ポイント1. 次のfluendに書き込めない時は待ってリトライする
参考:http://docs.treasure-data.com/articles/td-agent-high-availability29
12年9月23日日曜日
![Page 39: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/39.jpg)
Fluentdでのログリレー
Memcached
UUなどカウントアップ
ログ書き込み
Fluentd Fluentd
Fluentd(slave)
Fluentd(master)
ポイント1. 次のfluendに書き込めない時は待ってリトライする
ポイント2. MongoDBへの書き込みはチャンク単位で行う
参考:http://docs.treasure-data.com/articles/td-agent-high-availability29
12年9月23日日曜日
![Page 40: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/40.jpg)
集計処理の分類
• リアルタイム集計
• 小バッチ集計(30分に一回)
• 大バッチ集計(一日一回)
30
12年9月23日日曜日
![Page 41: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/41.jpg)
通常の集計処理の結果画面
31
12年9月23日日曜日
![Page 42: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/42.jpg)
組織からの訪問回数
32
12年9月23日日曜日
![Page 43: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/43.jpg)
小バッチ処理でやらないといけないこと
• 離脱の判断
• 組織やユーザエージェントの情報などとのJOIN
• 集計結果をDBに保存
33
12年9月23日日曜日
![Page 44: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/44.jpg)
小バッチ処理の流れ
組織、ユーザーエージェント情報DB
集計結果格納DB 最終的にログをHDFSに保存
バッチサーバー
34
12年9月23日日曜日
![Page 45: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/45.jpg)
集計処理の分類
• リアルタイム集計
• 小バッチ集計(30分に一回)
• 大バッチ集計(一日一回)
35
12年9月23日日曜日
![Page 46: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/46.jpg)
大バッチじゃないとできないこと
• 集計結果としてランキング上位の結果だけ残したい
• 人気ページランキングや参照元のランキング
36
12年9月23日日曜日
![Page 47: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/47.jpg)
必然的にHadoopを使用
• 1日1億PV
• 非圧縮のJSONログで1日100GB
• ビッグデータ
37
12年9月23日日曜日
![Page 48: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/48.jpg)
MapReduce言語 何をつかう?
• Java MapReduce- 性能は良い、工数がかかる、一部ではアセンブリ言語と呼ばれる
• Hive- SQLライク、スキーマ定義必要、効率の良いファイルフォーマット(RCFile)
• Pig- 独自言語、スキーマ定義不要
• Hadoop Streaming- 好きな言語で書ける、性能は悪い
38
12年9月23日日曜日
![Page 49: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/49.jpg)
RCFileが魅力的なのでHiveを使用それぞれのRow Groupの中でカラム指向のフォーマット
必要なカラムだけのread、高い圧縮率
最近ではPigもRCFileを使える?
39
12年9月23日日曜日
![Page 50: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/50.jpg)
大バッチ処理の流れ
集計結果格納DB
JSONテキストログをRCFileに変換
(100GBのログが十数GB
程度まで圧縮)
ランキング集計バッチ処理
Hive Server
40
12年9月23日日曜日
![Page 51: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/51.jpg)
Hiveでは細かい処理はしにくい?
• SQLだけでは出来ることに限りがある
• UDF (User-Defined Function)
• UDAF (User-Defined Aggregation Function)
• UDF, UDAFを使うことによって柔軟な処理!
• 簡単です
41
12年9月23日日曜日
![Page 52: アクセス解析システムの裏側 (公開用)](https://reader034.vdocuments.mx/reader034/viewer/2022052507/558e70411a28ab6c638b461f/html5/thumbnails/52.jpg)
まとめ
• アクセス解析は、ビッグデータとリアルタイムの両立が重要に
• リアルタイム、小バッチ、大バッチの3段階集計で処理
ユーザーローカルではウェブ解析に興味のあるエンジニアを募集中です!
42
12年9月23日日曜日