以下是 Firebase Realtime Database 中資料儲存空間和作業的限制。如要超越這些限制,請使用多個資料庫。
全球
作業 | 限制 | 說明 |
---|---|---|
同時連線數 | 200,000* | 一個同時連線代表一個行動裝置、瀏覽器分頁或伺服器應用程式已連線至資料庫。 這與應用程式的使用者總數不同,因為使用者並非全部同時連線。舉例來說,每月有 1, 000 萬名活躍使用者的應用程式,通常會有 200,000 個以下的同時連線。同時連線數上限取決於使用者總數,以及使用者在應用程式中停留的平均時間。 不過,如果您需要超出此上限,請嘗試使用多個資料庫。 *Spark 方案的同時連線數量上限為 100 個。 |
從單一資料庫傳送的同時回應。 | 約 100,000/秒 | 回應包括伺服器在特定時間從單一資料庫傳送的同時廣播和讀取作業。限制是指代表從資料庫傳送的每個個別讀取或廣播作業的資料封包,包括推播通知。這項指南適用於持續性負載,但資料庫可以處理偶發的較高突發流量。 |
單一寫入作業觸發的 Cloud Functions 數量 | 1,000 個;如果是 Cloud Functions v2,則為每個區域 500 個 | 雖然單一函式可觸發的讀取或寫入作業數量沒有限制,但 Cloud Functions 2.0 的單一資料庫寫入作業只能觸發 1000 個函式,或每個區域 500 個函式。 Cloud Functions 只能由寫入作業觸發,且每個函式也能觸發更多寫入作業,進而觸發更多函式 (每個函式都有 1000 個函式或每個區域 500 個函式的限制)。 |
寫入作業觸發的單一事件大小 | 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 | 在任何特定時間,在資料庫上同時寫入作業寫入的位元組總數。 |