如何在Google App Engine上建模社交新闻Feed

时间:2010-03-15 13:40:25

标签: python google-app-engine social-networking google-cloud-datastore

我们希望实现“新闻Feed”,用户可以在其中查看消息 由她的朋友播放,先用最新消息排序。但 Feed应该反映她朋友列表中的变化。 (如果她补充新的 朋友,来自那些的消息应该包含在Feed中,如果 她删除了朋友,不应该包含他们的消息。)如果我们使用 pubsub-test示例并将收件人列表附加到每封邮件 这意味着当用户使用时会对邮件收件人列表进行大量操作 连接和断开朋友。

我们首先使用传统的RDBMS建模发布 - 订阅“扇出” 思维。它似乎首先工作,但随后,因为IN运算符 按照它的方式工作,我们很快意识到我们无法继续 那条路。我们发现了Brett Slatkin's presentation from last years Google I/O,我们现在已经观看了几次,但目前尚不清楚 我们如何使用“动态”收件人列表。

我们需要的是在建模时如何“思考”的一些提示。

1 个答案:

答案 0 :(得分:3)

在Google App for Google App Engine中为此问题提供答案http://groups.google.com/group/google-appengine/browse_thread/thread/09a05c5f41163b4d#作者:Ikai L(Google)

  

这里有几点想法:

     
      
  • 正在删除朋友的常见事件?同样,正在添加   朋友一个共同的事件? (所有亲戚,   相对于“阅读”新闻提要而言

  •   
  • 从我记忆中,重读的唯一方法就是写   人们的数据多次   流。 Twitter从中做到了这一点   我记得,使用“最终   一致的“模特。这就是为什么你的   饲料不会更新几个   他们在沉重的时候分钟   加载。但是,普遍的共识是,   是关系的,规范化的   模型根本行不通。

  •   
  • Jaiku引擎是您研究的开源:   http://code.google.com/p/jaikuengine。   这适用于App Engine Hope这些   在考虑设计时提供帮助。
  •