了解实体组限制

时间:2016-12-11 19:31:46

标签: google-app-engine google-cloud-datastore google-cloud-platform app-engine-ndb

我想了解如何解决谷歌数据存储区的两个限制

  

写入每秒约一个事务的吞吐量限制   单一实体组。

     

交易访问的所有数据最多必须包含25个   实体组。

假设我想存储用户信息。由于第一个限制,我无法将它们存储在实体组中,因为多个用户可能同时更新其信息。现在,如果我尝试将所有用户保存为根实体,则第二个限制表示我无法对用户使用任何查询(例如查找年龄> 10的用户)。现在我想知道数据存储如何在这种限制下可用。

2 个答案:

答案 0 :(得分:2)

您错误地解释了第二个限制:当然,您可以向所有用户查询年龄> gt的用户。 10,只有你不能在交易中做到这一点。

如果一致性很重要,您可以:

  1. 在交易外执行仅限密钥查询
  2. 获取最多25个要操作的键列表(例如,使用Query Cursors
  3. 在事务访问(按键)内对应于列表中键的实体 - 这些访问将是一致的

答案 1 :(得分:1)

查询不是一个事务 - 返回的结果可以分布在任意数量的实体组中。