以下是对 Firebase 实时数据库中数据存储和操作的限制。要超出这些限制中的任何一个,请使用多个数据库。
全球的
手术 | 限制 | 描述 |
---|---|---|
同时连接 | 200,000* | 同时连接相当于连接到数据库的一个移动设备、浏览器选项卡或服务器应用程序。 这与您的应用程序的用户总数不同,因为您的用户不会同时连接。例如,每月活跃用户数为 1000 万的应用通常同时连接数少于 20 万。您的最大同时连接数取决于您的用户总数和用户在您的应用中花费的平均时间。 但是,如果您需要扩展到超出此限制,请尝试使用多个数据库。 *同时连接的 Spark 计划限制为 100。 |
从单个数据库发送的同时响应。 | ~100,000/秒 | 响应包括服务器在给定时间从单个数据库发送的同步广播和读取操作。该限制是指代表每个单独的读取或广播操作的数据包,包括从数据库发送的推送通知。本指南适用于持续负载,但数据库可以处理偶尔更高的负载。 |
单次写入触发的 Cloud Functions 数量 | 1000;或者,对于 Cloud Functions v2,每个区域 500 个 | 虽然单个函数可以触发多少个读取或写入操作没有限制,但单个数据库写入操作只能触发 1000 个函数,或者对于 Cloud Functions v2 每个区域 500 个函数。 Cloud Functions 只能由写操作触发,每个函数还可以触发更多的写操作,从而触发更多的函数(每个函数都有自己的 1000 个函数或每个区域 500 个限制)。 |
写入触发的单个事件的大小 | 1MB | 事件的大小由以下值组成:
|
数据传输到 Cloud Functions | 持续 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。多路径更新受到相同大小的限制。 |
写入的字节 | 64 MB/分钟 | 在任何给定时间通过对数据库的同时写入操作写入的总字节数。 |