使用本指南了解 Cloud Firestore 限制,并查看Cloud Firestore 定价以了解 Cloud Firestore 成本的完整、详细说明,包括需要注意的事项。
监控您的使用情况
要监控您的 Cloud Firestore 使用情况,请在 Firebase 控制台中打开 Cloud Firestore使用选项卡。使用仪表板来衡量您在不同时间段内的使用情况。
Google Cloud Console 中的详细使用
当您创建一个 Firebase 项目时,您也在创建一个 Google Cloud 项目。 Google Cloud Console 中的Cloud Firestore API 配额和App Engine 配额页面跟踪 Cloud Firestore 使用情况和配额信息。
免费名额
Cloud Firestore 提供免费配额,让您可以免费开始使用。免费配额金额如下所列。如果您需要更多配额,则必须为您的 Cloud Platform 项目启用计费。
配额每天应用并在太平洋时间午夜左右重置。
免费套餐 | 配额 |
---|---|
存储数据 | 1 GiB |
文档读取 | 每天 50,000 |
文档写入 | 每天 20,000 个 |
文档删除 | 每天 20,000 个 |
网络出口 | 每月 10 GiB |
标准限制
下表显示了适用于 Cloud Firestore 的限制。除非另有说明,否则这些都是硬性限制。
集合、文档和字段
限制 | 细节 |
---|---|
集合 ID 的约束 |
|
子集合的最大深度 | 100 |
文档 ID 的约束 |
|
文档名称的最大大小 | 6 KB |
文档的最大大小 | 1 MiB(1,048,576 字节) |
字段名称的约束 | 必须是有效的 UTF-8 字符 |
字段名称的最大大小 | 1,500 字节 |
字段路径的约束 |
|
字段路径的最大大小 | 1,500 字节 |
字段值的最大大小 | 1 MiB - 89 字节(1,048,487 字节) |
地图或阵列中的最大景深 | 20 |
写入和事务
除了这些限制之外,您还应该了解规模化设计的最佳实践。
限制 | 细节 |
---|---|
最大 API 请求大小 | 10 字节 |
可以传递给Commit 操作或在事务中执行的最大写入数 | 500 |
在Commit 操作或事务中可以对单个文档执行的最大字段转换数 | 500 |
交易时限 | 270 秒,空闲到期时间为 60 秒 |
软限制
Cloud Firestore 不会阻止您超过以下阈值,但这样做会影响性能。
软限制 | 细节 |
---|---|
文档在索引字段中包含顺序值的集合的最大写入速率 | 每秒 500 个 |
索引
限制 | 细节 |
---|---|
一个数据库的最大复合索引数 | 200 您可以联系支持人员请求增加此限制。 |
一个数据库的最大单字段配置数 | 200 总共允许 200 个字段级配置。一个字段配置可以包含同一字段的多个配置。例如,单字段索引豁免和同一字段上的 TTL 策略计为一个字段配置,以达到限制。 |
每个文档的最大索引条目数 | 40,000 索引条目数是文档的以下各项的总和:
要了解 Cloud Firestore 如何将文档和一组索引转换为索引条目,请参阅此索引条目计数示例。 |
复合索引中的最大字段数 | 100 |
索引条目的最大大小 | 7.5 KB 要查看 Cloud Firestore 如何计算索引条目大小,请参阅索引条目大小。 |
文档索引条目大小的最大总和 | 8 字节 文档的总大小是以下各项的总和: |
索引字段值的最大大小 | 1500 字节 超过 1500 字节的字段值将被截断。涉及截断字段值的查询可能会返回不一致的结果。 |
生存时间 (TTL)
限制 | 细节 |
---|---|
一个数据库的最大单字段配置数 | 200 总共允许 200 个字段级配置。一个字段配置可以包含同一字段的多个配置。例如,单字段索引豁免和同一字段上的 TTL 策略计为一个字段配置,以达到限制。 |
出口进口
以下限制适用于受管理的进出口业务:
限制 | 细节 |
---|---|
每分钟允许的项目导出和导入请求的最大总数 | 20 |
并发导出和导入的最大数量 | 50 |
导出和导入请求的集合 ID 过滤器的最大数量 | 100 |
安全规则
限制 | 细节 |
---|---|
每个请求的exists() 、 get() 和getAfter() 调用的最大次数 |
超过任一限制都会导致权限被拒绝错误。 某些文档访问调用可能会被缓存,缓存的调用不计入限制。 |
最大嵌套match 语句深度 | 10 |
一组嵌套match 语句中允许的最大路径长度(以路径段为单位) | 100 |
一组嵌套match 语句中允许的最大路径捕获变量数 | 20 |
最大函数调用深度 | 20 |
函数参数的最大数量 | 7 |
每个函数的最大let 变量绑定数 | 10 |
递归或循环函数调用的最大次数 | 0(不允许) |
每个请求评估的最大表达式数 | 1,000 |
规则集的最大大小 | 规则集必须遵守两个大小限制:
|
管理开支
为帮助避免账单上的意外费用,请设置每月预算和提醒。
设定每月预算
要跟踪您的 Cloud Firestore 成本,请在 Google Cloud Console 中创建每月预算。预算不会限制您的使用,但您可以设置警报,以便在您接近或超过当月的计划成本时通知您。
要设置预算,请转到 Google Cloud Console 中的Billing部分并为您的 Cloud Billing 帐户创建预算。您可以使用默认警报设置或修改警报以按每月预算的不同百分比发送通知。
了解有关设置预算和预算提醒的更多信息。
设定每日消费限额
要限制您的 Cloud Firestore 使用量,请通过 App Engine 设置每日支出限额。 App Engine 允许您为 App Engine 相关资源(包括 Cloud Firestore)设置每日支出限额。 App Engine 限制不适用于任何其他 Firebase 产品。