• Like
アクセス解析システムの裏側 (公開用)
Upcoming SlideShare
Loading in...5
×

アクセス解析システムの裏側 (公開用)

  • 26,440 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • @HideyukiKawashima
    川島先生、コメントありがとうございます。
    やはりSQLではなかなか痒い所には手が届かないですよね。なので、Hive等にデータを入れる時点でできるだけ扱いやすい形式に変換、非正規化してしまって、Hiveでは単純な集計処理をするだけ状態にしてしまえば、目的の処理は妥当なコストで実現できるかとは思います。もちろん、より汎用的な手法は模索していきたい所です。 MADLib/Bismarck も調べてみたいと思います。
    Are you sure you want to
    Your message goes here
  • おお、UserLocalに行ったんだ!!
    Are you sure you want to
    Your message goes here
  • とても興味深いです.JOIN処理が重い点,SQLに限界がある点について,特に共感いたしました.UDF/UDAに関しては処理内容を並列化することが困難ですが,MADLib/Bismarckは機械学習の一部(特に凸最適化問題(SVMなど))に関しての性能向上を提案しており,SQL/MapReduceではUDFでのM/R記述を許しています.しかしながらどれもいまいち痒いところに手が届かないように思います.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
26,440
On Slideshare
0
From Embeds
0
Number of Embeds
22

Actions

Shares
Downloads
75
Comments
3
Likes
52

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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