2012-08-29 47 views
1

我正在嘗試爲twitter克隆做一個新聞推送 - 它顯示了用戶選擇的最新推文,而不是來自所有用戶的最新推文或來自單個用戶的最新推文。pycassa timeseries關於多個鍵的數據

我都存放在單獨的按鍵UUID鍵,如:

user1, {UUID01: '', UUID02: '', UUID03: '', UUID04: ''} 
user2, {UUID05: '', UUID06: '', UUID07: '', UUID08: ''} 
user3, {UUID09: '', UUID10: '', UUID11: '', UUID12: ''} 
user4, {UUID13: '', UUID14: '', UUID15: '', UUID16: ''} 

末各UUID涉及鳴叫另一列家庭:

UUID01, { ... } 
UUID02, { ... } 
UUID03, { ... } 

現在,我可以最有效地獲得鳴叫時間排序適用於所有用戶或單個用戶。但是,如何獲得例如user1,user2和user3的時間順序事件?

請注意,用戶1可能有很多新的推文,但用戶2可能有幾個新的推文。

我已經考慮製作一個'newsfeed'列家族,它擁有用戶所關注的所有用戶的推文的UUID,但是這種純粹的數據冗餘水平看起來......太過分了。這是一個更明智的方法嗎?

回答

1

在客戶端排序(合併),或複製到一個單獨的新聞源,基本上是你的兩個選擇。選擇你的毒藥。

FWIW,我看到一篇我再也找不到的研究論文,分析哪個更好。它得出的結論是,重複更好達到一定的推特量閾值。 (〜每用戶約10000人,IIRC。)