我有一個應用程序(對於給定的twitter用戶),獲取您關注的twitter用戶列表,但不會跟着你回來。它這樣做:什麼是這個數據集的最佳數據庫?
- 比較兩個列表,其中一個來自時間x和時間y,也看看是否有更多的人跟着你回來或更少。
- 看看twitter用戶x需要多長時間才能關注你。
- 看看有多少銳推/評論所花費的用戶X跟着你回來
我想出了一個簡單的方法只是一個有一個過許多屬於關係瓦特/用戶,人們不繼你回來了,如:
User table
-id
TwitterUser table
-user_id
-timestamp
-isFollowing
所以W/SQL是我的模式可以得到所有的非追蹤回用戶給定用戶,他們可以通過時間戳進行比較,以符合上述要求。
但是,我希望有一個更好的DB後端來表示這個數據集比sql數據庫。我一直在嘗試w/redis,但不知道如何把它關掉。
我在想也許一個文件存儲 - b/c所有我想要做的是採取兩個數據集的差異。或者更確切地說:我想區分兩個twitter用戶ID列表。
任何想法?
非常有趣的回覆 - 謝謝。我還沒有考慮過增長率分析,但這是一個非常重要的考慮因素。我正在考慮你的第一個設計,但是如果我想將一組ID與一個用戶相關聯,那麼我應該只將用戶ID添加到密鑰中?例如:SADD user_a_ids_at_time_x「15424」還是那個糟糕的redis設計? – eggie5
@ eggie5在密鑰中包含用戶標識是完全有效的。通常情況下,程序員使用':'作爲分隔符,所以持有一個集合的鍵可能遵循像'user:$ USERID:ids:$ UNIXTIMESTAMP'這樣的模式,例如:'user:153343:ids:1337939983'。使用類似於此的模式,您將能夠動態構建密鑰。 [Redis的官方微博克隆](http://redis.io/topics/twitter-clone)對初學者來說是一個不錯的閱讀 – galymzhan
好的,我會看看twitter克隆示例和關鍵方案。 – eggie5