2

IIRC,每个 Facebook 用户可以有 5000 个朋友。平均值为 130,但最大值要高得多。这些朋友中的每一个都可以从数百万个集合中“喜欢”零个或多个实体。例如,当查看按 N 个轴(例如按类别和大小)分组的这些实体的子集时,您将如何找到朋友喜欢的那些?

使用 GAE,成本是计算时间而不是数据大小。在搜索时,您无法找到任何朋友在给定类别和大小中的所有条目。您可以在每个朋友执行某项操作时为用户添加一个条目,但这意味着每次朋友执行某项操作时最多有 5000 个数据条目。这是很多 CPU 时间,即使在后台也是如此。您还会想念试用该应用程序的新朋友,他们在最初的添加中被错过了。尝试分割空间是有道理的,但朋友们以非常难以分组的方式联系在一起。

有任何想法吗?你解决过类似的问题吗?

4

1 回答 1

1

尝试使用低级数据存储 API,将项目 ID 作为键,将“朋友”ID 作为属性名称(在这种情况下,属性值为 true 或 false)。我认为使用关键过滤器进行查找必须非常快。

于 2009-11-16T20:00:43.123 回答