簡體   English   中英

如何處理子集合的 Firestore 寫入限制和索引豁免?

[英]How to handle Firestore write limits and index exemptions for subcollections?

我的 Firestore 數據庫具有以下架構:

[collection]
<document>

[chats]
    <user123>
        [userChats]
            <user789>
            <user345>
            <user567>
    <user789>
        [userChats]
            <user123>
            <user345>
            <user567>

userChats子集合中,文檔包含一個按順序遞增的索引字段。 順序遞增的索引字段對該集合施加了寫入限制。 此限制是否單獨應用於每個子集合? 或者它是否強加於所有userChats子集合,就好像它們是一個,因為它們共享相同的名稱?

此外,假設userChats子集合中的文檔有一個我希望添加為單字段索引豁免的private字段。 添加此豁免、集合或集合組需要什么 scope? 如果我選擇collection-group,對上面提到的寫限制有影響嗎?

數據庫並沒有施加太多限制,因為您選擇使用順序值會在更新該字段的索引時導致熱點。 數據庫在物理上只能以一定的速度寫入彼此接近的值(同時滿足 Firestore 的跨數據中心要求和一致性保證),這就是為什么最好盡可能避免序列的原因。

這也向我們展示了您問題的答案:如果這些值位於單獨的索引中,就像它們用於常規索引一樣,那么它們不會影響彼此的寫入吞吐量。 另一方面,如果您有一個集合組查詢的索引,那么它必須針對對該名稱的每個集合的寫入進行更新,並且所有這些寫入的吞吐量都會受到影響。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM