2011-08-20 67 views
4

我正在使用Twitter Streaming API監控多個關鍵字/用戶。我打算將我從Twitter上直接獲得的推文json字符串直接轉儲到cassandra數據庫中,然後對它們進行後期處理。將Twitter流式傳輸API推送原樣傳輸給Apache Cassandra進行後期處理

這樣的設計是否實用?當我有數百萬條推文時,它會不會擴大規模?

我將在後面做的事情包括獲得最高的跟隨用戶,最重要的標籤等。我想保存該流,以便稍後挖掘它們以獲取我現在可能不知道的任何新信息。

回答

1

重要的不在於推文的數量與其到達的速度。卡桑德拉可以輕鬆處理每秒數千次的寫入,這應該沒問題(Twitter目前每秒鐘產生大約1200條推文,而且你可能只會得到其中的一小部分)。

但是,每秒的推文是高度可變的。在寫入數量猛增之後,您可能會看到範圍查詢的一​​些放緩。請參閱Cassandra under heavy write load part ipart ii上的Acunu博客文章,瞭解有關該問題的一些討論和解決方法。

除了存儲原始json之外,我還會提取一些幾乎可以肯定需要的常用功能,例如用戶標識和井號標籤,並將它們分開存儲。這將爲您節省很多處理工作。

要考慮的另一個因素是規劃存儲的數據將如何隨時間增長。 Cassandra可以很好地擴展,但是您需要制定一個策略,以便如何在羣集中保持負載均衡以及如何在數據庫增長時添加節點。如果您尚未計劃如何提前將令牌分配給新節點,則添加節點可能是一種痛苦的體驗。在添加新節點之前等待,直到您有一個超負荷節點,這是讓羣集崩潰的好方法。

1

您可以輕鬆地在cassandra中存儲數百萬條推文。

爲了處理鳴叫和獲取統計信息,如頂部,隨後用戶,主題標籤看從DataStax其中建立在卡桑德拉的頂部。