新 Firestore 的限制说明

A limit clarification for the new Firestore

因此在 Firebase 的新 Firestore 产品的限制部分 (https://firebase.google.com/docs/firestore/quotas) 中说:

Maximum write rate to a collection in which documents contain sequential values in an indexed field: 500 per second

我们对这实际上意味着什么感到很困惑。

如果我们有一个名为 users 的根级集合,其中有 1000 万个条目,这个速率是否会以这种方式影响这个集合,所以只有 500 个用户可以更新他们的数据第二个?

谁能澄清一下?

抱歉造成混淆;一个例子可能会有所帮助。

如果您的用户文档包含最后更新的时间戳,并且您在该时间戳上建立索引,那么每次新写入最终都会围绕相同的值聚集(现在),从而在索引中创建一个热点。

类似地,如果您以某种方式为用户分配了一个顺序值,例如排队的位置或类似的东西,这也会创建一个热点。

顺便说一下,这就是生成的文档 ID 是随机字符串的原因。这会在主键索引上均匀分布写入。

如果你避免这些类型的模式,那就没有极限了,尽管在测试期间你会达到数据库范围的极限。

一个简短的附加说明:目前所有属性都默认编入索引,因此如果您有最后更新的时间戳,它必然会被编入索引 - 因此您将无法避免热点。

索引禁用将在未来可用。