GAE-如何在没有加入的情况下生活?
示例问题:
实体:
- 用户包含姓名和朋友列表(用户参考)
- 博客文章包含标题,内容,日期和作者(用户)
需求:
我想要一个显示标题的页面以及指向用户朋友的最近10篇博客的链接。我还希望能够通过较旧的条目继续进行分页。
SQL解决方案:
因此在sql land中,它将类似于:
按日期从user_id的blog_post选择*(从user_friend = userID的user_friend中选择friend_id)按日期排序
我能想到的GAE解决方案是:
- 加载用户,循环浏览好友列表并加载其最新博客帖子。最后合并所有博客文章以查找最新的10个博客文章
- 在博客文章中,列出了将作者作为好友的所有用户的列表。这意味着简单的阅读,但是当添加一个有很多博客文章的朋友时,将导致配额过载。
我认为这两种解决方案都不会有规模。
我确定其他人遇到了这个问题,但是我已经搜索,观看了google io视频,阅读了其他人的代码……我想念的是什么?
-
Google
io演讲中涵盖了该主题:http
:
//code.google.com/events/io/sessions/BuildingScalableComplexApps.html基本上,Google团队建议使用列表属性及其所谓的关系索引实体,此处提供了示例应用程序:http : //pubsub-test.appspot.com/