2011-08-20 1 views
4

私はいくつかのキーワード/ユーザを監視するためにTwitter Streaming APIを使用しています。私はつぶやきjsonの文字列をtwitterからそのままダンプすることを計画しています。それは、cassandraデータベースにそのまま置いて、後で処理します。TwitterストリーミングAPIのつぶやきをそのままApache Cassandraに投稿後処理

このようなデザインは実用的ですか?私は数百万のつぶやきを持っているとスケールアップできますか?

後で行うことになるのは、トップのユーザー、トップハッシュタグなどを取得することです。ストリームを保存しておきたいと思っています。

答えて

1

重要なことは、到着するレートの数がそれほど多くないことです。カサンドラは毎秒何千もの書き込みを処理することができます。これはうまくいくはずです(Twitterは現在、合計で1秒間に1200個のツイートを生成していますが、ごくわずかです)。

ただし、毎秒つぶやきは非常に変化します。書き込みの重いスパイクの余波の後で、範囲クエリの速度が低下することがあります。問題の解決方法や解決方法については、Cassandra under heavy write load part ipart iiのAcunuのブログ記事を参照してください。

未加工のjsonを保存するだけでなく、ユーザーIDやハッシュタグなどほとんど必要と思われるいくつかの一般的な機能を抽出し、それらを別々に保存します。これにより、後で多くの処理労力を節約できます。

考慮すべきもう1つの要因は、格納されたデータが時間とともにどのように成長するかを計画することです。 Cassandraのスケールは非常に優れていますが、クラスタ全体でロードバランスを維持する方法と、データベースの拡大に応じてノードを追加する方法については、戦略を立てておく必要があります。トークンを新しいノードに事前に割り当てる方法を計画していないと、ノードを追加することは苦しい経験になることがあります。新しいノードを追加する前にオーバーロードされたノードがあるまで待機して、クラスターを崩壊させるよい方法です。

1

あなたは何百万というつぶやきを簡単にcassandraに保存できます。

つぶやきを処理し、トップのユーザーなどの統計情報を取得する場合、hashstagsはcassandraの上に構築されたDataStaxのを参照してください。

関連する問題