0
  1. 在 High Replication Datastore 的使用说明中,它说实体组被限制为每秒 1 次写入。我对此有点困惑。在另一篇文章的“了解写入成本”部分中,它表明仅存储一个新实体可能会花费 14 次写入。第一篇文章中提到的每秒写入 1 是否与第二篇文章中的等效度量?如果是这样,存储一个基本实体需要 10 秒?我确定这不可能是正确的?

  2. 谷歌表示,没有祖先存储的实体(作为根实体)具有最终一致性。这是否意味着如果一个用户在没有祖先的情况下将新实体添加到数据存储区,如果我之后立即进行查询,则不能保证它可用?如果是这样,“最终”到底有多长?可以是几个小时,还是他们只是在说几秒钟?

4

2 回答 2

2
  1. 写入限制为每秒向数据存储写入 1 个实体。写入成本是每个实体可能需要更新的索引数量,它们是不同的“写入”——它们可能因实体而异,并且是与“每秒 1 次写入”写入不同的单独度量。

  2. 这是正确的。但是请注意,在某些特定情况下,结果非常一致。获取单个实体的按键 GET 查询是高度一致的。祖先查询是 datstore 强一致的另一种情况。“最终”意味着不要指望它。通常是几秒钟,但在特殊情况下,比如 BigTable 平板电脑已满需要拆分,或者平板电脑出现故障需要更换,最终可能意味着更长的时间。我在邮件列表上看到了几个关于查询返回几个小时的旧结果的投诉,但这并不常见。

于 2012-04-15T04:07:12.860 回答
1
  1. 我对此并不完全确定(我会等待尼克约翰逊权衡),但我相信他们指的是每秒 1 次事务提交/写入。数据存储上的事务锁定在实体组级别发挥作用,所以我猜测可以同时工作的(分布式)事务的数量会有限制。

  2. 我认为您的理解是正确的 - 这源于 HR 数据存储将您的数据写入几个不同的数据存储,并稍后将它们复制到所有其他数据存储的事实 - 最终。您的第二个查询可能会发送到尚未获得更新的数据存储。不过,从我所看到的情况来看,“最终”只是几秒钟的事情,有时甚至更短。不过,分布式架构的要点是您不依赖于那个时间间隔。

于 2012-04-15T03:52:45.753 回答