2012-04-14 80 views
1

我想了解更多关于实体组如何在GAE中工作的信息。在文档中的几处地方,它指的是“你只能期望每秒钟更新任何单个实体或实体组”,而其他地方则表示多个用户在相同的实体组中写入时间只会导致其中一个成功(如果我正确地理解了这一点)。因此,如果我有一个实体组具有一百万个用户实体的用户,那么只有一个用户能够在任何给定时间更新他的记录,而其他任何尝试过的人都会失败?我只是不了解实体组织。如果我理解正确,他们有点像文件夹?但我不明白为什么多个用户不能同时更新到同一个实体组?更新Google App Engine中的实体组

实体组只是一个结构性的东西吗?如果我有一百万用户,他们是否都分组在一个实体组Users(如果我指定)?

回答

2

在你的情况用户是一种。

实体组通过在实体之间定义ancestor relationship来定义。它们很重要,因为它们定义了scope of transactions

实体组的限制是它们的写入速率有限。

如果未定义祖先关系,则实体是实体组中唯一的实体。写限制仍然适用于该实体。

定义实体组时,尽可能少地保留它们并对其进行组织以避免争用(并行写入)是非常重要的。常用的方法是将用户实体作为实体组的根。