限制

本页面介绍 Datastore 模式 Firestore 在生产环境中的限制。

Datastore 模式 Firestore 的限制

除了这些限制之外,您还应参阅 Datastore 模式 Firestore 的最佳实践

限制 金额
每个项目的数据库数上限

100

您可以与支持团队联系,申请提高此限制。

每个项目的客户管理的加密密钥 (CMEK) 数据库数量上限

0

默认情况下,配额为 0,因为此功能仅限许可名单上的用户使用。您可以填写 CMEK 访问申请表单来申请增加配额。

API 请求大小上限。

在非 Google App Engine 环境中使用 Datastore 模式时应用此限制。如果在 App Engine 中使用 Datastore 模式,则此限制取决于所用的客户端库。

10 MiB
事务的大小上限 10 MiB
实体大小上限 1048572 字节
(1 MiB - 4 字节)

Commit 操作或事务中,可对单个实体执行的属性转换操作的最大数量。

对于 "appendMissingElements" 等数组转换,每个数组元素都计入限制。

500
实体键的大小上限 6 KiB
嵌套实体值的最大深度 20
在 Datastore API 中可供 Lookup 操作使用的键数上限 1000
已编制索引的字符串属性的 UTF-8 编码大小上限 1500 字节
未编入索引的属性的大小上限 1048487 字节
(1 MiB - 89 字节)
一个实体的复合索引条目的大小总和上限 2 MiB
一个数据库的复合索引数量上限
一个实体的下述各项的数量总和上限:
  • 已编制索引的属性值数量
  • 复合索引条目的数量
20,000
复合索引中的属性数量上限 2 MiB
一个项目每分钟允许的导出和导入请求总数上限 20
并发导出和导入的数量上限 50
导出和导入请求的实体过滤条件的数量上限

如果导出或导入请求指定 entity_filter,则过滤后的种类和命名空间的每个组合均作为单独的过滤条件计入此限制内。例如:

带有 kinds=['foo', 'bar']namespace_ids=['', 'ns1'] 的请求
产生的以下 4 个过滤条件均计入此限制内:[('', 'foo'), ('', 'bar'), ('ns1', 'foo'), ('ns1', 'bar')]

100
每个数据库允许的存留时间 (TTL) 政策数量上限。 1000

旧版 Cloud Datastore 的限制

如果您尚未从 Datastore 升级到 Datastore 模式 Firestore,则以下限制也适用于您的数据库实例:

限制 数量
事务中可访问的最大实体组数 25
从实体组读取事务或将事务写入实体组的最大速率 每秒 1 次
写入实体组的最大速率。

注意:您可针对实体组执行批量写入操作。这样就可在此限制内向一个实体组写入多个实体。

每秒 1 次

后续步骤