即時資料庫限制

以下是 Firebase Realtime Database 的資料儲存和作業限制。如要突破上述限制,請使用多個資料庫

全球

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

同時連線是指連線至資料庫的行動裝置、瀏覽器分頁或伺服器應用程式。

這與應用程式的使用者總數不同,因為使用者不會同時連線。舉例來說,每月有 1,000 萬名活躍使用者的應用程式,通常會少於 20 萬個同步連線。最大同時連線數取決於使用者總數和使用者在應用程式中停留的平均時間。

不過,如果需要擴充超過這個限制,請嘗試使用多個資料庫

*Spark 方案的並行連線數量上限為 100。

從單一資料庫傳送同步回應。 每秒約 100,000 次 回應包括伺服器在特定時間從單一資料庫傳送的同步廣播和讀取作業。這項限制是指代表各項讀取或廣播作業的資料封包,包括從資料庫傳送的推播通知。這項指引適用於持續負載,但資料庫可處理偶爾出現的較高負載量。
單一寫入作業觸發的 Cloud Functions 數量 1000 個;如果是 Cloud Functions v2,每個區域 500 個 雖然單一函式可觸發的讀取或寫入作業數量沒有限制,但單一資料庫寫入作業只能觸發 1000 個函式,如果是 Cloud Functions 第 2 版,則每個區域只能觸發 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 萬次* 您無法聆聽或查詢節點累計超過 7,500 萬個的路徑。不過,您仍可監聽或查詢子節點。請嘗試深入探究路徑,或為路徑中更具體的部分建立個別的接聽程式或查詢。

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

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

*在 Firebase 控制台中執行的單一查詢最多只能執行 5 秒,否則會失敗。

寫入

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