首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用程序引擎社交平台-内容交互建模策略

应用程序引擎社交平台-内容交互建模策略
EN

Stack Overflow用户
提问于 2016-01-15 10:01:45
回答 1查看 19关注 0票数 0

我在Google应用引擎上运行了Python服务器,并实现了一个社交网络。我正在努力寻找最好的方法(best=fast和廉价)来实现项目上的交互。就像任何其他社交网络一样,我有流项目(“内容”),用户可以“喜欢”这些项目。

至于查询,我希望能够:

  1. 获取喜欢内容的用户列表
  2. 找出所有喜欢的人的总数。
  3. 获取与任何其他用户列表的相似者的交集。

我当前的实现包括: 1.内容项上的IntegerProperty,它保存了所有的类计数2. InteractionModel --一个包含内容id的键id qual的NdbModel (快速获取)和一个JsonPropery,该JsonPropery保存了likers用户名。

每次用户喜欢内容时,我都需要更新计数器和用户列表。这要求我运行和支付4个数据存储操作(2读,2写)。最重要的是,具有大量相似项的项目会产生一个具有大量json的InteractionModel,在读取/写入时,序列化和反序列化需要时间(比RepeatedProperty还要快)。更新后的字段都没有索引(内置索引),也没有包含在组合索引(index.yaml)中。

寻找一种更有效和成本效益更高的方式来实现同样的要求。

EN

回答 1

Stack Overflow用户

发布于 2016-01-15 10:17:10

我猜你的模型中有两个实体:用户和内容。您的查询似乎聚合在多个内容对象上。

如何将这些聚合值保存在用户对象上?这样,您不需要执行任何查询,而是只查找这些查询的用户对象中存储的数据。

不过,在某种程度上,您可能会考虑不使用数据存储,而是考虑使用sql存储。它有一个较高的恒定成本,但我猜想,在某个时候(更多的内容/用户),这可能是值得考虑的两个方面的成本和性能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34808553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档