V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
dblue
V2EX  ›  问与答

大數據量的feed流最佳實踐是?

  •  
  •   dblue · 2013-10-21 00:09:31 +08:00 · 3045 次点击
    这是一个创建于 4086 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看過redis示例如何簡單做一個twitter……大致的思路是,三類數據:

    1. 推文的內容,比如是誰發的,文字,每個推文有一個唯一標誌id
    2. 每個user維護一個feed數組,保存推文的標誌id,每次query一個user的feed的時候,直接取出
    3. 每個user發推的時候,在1中新開一個數據項,直接O(n)的方法,把新推文的id給prepend到每個他的粉絲的feed數組中

    這樣做簡單,高效……問題是在碰到李開復這種幾100w粉絲的,即使是O(n)發條推也要好久 = =

    改善數據結構來看,似乎想不到簡單有效的方法來降低複雜度……實際上來看,這種數量級的用戶並不多,普通人如果不活躍,大概也就只是1000來粉就極限了。。然後通告負債均衡之類的,應該可以攤開來,勉強應該能應付……

    額,最佳實踐是?
    3 条回复    1970-01-01 08:00:00 +08:00
    FrankFang128
        1
    FrankFang128  
       2013-10-21 02:05:22 +08:00
    我觉的最佳实践是「先满足目前需求,等你的服务快要扛不住了再改。」
    没开玩笑。
    family
        2
    family  
       2013-10-21 07:27:27 +08:00 via iPhone
    赞楼上
    niseter
        3
    niseter  
       2013-10-21 10:02:21 +08:00 via Android
    说句不好听的,没有人会为你对以后做的准备发工钱,你拿到的工资只是完成既定目标,除非你自己当老板,否则没必要。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   990 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 19:39 · PVG 03:39 · LAX 11:39 · JFK 14:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.