Datastore 模式 Firestore 价格

本文档介绍 Datastore 模式价格详情。

免费使用量

Datastore 模式的 Firestore 提供了一定的免费使用量,让您可以在入门阶段免费使用。如果需要超出免费使用量,您必须为项目启用结算功能

您的使用量按每天计算,并会在美国太平洋时间零点重置。

免费使用量
实体读取次数 每天 50000 次
实体写入次数 每天 20000 次
实体删除次数 每天 20000 次
数据存储 1 GiB
小规模操作 每天 50000 次
出站数据传输 每月 10 GiB

以下操作和功能不包括免费使用量。您必须启用结算功能才能使用这些功能:

  • PITR 数据
  • 备份数据
  • 恢复操作
  • 克隆操作
  • TTL

如需详细了解这些功能的结算方式,请参阅存储空间大小注意事项

按区域划分的价格

如需查看各个 Datastore 模式位置的读取、写入、删除和存储价格,请参阅 Firestore 价格页面。

读取操作次数

对于读取的每个实体,系统都会收取相当于一次读取操作的费用;对于读取的每批不超过 1,000 个索引条目,系统也会收取相当于一次读取操作的费用。

索引条目

对于查询所读取的每批不超过 1,000 个索引条目,系统都会收取相当于一次读取操作的费用,但以下情况除外:

不超过一个范围属性的查询不会产生索引条目读取费用,最低费用为零次读取操作。请参考以下示例,了解何时会收取索引条目读取费用。然后使用查询解释billing_details部分来验证您的理解。

下面的查询包含一个等式属性 (age) 和一个范围属性 (start_date),该查询就不会产生索引条目读取费用:

Query<Entity> query =
    Query.newEntityQueryBuilder()
        .setKind("Employee")
        .setFilter(
            CompositeFilter.and(
                PropertyFilter.eq("age", 35), PropertyFilter.ge("start_date", new Date(2020, 1, 1))))
        .build();

下面的查询包含两个范围属性(agestart_date),该查询就会产生索引条目读取费用:

Query<Entity> query =
    Query.newEntityQueryBuilder()
        .setKind("Employee")
        .setFilter(
            CompositeFilter.and(
                PropertyFilter.ge("age", 35), PropertyFilter.ge("start_date", new Date(2020, 1, 1))))
        .build();

如果查询中至少有一个其他范围属性,“排序依据”子句中的属性便会被视为是范围属性。因此,下面的查询包含两个范围属性(agestart_date),且该查询会产生索引条目读取费用:

Query<Entity> query =
    Query.newEntityQueryBuilder()
        .setKind("Employee")
        .setFilter(PropertyFilter.ge("age", 35))
        .setOrderBy(OrderBy.asc("start_date")).build()
        .build();

如果查询中至少有一个其他范围属性,“distinct on”子句中的属性便会被视为是范围属性。因此,下面的查询包含两个范围属性(agestart_date),且该查询会产生索引条目读取费用:

Query<Entity> query =
    Query.newEntityQueryBuilder()
        .setKind("Employee")
        .setFilter(PropertyFilter.ge("age", 35))
        .setDistinctOn("start_date")
        .build();

聚合查询

对于聚合查询 count()sum()avg(),对于查询读取的每批不超过 1,000 个索引条目,系统都会收取相当于一次实体读取的费用。

例如,如果聚合查询读取 0 至 1, 000 个索引条目,则系统会收取相当于一次实体读取的费用;对于读取 1, 500 个索引条目的聚合查询,系统会收取相当于两次实体读取的费用。

您可以使用查询解释详细了解所用索引和所读取的索引条目。

属性转换

每个属性转换操作(如 incrementappendMissingElements)都会按一次读取和一次写入收费。对同一实体执行插入、更新或 upsert 操作以及属性转换的提交操作计为一次读取和一次写入。

小规模操作次数

小规模操作包括:

  • 用于分配 ID 的调用。
  • 仅限于键的查询。对于此类查询,系统会将查询本身计为单次实体读取,而其结果计为小规模操作。
  • 不使用 distinct on 子句的投影查询。系统会将此类查询本身计为单次实体读取,而其结果计为小规模操作。

小规模操作是免费的,但要想执行数量超出每日免费使用量的查询,则必须启用结算功能

查询解释和分析

使用查询解释和分析会产生费用。

如果您在使用查询解释时选择的是默认选项,系统不会执行任何索引或实体读取操作。无论查询复杂程度如何,都只会收取一次读取操作的费用。

