因此,在Firebase新Firestore产品的限制部分(https://firebase.google.com/docs/firestore/quotas)中,它说:
文档包含的集合的最大写入速率 索引字段中的顺序值:每秒500次
我们对实际需要的东西感到很困惑。
如果我们有一个名为users
的根级别集合,其中包含1000万个条目,此速率会以这种方式影响此集合,因此只有500个用户可以在任何给定的时间内更新其数据?
任何人都可以澄清吗?
答案 0 :(得分:7)
抱歉这个混乱;一个例子可能有所帮助。
如果您的用户文档包含上次更新的时间戳,并且您在该时间戳上编制索引,则每次新写入将最终聚集在相同的值(现在),在索引中创建热点。
同样,如果你以某种方式为用户分配了一个顺序值,比如一个排队的位置或类似的东西,这也会创建一个热点。
顺便说一下,这就是生成的文档ID是随机字符串的原因。这会在主键索引上均匀分配写入。
如果您避免使用这些类型的模式,那么天空是极限,但在测试期间,您已达到数据库范围的限制。
答案 1 :(得分:6)
快速补充说明:目前默认情况下会对所有属性编制索引,因此如果您有最后更新的时间戳,则必须将其编入索引 - 因此您将无法避免热点。
虽然可以在路上使用索引禁用功能。