使用本指南了解 Cloud Firestore 限制,並參閱Cloud Firestore 定價以獲取有關 Cloud Firestore 費用的完整詳細說明,包括注意事項。
監控您的使用情況
要監控您的 Cloud Firestore 使用情況,請在 Firebase 控制台中打開 Cloud Firestore使用情況標籤。使用儀表板來衡量您在不同時間段內的使用情況。
Google Cloud Console 中的詳細使用情況
創建 Firebase 項目時,您也在創建 Google Cloud 項目。 Google Cloud Console 中的App Engine 配額頁面會跟踪 Cloud Firestore 使用情況和配額信息。
免費配額
Cloud Firestore 提供免費配額,讓您可以免費開始使用。免費配額金額如下所列。如果您需要更多配額,則必須為您的 Cloud Platform 項目啟用計費。
配額每天應用,並在太平洋時間午夜前後重置。
免費套餐 | 配額 |
---|---|
存儲數據 | 1 GiB |
文件讀取 | 每天 50,000 個 |
文件寫入 | 每天 20,000 個 |
文檔刪除 | 每天 20,000 個 |
網絡出口 | 每月 10 GiB |
標準限制
下表顯示了適用於 Cloud Firestore 的限制。除非另有說明,否則這些都是硬性限制。
集合、文檔和字段
限制 | 細節 |
---|---|
集合 ID 的約束 |
|
子集合的最大深度 | 100 |
文檔 ID 的約束 |
|
文檔名稱的最大大小 | 6 千字節 |
文檔的最大尺寸 | 1 MiB(1,048,576 字節) |
字段名稱的約束 | 必須是有效的 UTF-8 字符 |
字段名稱的最大大小 | 1,500 字節 |
字段路徑的約束 |
|
字段路徑的最大大小 | 1,500 字節 |
字段值的最大大小 | 1 MiB - 89 字節(1,048,487 字節) |
地圖或數組中的最大字段深度 | 20 |
寫入和事務
限制 | 細節 |
---|---|
每個數據庫每秒的最大寫入次數 | 10,000(每秒高達 10 MiB)*。此限制將在未來取消,請聯繫支持人員以獲取早期訪問權限。 |
最大 API 請求大小 | 10 兆字節 |
可以傳遞給Commit 操作或在事務中執行的最大寫入數 | 500 |
在Commit 操作或事務中可以對單個文檔執行的最大字段轉換數 | 500 |
交易時間限制 | 270 秒,有 60 秒的空閒過期時間 |
軟限制
Cloud Firestore 不會阻止您超過以下閾值,但這樣做會影響性能。
軟限制 | 細節 |
---|---|
文檔的最大持續寫入速率 | 每秒 1 個 將寫入速率維持在每秒一次以上會增加延遲並導致爭用錯誤。這不是硬性限制,您可以在短時間內超過限制。 |
文檔在索引字段中包含順序值的集合的最大寫入速率 | 每秒 500 個 |
實時更新
軟限制 | 細節 |
---|---|
每個數據庫的移動/Web 客戶端的最大並發連接數 | 1,000,000 Cloud Firestore 不會阻止您超出此軟限制,但這樣做會極大地影響延遲和錯誤率。 |
索引
限制 | 細節 |
---|---|
數據庫的最大復合索引數 | 200 |
一個數據庫的最大單字段配置數 | 200 總共允許 200 種現場級配置。一個字段配置可以包含同一字段的多個配置。例如,對同一字段的單字段索引豁免和 TTL 策略計為一個字段配置,以達到限制。 |
每個文檔的最大索引條目數 | 40,000 索引條目的數量是文檔以下各項的總和:
要了解 Cloud Firestore 如何將文檔和一組索引轉換為索引條目,請參閱此索引條目計數示例。 |
索引條目的最大大小 | 7.5 KB 要了解 Cloud Firestore 如何計算索引條目大小,請參閱索引條目大小。 |
文檔索引條目大小的最大總和 | 8 兆字節 總大小是文檔以下各項的總和: |
索引字段值的最大大小 | 1500 字節 超過 1500 字節的字段值將被截斷。涉及截斷字段值的查詢可能會返回不一致的結果。 |
生存時間 (TTL)
限制 | 細節 |
---|---|
一個數據庫的最大單字段配置數 | 200 總共允許 200 種現場級配置。一個字段配置可以包含同一字段的多個配置。例如,對同一字段的單字段索引豁免和 TTL 策略計為一個字段配置,以達到限制。 |
出口進口
以下限制適用於託管導入和導出操作:
限制 | 細節 |
---|---|
每分鐘允許的項目導出和導入請求的最大總數 | 20 |
最大並發導出和導入數 | 50 |
導出和導入請求的集合 ID 過濾器的最大數量 | 100 |
安全規則
限制 | 細節 |
---|---|
每個請求的exists() 、 get() 和getAfter() 調用的最大數量 |
超過任一限制都會導致權限被拒絕錯誤。 某些文檔訪問調用可能會被緩存,並且緩存的調用不計入限制。 |
最大嵌套match 語句深度 | 10 |
一組嵌套match 語句中允許的最大路徑長度(以路徑段為單位) | 100 |
一組嵌套match 語句中允許的最大路徑捕獲變量數 | 20 |
最大函數調用深度 | 20 |
函數參數的最大數量 | 7 |
每個函數的最大let 變量綁定數 | 10 |
遞歸或循環函數調用的最大數量 | 0(不允許) |
每個請求評估的最大表達式數 | 1,000 |
規則集的最大大小 | 規則集必須遵守兩個大小限制:
|
管理支出
為了幫助避免賬單上的意外費用,請設置每月預算和警報。
設置每月預算
要跟踪您的 Cloud Firestore 費用,請在 Google Cloud Console 中創建每月預算。預算不會限制您的使用,但您可以設置警報以在您接近或超過當月計劃成本時通知您。
要設置預算,請轉到 Google Cloud Console 中的結算部分並為您的 Cloud Billing 帳號創建預算。您可以使用默認警報設置或修改警報以按每月預算的不同百分比發送通知。
了解有關設置預算和預算警報的更多信息。
設置每日支出限額
要限制您的 Cloud Firestore 使用量,請通過 App Engine 設置每日支出限額。 App Engine 允許您為 App Engine 相關資源(包括 Cloud Firestore)設置每日支出限額。 App Engine 限制不適用於任何其他 Firebase 產品。