如果您在使用查询解释时选择的是分析选项,系统会相应执行索引和读取操作,因此您需要照常为查询付费。解释和分析活动不会产生额外费用,只会收取执行查询的常规费用。

网络带宽

您需要为 Datastore 模式请求所使用的网络带宽支付费用,如以下部分中所示。Datastore 请求的网络带宽费用取决于请求的响应大小、您的 Datastore 模式数据库的位置和响应的目标位置。

常规网络流量价格

对于源自 Google Cloud Platform(例如,来自在 Google Compute Engine 上运行的应用)的请求,我们按如下标准向您收取费用:

流量类型 价格
入站数据传输 免费
区域内的数据传输 免费
同一多区域内不同区域之间的数据传输 免费
美国境内不同区域之间的数据传输(每 GiB) $0.01(每个月前 10 GiB 免费)
不同区域之间的数据传输(不包括美国境内不同区域之间的流量) Google Cloud Platform 互联网出站数据传输费率

如果您使用非美元货币付费,请参阅 Cloud Platform SKU 上以您的币种列出的价格。

互联网数据传输费率

您需要支付以下互联网数据传输费用:

  • 不同区域之间的Google Cloud 请求(不包括美国境内不同区域之间的流量)
  • 来自 Google Cloud以外的请求

如果您使用非美元货币付费,请参阅 Cloud Platform SKU 上以您的币种列出的价格。

导入和导出操作

导出和导入操作需按上表所示的费率支付实体读写费用。如果您取消导出或导入操作,则需要为取消请求在 Datastore 模式 Firestore 中传播完成之前已执行的操作付费。

查找应用的配额用量信息

如需查看应用的 Datastore 模式用量(包括配额消耗情况),请访问 App Engine 配额详情页面。即使您的应用不在 App Engine 中运行,您也需要通过这一方式查看。

显示的“存储”页面中将会列出您的应用使用的 Datastore 模式资源。您可以选择点击显示未使用的资源,查看可用的完整配额信息列表。

存储空间大小考量

您需要为您在 Datastore 模式下存储的数据量支付费用,包括相关存储开销。存储开销包括元数据、内置索引复合索引和时间点恢复 (PITR) 版本。您还需要支付备份存储空间大小和恢复操作的费用。

存储在数据库中的每个实体都需要以下元数据,这些元数据会影响存储空间大小:

  • 实体键,包括种类、ID 或键名称,以及实体祖先的键。
  • 每个属性的名称和值。因为 Datastore 模式 Firestore 是无架构的,所以对于给定的任一实体,每个属性的名称都必须和属性值一起存储。
  • 引用此实体的任何内置索引行和复合索引行。每一行都包含实体种类、任意数量的属性值(具体取决于索引定义)以及实体键。

如需了解系统如何计算 Datastore 模式的存储空间,请参阅存储空间大小的计算

PITR 数据

如果启用 PITR,您需要支付 PITR 数据的存储费用。大多数客户会发现 PiTR 数据存储的总费用与数据库的存储费用类似。

PITR 的存储费用以 GiB/月为单位,每天计算一次。Datastore 模式每天都会测量数据库大小。在一个月内,系统会计算这些样本点的平均值,以计算数据库存储空间大小。此平均值乘以 PITR(GiB-月)的单价。

例如,如果数据库一个月的平均大小为 1 GiB,并且整个月都启用了 PITR,则计费 PITR 数据大小也是 1 GiB。

最低结算费用:即使您在启用后 1 天内停用了 PITR,系统也可能会向您收取最多 1 天的 PITR 存储费用。

备份数据和恢复操作

如果启用了backups功能,则需要支付数据库备份的存储费用。备份的存储空间大小与进行备份时数据库的存储空间大小相同。

备份的存储费用以 GiB/月为单位。在一个月内,系统会计算每个备份的保留天数,还会计算一个月内的平均值。备份费用的计算方法是:备份的存储空间大小乘以备份保留月份的比例,再乘以单价。 系统按 America/Los_Angeles 时区来定义日期边界以用于结算。

当您执行恢复操作时,Datastore 模式会衡量恢复操作的备份大小。备份的大小乘以恢复操作 (GiB) 的单价。

后续步骤

申请定制报价

Google Cloud 采用随用随付的价格模式,您只需为实际使用的服务付费。请与我们的销售团队联系,获取为贵组织量身定制的报价。
联系销售团队