【问题标题】:How does the Firestore 500 writes/sec per collection limit work on subcollection groups?Firestore 500 writes/sec per collection 限制如何在子集合组上起作用?
【发布时间】:2020-07-20 06:59:40
【问题描述】:

具有顺序值索引字段的集合对该集合施加每秒 500 次写入的限制。子集合组如何影响该限制?例如,考虑以下数据模式:

[collection]
    <documentId>
        + indexed field
        - index-exempt field
        [subcollection]
            <documentId>
                ...

[products]

    <productId>
        - name: string

        [sensors]

            <sensorId>
                + lastCalibrated: timestamp

因为lastCalibrated 是一个顺序值索引字段,500 写入/秒的收集限制开始发挥作用。在此示例中,该限制是单独应用于每个 sensors 子集合还是应用于聚合中的所有 sensors 子集合,就好像它们是一个巨大的集合一样?

【问题讨论】:

    标签: google-cloud-firestore


    【解决方案1】:

    我发现最容易记住限制来自更新索引的需要。有了这些知识,回答像您这样的问题会变得容易得多。

    如果您想对所有 sensors 子集合执行集合组查询,那么您需要有一个跨这些集合的索引。届时,这些集合将受到相同的 500 次写入/秒限制。

    【讨论】:

    • 写入限制是否应用于聚合中的这些子集合,就好像它们是一个集合一样?
    • 是的。集合组查询的索引跨越该组中的所有集合。由于写入限制来自必须更新索引,因此在这种情况下它也跨越所有子集合。
    猜你喜欢
    • 2018-11-08
    • 2018-07-10
    • 2019-10-12
    • 2020-05-06
    • 1970-01-01
    • 1970-01-01
    • 2019-10-29
    • 2019-06-14
    • 1970-01-01
    相关资源
    最近更新 更多