即時資料庫限制

以下是 Firebase Realtime Database 中資料儲存空間和作業的限制。如要超越這些限制,請使用多個資料庫

全球

作業 限制 說明
同時連線數 200,000*

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

這與應用程式的使用者總數不同,因為使用者並非全部同時連線。舉例來說,每月有 1, 000 萬名活躍使用者的應用程式,通常會有 200,000 個以下的同時連線。您的最大同時連線數取決於使用者總數,以及使用者在應用程式中平均花費的時間。

不過,如果需要超出此上限,請嘗試使用多個資料庫

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

從單一資料庫傳送的同時回應。 約 100,000/秒 回應包括伺服器在特定時間從單一資料庫傳送的同時廣播和讀取作業。限制是指代表從資料庫傳送的每個個別讀取或廣播作業的資料封包,包括推播通知。這項指南適用於持續性負載,但資料庫可以處理偶發的較高突發流量。
單次寫入作業觸發的 Cloud 函式數量 1,000 個;如果是 Cloud Functions v2,則為每個區域 500 個 雖然單一函式可觸發的讀取或寫入作業數量沒有限制,但 Cloud Functions 2.0 的單一資料庫寫入作業只能觸發 1000 個函式,或每個區域 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 編碼。

讀取

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

如要在更大的區域執行讀取作業,請嘗試下列其中一種做法:

路徑中含有事件監聽器或查詢的節點總數 7,500 萬* 您無法監聽或查詢含有超過 7500 萬個節點的路徑 (累積值)。不過,您還是可以監聽或查詢子節點。請嘗試深入鑽研路徑,或為路徑的特定部分建立個別的事件監聽器或查詢。

*您無法透過 Firebase 主控台資料檢視器查看總節點數超過 30,000 個的路徑。

單一查詢的執行時間長度 15 分鐘* 單一查詢最多可執行 15 分鐘,之後就會失敗。

*在 Firebase 主控台執行的單一查詢最多只能執行 5 秒,之後就會失敗。

寫入

說明 限制 附註
寫入速率 1,000 次寫入/秒 單一資料庫每秒寫入作業數上限。雖然這不是硬性限制,但如果每秒持續寫入超過 1,000 次,寫入活動可能會受到速率限制。
單一寫入資料庫的要求大小 來自 REST API 的 256 MB;來自 SDK 的 16 MB。 每個寫入作業的資料總量應小於 256 MB。多路徑更新也適用相同的大小限制。
已寫入位元組 每分鐘 64 MB 在任何特定時間點,透過資料庫上的同時寫入作業所寫入的總位元組數。