5

我已阅读有关Firestore 上的事务更新操作的文档。根据配额和限制,关于交易只有两个限制:

  • 事务的最大大小:10 MiB
  • 交易时间限制:270秒,空闲过期时间60秒

没有明确提到与事务相关的限制,在事务期间可以读取和/或修改多少文档或集合,或者是否对发生事务更新的集合有任何额外的限制。

  1. 这是否意味着,只要更新保持在这些和其他一般限制范围内,客户端可以对多达 500 个文档进行事务更新,每个文档都位于不同的集合中?

  2. 如果客户端在事务中读取多个文档,但只更新其中一个 - Firestore 是否仍然(静默)写入未修改的文档(用于序列化等)......所以我必须考虑每次写入 1 次的写入限制即使对于没有被客户端明确修改的文档,每秒的文档数也是如此。

PS:我问的原因是 Datastore 在事务中限制为 25 个实体组,并且在许多写入事务中也看到只读实体(“文档”)中的热点。例如,请参阅Dan McGrath 的这个答案。我只是想知道 Datastore 的哪些特征会延续到 Firestore,并且在设计 Firestore 数据库时必须考虑。

4

1 回答 1

4

请参阅“可以传递给提交操作的最大文档数”行,该行定义了 500 个文档的限制。这是您的事务限制,因为我们需要使用单个提交在事务中应用所有内容。

我认为不再需要静默写入来确定交易中的文档是否发生了变化。

没有与 25 个实体组限制等效的相关限制。

于 2017-10-05T13:44:12.210 回答