以下是 Firebase 即時資料庫中資料儲存和操作的限制。若要超越任何這些限制,請使用多個資料庫。
全球的
手術 | 限制 | 描述 |
---|---|---|
同時連接 | 200,000* | 同時連接相當於一台行動裝置、瀏覽器標籤或連接到資料庫的伺服器應用程式。 這與您的應用程式的用戶總數不同,因為您的用戶不會同時連線。例如,每月活躍用戶數為 1,000 萬的應用程式的同時連線數通常少於 200,000 個。您的最大同時連線數取決於您的用戶總數以及用戶在您的應用程式中花費的平均時間。 但是,如果您需要擴展到超出此限制,請嘗試使用多個資料庫。 *Spark 計劃對同時連線的限制為 100。 |
從單一資料庫發送同時回應。 | ~100,000/秒 | 回應包括伺服器在給定時間從單一資料庫發送的同時廣播和讀取操作。此限制是指代表每個單獨的讀取或廣播操作的資料包,包括從資料庫發送的推播通知。本指南適用於持續負載,但資料庫可以處理偶爾的更高突發。 |
單次寫入觸發的雲函數數量 | 1000;或者,對於 Cloud Functions v2,每個區域 500 個 | 雖然單一函數可以觸發的讀取或寫入操作數量沒有限制,但單一資料庫寫入操作只能觸發 1000 個函數,或對於 Cloud Functions v2,每個區域只能觸發 500 個函數。 雲函數只能由寫入操作觸發,每個函數還可以觸發更多寫入操作,從而觸發更多函數(每個函數都有自己的 1000 個函數或每個區域 500 個函數的限制)。 |
寫入觸發的單一事件的大小 | 1MB | 事件的大小由以下值組成:
|
資料傳輸到雲端功能 | 持續 10MB/秒 | 可以轉送到 Cloud Functions 的事件資料的速率。 |
資料樹
財產 | 限制 | 描述 |
---|---|---|
子節點最大深度 | 32 | 資料樹中的每個路徑的深度必須小於 32 層。 |
密鑰長度 | 768 位元組 | 鍵採用 UTF-8 編碼,不能包含換行符號或以下任何字元: 。 $ # [ ] / 或任何 ASCII 控製字元(0x00 - 0x1F 和 0x7F) |
字串的最大大小 | 10MB | 資料採用 UTF-8 編碼。 |
讀
描述 | 限制 | 筆記 |
---|---|---|
資料庫提供的單一回應的大小 | 256MB | 每次讀取操作從單一位置的資料庫下載的資料大小應小於 256 MB。 要在更大的位置執行讀取操作,請嘗試以下選項之一: |
具有偵聽器或查詢的路徑中的總節點數 | 7500 萬* | 您無法偵聽或查詢累計節點數超過 7500 萬個的路徑。但是,您仍然可以偵聽或查詢子節點。嘗試更深入地鑽取路徑或為路徑的更具體部分建立單獨的偵聽器或查詢。 *您無法從 Firebase 控制台中的資料檢視器查看節點總數超過 30,000 個的路徑。 |
單一查詢可以運行的時間長度 | 15分鐘* | 單一查詢最多可以運行 15 分鐘才會失敗。 *在 Firebase 控制台中執行的單一查詢最多只能執行 5 秒,然後就會失敗。 |
寫
描述 | 限制 | 筆記 |
---|---|---|
寫入速率 | 1,000 次寫入/秒 | 單一資料庫每秒寫入操作數的限制。雖然不是硬性限制,但如果您每秒維持超過 1,000 次寫入,則您的寫入活動可能會受到速率限制。 |
對資料庫的單一寫入請求的大小 | 來自 REST API 的 256 MB; SDK 中的 16 MB。 | 每次寫入操作的總資料量應小於256 MB。多路徑更新受到相同的大小限制。 |
寫入的位元組數 | 64MB/分鐘 | 任何給定時間透過資料庫同時寫入操作寫入的總位元組數。 |