twitter分散クロールの野望

50
twitter 分散クロールの野望 しだらようじ (dara) 2007-11-17 Ruby勉強会札幌-6

Upload: yoji-shidara

Post on 17-May-2015

4.361 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Twitter分散クロールの野望

twitter分散クロールの野望しだらようじ (dara)

2007-11-17Ruby勉強会札幌-6

Page 2: Twitter分散クロールの野望

自己紹介

Page 3: Twitter分散クロールの野望

詳しくはポジペ

Page 4: Twitter分散クロールの野望

今日は

Page 5: Twitter分散クロールの野望

buzztter作者http://buzztter.com

Page 6: Twitter分散クロールの野望

として発表させていただきます

Page 7: Twitter分散クロールの野望

buzztterとは

Page 8: Twitter分散クロールの野望

twitter

Page 10: Twitter分散クロールの野望

「今何しているの?」を媒介にした

コミュニケーションサービス

Page 11: Twitter分散クロールの野望

buzztterは

Page 12: Twitter分散クロールの野望

twitter 全体の「イマ」を切り取るサービス

Page 14: Twitter分散クロールの野望

Ruby + Ruby on Railsで構築

Page 15: Twitter分散クロールの野望

初期バージョンは2週間で開発

Page 16: Twitter分散クロールの野望

掲載書籍

twitterコミュニケーション・バイブル̶気軽に書ける1行ブログ ブラウザインスタントメッセンジャーケータイ対応菊地 芳枝 著

Twitter!̶Twitter APIガイドブック辻村 浩 著

Page 17: Twitter分散クロールの野望

twitter上での評判twitter、buzztter、twitter検索、tumblr、はてブ。これらが手放せない。http://twitter.com/akio0911/statuses/387770042

buzztterはtwitter-erの心を映す鏡http://twitter.com/maybowjing/statuses/344534932

相変わらずbuzztterはよく空気を読んでる。そもそも、そういう仕組みのモノなんだけど。http://twitter.com/NStyles/statuses/335544352

Page 18: Twitter分散クロールの野望

扱うべきデータ量

Page 19: Twitter分散クロールの野望

扱うべきデータ量2007年11月3日 buzztter調べ125,626 updates/日5234.4 updates/時87.24 updates/分データの大きさ (JSON response)約12kB/20 updates約71.88MB/日約25.62GB/年

Page 20: Twitter分散クロールの野望

システム構成twitter

DB

fetcher

analyzer

web UIhot botnotify bot

dRB

twitter API

importerlanguage guesser

user

Page 21: Twitter分散クロールの野望

...という話は

Page 22: Twitter分散クロールの野望

buzztterの裏側とその周辺技術

しだらようじ(dara)

2007-11-06勉強会@自律系

http://d.hatena.ne.jp/darashi/20071106/1194365071

Page 23: Twitter分散クロールの野望

をご覧いただくことにして

Page 24: Twitter分散クロールの野望

大量の発言を解析し続ける必要がある

Page 25: Twitter分散クロールの野望

ところが

Page 26: Twitter分散クロールの野望

twitter APIでは一度に「最新の」

「20 updates」しか取得できない

Page 27: Twitter分散クロールの野望

取りこぼしたら終わり

Page 28: Twitter分散クロールの野望

ショボーン(́・ω・`)

Page 29: Twitter分散クロールの野望

でも負けない

Page 30: Twitter分散クロールの野望

現在のbuzztter

Page 31: Twitter分散クロールの野望

分散クローラ w/dRB, Rindatwitter

fetcher fetcher fetcher

DB

importer

1時間分をfetcherのメモリに保持

importerが永続化

dRB

Page 32: Twitter分散クロールの野望

ハードウェア on 自宅ラック

自作PC(メイン)Core 2 Duo 6400

(2.13GHz)Memory: 2GB

VM on 自作PC(補助クローラ)Pentium 4 2.53GHzMemory: 1GB

別マシンに分散

Page 33: Twitter分散クロールの野望

問題点

Page 34: Twitter分散クロールの野望

僕らの記憶は1時間しかもたない

Page 35: Twitter分散クロールの野望

ネットワーク的に分散しづらい

(ssh tunnel などが必要)

Page 36: Twitter分散クロールの野望

オープンにはしづらい

Page 37: Twitter分散クロールの野望

そこで

Page 38: Twitter分散クロールの野望

次期分散クローラ構想twitter

fetcher fetcher fetcher

importer importer

DB DB DB

各ユーザが自由に利用

RESTなどでP2Pで補完

Page 39: Twitter分散クロールの野望

進捗状況

Page 40: Twitter分散クロールの野望

まだ構想段階

Page 41: Twitter分散クロールの野望

当面の課題

Page 42: Twitter分散クロールの野望

ノードのデータストレージをどうするか

Page 43: Twitter分散クロールの野望

プロトコルをどうするか

Page 44: Twitter分散クロールの野望

などなど...

Page 45: Twitter分散クロールの野望

山積み

Page 46: Twitter分散クロールの野望

twitterクローラは

Page 47: Twitter分散クロールの野望

twitter全体を解析するサービスには

Page 48: Twitter分散クロールの野望

かならず必要

Page 49: Twitter分散クロールの野望

みんなでつくってみんなでつないでみんなで使おう

Page 50: Twitter分散クロールの野望

twitter分散クローラ