Cloud Firestore事务的限制

时间:2017-10-05 12:12:11

标签: database firebase google-cloud-datastore google-cloud-platform google-cloud-firestore

我已阅读有关transactional update operations on Firestore的文档。根据{{​​3}},交易只有两个限制:

  
      
  • 交易的最大尺寸:10 MiB
  •   
  • 交易的时间限制:270秒,空闲到期时间为60秒
  •   

没有提及显式的与事务相关的限制,在事务期间可以读取和/或修改多少文档或集合,或者对事务更新发生的集合有任何其他约束。

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

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

  3. P.S。:我问的原因是数据存储在事务中有25个实体组的限制,并且还看到实体中的热点("文档")在许多写事务中是只读的。例如,请参阅Quotas and Limits。我只是想知道Datastore的哪些特性会转移到Firestore,并且在设计Firestore数据库时必须考虑这一点。

1 个答案:

答案 0 :(得分:3)

参见第34行;"可以传递给提交操作的最大文档数"它定义了500个文件的限制。这是您的交易限制,因为我们需要使用单个提交在事务中应用所有内容。

我不相信需要进行无声写入以确定某项交易中的文件是否发生了变化。

没有相关限制等同于25个实体组限制。