Firestore每秒限制为500次写入
“文档在索引字段中包含顺序值的集合”
https://cloud.google.com/firestore/quotas#writes_and_transactions
假设我使用Best Practices来保持文档ID在整个密钥范围内相对均匀分布。
A)如果文档不包含任何顺序值怎么办?
例如。我在每个文档中的唯一字段如下。
B)如果文档包含顺序字段,但我不查询该字段怎么办?
C)如果文档包含字段B中日期的连续字段but I turn off indexing,该怎么办?
C)第2部分 - 如果我关闭索引到该日期字段(这将删除每秒500个限制),如果我将字段C随机添加到集合中的SINGLE文档会发生什么?将这一个带有字段C的文档破坏了每秒10,000个写入限制的集合吗?因为现在Firestore不得不担心任何新Field C的自动索引?
(然后,每次向该集合中的任何文档添加随机字段时都会发生这种情况,因此必须关闭索引到集合中的每个可能字段以删除500ps限制吗?)
每秒500次写入是对单个服务器可以处理的保守估计。 Cloud Firestore为文档和索引存储执行水平行分片;这意味着使用顺序ID编写的文档或按顺序添加的索引条目将由单个服务器处理。将这些放在一起(每台服务器500次写入+ 1台服务器处理的顺序更新)就是为您提供的限制。
当您具有良好的分布式数据时,我们的水平行分片可以将工作负载拆分为多个服务器。对于Native模式下的Cloud Firestore,这将一直有效,直到达到我们的实时系统的上限,即大约10K写入/秒。对于数据存储模式下的Cloud Firestore,只要您给我们一个抬头(客户可以超过1M写入/秒),就没有实际限制
简而言之,A)和C)将受模式上限(10K或可用容量)的限制。 B)将受到单个服务器可以处理的负载的限制。
对于C2),如果您只是将其添加到单个文档中,则不会产生任何影响。限制完全基于传入负载以及分配给哪些服务器。