当 Firestore 集合具有 Timestamp 字段时查询索引

Query on Indexing when Firestore collection has Timestamp field

我有一个 Firestore 项目,其中我的集合 feed 有一个时间戳字段 createdDate。当我根据其他字段的创建时间查询提要时,我创建了一个 Composite Index 包括时间戳字段。

Indexing best practices 文档中提到了以下内容。

If you index a field that increases or decreases sequentially between documents in a collection, like a timestamp, then the maximum write rate to the collection is 500 writes per second. If you don't query based on the field with sequential values, you can exempt the field from indexing to bypass this limit.

因为我已经在 Composite Index 中使用时间戳字段,所以我可以从 Automatic Index Settings 中免除该字段。这会绕过集合中每秒 500 次写入的限制,还是在 Composite Index 正在使用该字段时仍会应用。请帮助我理解这一点。

限制来自集合中任何索引中热点的存在。虽然 Firestore 可以并行更新所有索引,但其吞吐量受到最慢索引的限制。从一个索引中删除热点,但将其保留在另一个索引中,意味着集合的写入吞吐量没有增加。

请注意,这不是 hard-coded 限制,而是来自必须跨多个数据中心更新集群文件的物理限制。