Firestore速率限制中集合与子集合是否独立?相关疑问咨询
Firestore顺序值索引字段软速率限制相关疑问解答
子集合是否被视为独立集合?
Firestore里子集合是完全独立于父集合的资源,各自的写入速率限制(包括含顺序值索引字段的场景)分开计算,不会共享父集合的配额。
就你举的例子来说:1个顶级集合下的10个子集合,每个子集合每秒执行100次带顺序值索引字段的写入——每个子集合的写入速率仅为100次/秒,远低于500次/秒的软限制,因此不会触发任何集合的速率限制,顶级集合的配额完全不会被这些子集合的操作占用。
该限制是否影响serverTimestamp()方法?
是的,会受到影响。
当你用serverTimestamp()作为文档的索引字段时,Firestore服务器生成的时间戳属于单调递增的顺序值,完全符合触发500次/秒软限制的场景。如果你的类聊天应用在单个集合中每秒写入超过500条消息,且用serverTimestamp()作为索引字段,就可能触发限流,导致写入延迟甚至失败。
参考Firestore配额规则
Firestore针对包含顺序值索引字段的集合设置了500次/秒的软写入速率限制,目的是避免热点分区问题——顺序写入会集中冲击单个存储分区,引发性能瓶颈。
内容的提问来源于stack exchange,提问作者Kaleb Schmottlach
相关产品推荐
相关产品推荐

