即時資料庫限制

以下是 Firebase 即時資料庫中的資料儲存與作業限制。如要擴充超過上述任一限制,請使用多個資料庫

全域

作業 限制 說明
同時連線數 20 萬*

同時連線相當於一個連線至資料庫的行動裝置、瀏覽器分頁或伺服器應用程式。

這與應用程式的使用者總數不同,因為使用者並非全都會同時連線。舉例來說,如果應用程式的每月活躍使用者人數達 1,000 萬人,那麼同時連線數通常不到 20 萬。同時連線數量上限取決於使用者總數,以及使用者在應用程式中的平均時間。

不過,如果您的資源調度需求超過這項限制,請嘗試使用多個資料庫

*Spark 方案的同時連線數量上限為 100 個。

從單一資料庫傳送的同步回應。 約每秒 100,000 次 回應包括伺服器在特定時間從單一資料庫傳送的廣播和讀取作業。這項限制是指資料封包,代表從資料庫傳送的各個讀取或廣播作業,包括推播通知。本指南適用於持續負載,但資料庫可以偶爾處理較高的負載。
單次寫入作業觸發的 Cloud Functions 數量 1,000 個;如果是 Cloud Functions v2,每個區域 500 個 雖然單一函式可觸發的讀取或寫入作業數量沒有限制,但單一資料庫寫入作業只能觸發 1000 個函式,或針對 Cloud Functions v2,每個地區只能觸發 500 個函式。

Cloud Functions 只能由寫入作業觸發,且每個函式也可觸發更多寫入作業,以觸發更多函式 (每項作業都有 1000 個函式,或每個區域 500 個限制)。

寫入作業觸發的單一事件大小 1 MB 事件大小由下列值組成:
  1. 寫入位置中的現有資料。
  2. 更新值,或將資料寫入位置所需的資料差異。
大於 1 MB 的寫入作業可在資料庫上執行,但不會觸發函式叫用。
將資料移轉至 Cloud Functions 每秒持續 10 MB 可轉送至 Cloud Functions 的事件資料速率。

資料樹狀結構

屬性 限制 說明
子節點深度上限 32 資料樹狀結構中的每個路徑深度不能超過 32 層。
鍵長度 768 個位元組 金鑰採用 UTF-8 編碼,且不得包含新行或下列任一字元:
。$ # [ ] / 或任何 ASCII 控製字元 (0x00 - 0x1F 和 0x7F)
字串大小上限 10 MB 資料採用 UTF-8 編碼。

讀取

說明 限制 Notes
資料庫提供的單一回應大小 256 MB 從資料庫從單一位置下載的資料大小應在每項讀取作業小於 256 MB。

如要對較大的位置執行讀取作業,請嘗試下列其中一種方法:

路徑中包含事件監聽器或查詢的節點總數 7,500 萬* 累計超過 7500 萬個節點時,您無法監聽或查詢路徑。不過,您仍可監聽或查詢子項節點。請試著深入查看路徑,或針對路徑中更具體的部分建立獨立的事件監聽器或查詢。

*在 Firebase 控制台中,資料檢視者將無法查看總節點超過 30,000 個的路徑。

單一查詢可執行的時間長度 15 分鐘* 一項查詢最長可執行 15 分鐘,接著才會失敗。

*在 Firebase 控制台中執行的單次查詢最多只能執行 5 秒,之後才會失敗。

寫入

說明 限制 Notes
寫入率 每秒 1,000 次寫入 單一資料庫每秒的寫入作業數限制。雖然這並非硬性限制,但如果每秒持續寫入超過 1,000 次,寫入活動可能會受到頻率限制。
對資料庫的單一寫入要求大小 REST API 佔 256 MB;來自 SDK 的 16 MB。 每項寫入作業中的資料總量不得超過 256 MB。 多路徑更新有相同大小限制。
寫入位元組數 每分鐘 64 MB 在任何指定時間內,透過資料庫同步寫入作業寫入的位元組總數。