了解 Cloud Firestore 计费方式

本文档介绍 Cloud Firestore 的价格详情。

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

价格概览

使用 Cloud Firestore 时,您需要为以下各项支付费用:

  • 读取、写入和删除的文档数量
  • 聚合查询所匹配的索引条目的数量。对于查询所匹配的每批不超过 1,000 个索引条目,系统都会收取相当于一次文档读取的费用。
  • 数据库使用的存储空间容量,包括元数据和索引的开销。
  • 网络带宽使用量

存储空间和带宽使用量是以吉比字节 (GiB) 为单位计算的,其中 1 GiB = 230 个字节。所有费用每天进行累计。

以下部分详细介绍了 Cloud Firestore 用量的收费方式。

免费配额

Cloud Firestore 提供了一定的免费配额,让您可以免费开始使用 (default) 数据库。免费配额数量如下所示。 如果您需要更多配额,则必须为 Google Cloud 项目启用结算功能

配额按日计算,并会在美国太平洋时间零点重置。

只有 (default) 数据库有资格使用免费配额。

免费层级 配额
数据存储 1 GiB
文档读取 每天 50000 次
文档写入 每天 20000 次
文档删除 每天 20000 次
出站数据传输 每月 10 GiB

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

  • 使用命名(非默认)数据库
  • TTL 删除
  • PITR 数据
  • 备份数据
  • 恢复操作

如需详细了解这些功能的结算方式,请参阅存储价格

不同位置的价格

下表列出了各个 Cloud Firestore 位置的读取、写入、删除和存储操作价格:

选择区域

美国(多区域)

美国(多区域)

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.06
文档写入 每 10 万个文档 $0.18
文档删除 每 10 万个文档 $0.02
TTL 删除 每 10 万个文档 $0.02
数据存储 每月每 GiB $0.18
PITR 数据 每月每 GiB $0.18
备份数据 $0.03/GiB/月
恢复操作 $0.4/GiB

俄勒冈

俄勒冈

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.03
文档写入 每 10 万个文档 $0.09
文档删除 每 10 万个文档 $0.01
TTL 删除 每 10 万个文档 $0.01
数据存储 每月每 GiB $0.15
PITR 数据 每月每 GiB $0.15
备份数据 $0.03/GiB/月
恢复操作 $0.2/GiB

洛杉矶

洛杉矶

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.036
文档写入 每 10 万个文档 $0.108
文档删除 每 10 万个文档 $0.012
TTL 删除 每 10 万个文档 $0.012
数据存储 每月每 GiB $0.108
PITR 每月每 GiB $0.108
备份数据 $0.036/GiB/月
恢复操作 $0.24/GiB

盐湖城

盐湖城

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.036
文档写入 每 10 万个文档 $0.108
文档删除 每 10 万个文档 $0.012
TTL 删除 每 10 万个文档 $0.012
存储的数据 每月每 GiB $0.18
PITR 数据 每月每 GiB $0.18
备份数据 $0.036/GiB/月
恢复操作 $0.24/GiB

北弗吉尼亚

北弗吉尼亚

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.033
文档写入 每 10 万个文档 $0.099
文档删除 每 10 万个文档 $0.011
TTL 删除 每 10 万个文档 $0.011
数据存储 每月每 GiB $0.099
PITR 数据 每月每 GiB $0.099
备份数据 $0.033/GiB/月
恢复操作 $0.22/GiB

拉斯维加斯

拉斯维加斯

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.033
文档写入 每 10 万个文档 $0.099
文档删除 每 10 万个文档 $0.011
TTL 删除 每 10 万个文档 $0.011
数据存储 每月每 GiB $0.165
PITR 数据 每月每 GiB $0.165
备份数据 $0.033/GiB/月
恢复操作 $0.22/GiB

南卡罗来纳

南卡罗来纳

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.06
文档写入 每 10 万个文档 $0.18
文档删除 每 10 万个文档 $0.02
TTL 删除 每 10 万个文档 $0.02
数据存储 每月每 GiB $0.18
PITR 数据 每月每 GiB $0.18
备份数据 $0.03/GiB/月
恢复操作 $0.4/GiB

蒙特利尔

蒙特利尔

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.033
文档写入 每 10 万个文档 $0.099
文档删除 每 10 万个文档 $0.011
TTL 删除 每 10 万个文档 $0.011
数据存储 每月每 GiB $0.099
PITR 数据 每月每 GiB $0.099
备份数据 $0.033/GiB/月
恢复操作 $0.22/GiB

多伦多

多伦多

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.033
文档写入 每 10 万个文档 $0.099
文档删除 每 10 万个文档 $0.011
TTL 删除 每 10 万个文档 $0.011
数据存储 每月每 GiB $0.165
PITR 数据 每月每 GiB $0.165
备份数据 $0.033/GiB/月
恢复操作 $0.22/GiB

圣保罗

圣保罗

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.045
文档写入 每 10 万个文档 $0.135
文档删除 每 10 万个文档 $0.015
TTL 删除 每 10 万个文档 $0.015
数据存储 每月每 GiB $0.135
PITR 数据 每月每 GiB $0.135
备份数据 $0.045/GiB/月
恢复操作 $0.3/GiB

欧洲(多区域)

欧洲(多区域)

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.06
文档写入 每 10 万个文档 $0.18
文档删除 每 10 万个文档 $0.02
TTL 删除 每 10 万个文档 $0.02
数据存储 每月每 GiB $0.18
PITR 数据 每月每 GiB $0.18
备份数据 $0.03/GiB/月
恢复操作 $0.4/GiB

苏黎世

苏黎世

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.042
文档写入 每 10 万个文档 $0.126
文档删除 每 10 万个文档 $0.014
TTL 删除 每 10 万个文档 $0.014
数据存储 每月每 GiB $0.210
PITR 数据 每月每 GiB $0.210
备份数据 $0.042/GiB/月
恢复操作 $0.28/GiB

华沙

华沙

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.039
文档写入 每 10 万个文档 $0.117
文档删除 每 10 万个文档 $0.013
TTL 删除 每 10 万个文档 $0.013
数据存储 每月每 GiB $0.195
PITR 数据 每月每 GiB $0.195
备份数据 $0.039/GiB/月
恢复操作 $0.26/GiB

法兰克福

法兰克福

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.039
文档写入 每 10 万个文档 $0.117
文档删除 每 10 万个文档 $0.013
TTL 删除 每 10 万个文档 $0.013
数据存储 每月每 GiB $0.117
PITR 数据 每月每 GiB $0.117
备份数据 $0.039/GiB/月
恢复操作 $0.26/GiB

荷兰

荷兰

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.034
文档写入 每 10 万个文档 $0.102
文档删除 每 10 万个文档 $0.011
TTL 删除 每 10 万个文档 $0.011
数据存储 每月每 GiB $0.170
PITR 数据 每月每 GiB $0.170
备份数据 $0.035/GiB/月
恢复操作 $0.23/GiB

伦敦

伦敦

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.039
文档写入 每 10 万个文档 $0.117
文档删除 每 10 万个文档 $0.013
TTL 删除 每 10 万个文档 $0.013
数据存储 每月每 GiB $0.117
PITR 数据 每月每 GiB $0.117
备份数据 $0.039/GiB/月
恢复操作 $0.26/GiB

比利时

比利时

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.033
文档写入 每 10 万个文档 $0.099
文档删除 每 10 万个文档 $0.011
TTL 删除 每 10 万个文档 $0.011
数据存储 每月每 GiB $0.165
PITR 数据 每月每 GiB $0.165
备份数据 $0.033/GiB/月
恢复操作 $0.220/GiB

巴黎

巴黎

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.036
文档写入 每 10 万个文档 $0.107
文档删除 每 10 万个文档 $0.012
TTL 删除 每 10 万个文档 $0.012
存储的数据 $0.179/GiB/月
PITR 数据 $0.179/GiB/月
备份数据 $0.036/GiB/月
恢复操作 $0.238/GiB

多哈

多哈

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.036
文档写入 每 10 万个文档 $0.109
文档删除 每 10 万个文档 $0.012
TTL 删除 每 10 万个文档 $0.012
存储的数据 $0.182/GiB/月
PITR 数据 $0.182/GiB/月
备份数据 $0.036/GiB/月
恢复操作 $0.243/GiB

达曼

达曼

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.048
文档写入 每 10 万个文档 $0.144
文档删除 每 10 万个文档 $0.016
TTL 删除 每 10 万个文档 $0.016
存储的数据 每月每 GiB $0.240
PITR 数据 每月每 GiB $0.240
备份数据 每月每 GiB $0.048
恢复操作 $0.320/GiB

特拉维夫

特拉维夫

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.034
文档写入 每 10 万个文档 $0.102
文档删除 每 10 万个文档 $0.011
TTL 删除 每 10 万个文档 $0.011
数据存储 每月每 GiB $0.170
PITR 数据 每月每 GiB $0.170
备份数据 $0.034/GiB/月
恢复操作 $0.226/GiB

孟买

孟买

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.035
文档写入 每 10 万个文档 $0.104
文档删除 每 10 万个文档 $0.012
TTL 删除 每 10 万个文档 $0.012
数据存储 每月每 GiB $0.104
PITR 数据 每月每 GiB $0.104
备份数据 $0.035/GiB/月
恢复操作 $0.23/GiB

德里

德里

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.035
文档写入 每 10 万个文档 $0.104
文档删除 每 10 万个文档 $0.012
TTL 删除 每 10 万个文档 $0.012
存储的数据 每月每 GiB $0.173
PITR 数据 每月每 GiB $0.173
备份数据 $0.035/GiB/月
恢复操作 $0.23/GiB

悉尼

悉尼

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.038
文档写入 每 10 万个文档 $0.115
文档删除 每 10 万个文档 $0.013
TTL 删除 每 10 万个文档 $0.013
数据存储 每月每 GiB $0.115
PITR 数据 每月每 GiB $0.115
备份数据 $0.038/GiB/月
恢复操作 $0.256/GiB

墨尔本

墨尔本

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.034
文档写入 每 10 万个文档 $0.103
文档删除 每 10 万个文档 $0.011
TTL 删除 每 10 万个文档 $0.011
数据存储 每月每 GiB $0.171
PITR 数据 每月每 GiB $0.171
备份数据 $0.034/GiB/月
恢复操作 $0.228/GiB

香港

香港

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.06
文档写入 每 10 万个文档 $0.18
文档删除 每 10 万个文档 $0.02
TTL 删除 每 10 万个文档 $0.02
数据存储 每月每 GiB $0.18
PITR 数据 每月每 GiB $0.18
备份数据 $0.035/GiB/月
恢复操作 $0.23/GiB

台湾

台湾

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.0345
文档写入 每 10 万个文档 $0.1042
文档删除 每 10 万个文档 $0.0115
TTL 删除 每 10 万个文档 $0.0115
数据存储 每月每 GiB $0.1725
PITR 数据 每月每 GiB $0.1725
备份数据 $0.035/GiB/月
恢复操作 $0.23/GiB

东京

东京

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.038
文档写入 每 10 万个文档 $0.115
文档删除 每 10 万个文档 $0.013
TTL 删除 每 10 万个文档 $0.013
数据存储 每月每 GiB $0.115
PITR 数据 每月每 GiB $0.115
备份数据 $0.038/GiB/月
恢复操作 $0.256/GiB

新加坡

新加坡

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.0369
文档写入 每 10 万个文档 $0.1107
文档删除 每 10 万个文档 $0.0123
TTL 删除 每 10 万个文档 $0.0123
数据存储 每月每 GiB $0.1846
PITR 数据 每月每 GiB $0.1846
备份数据 $0.037/GiB/月
恢复操作 $0.246/GiB

雅加达

雅加达

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.038
文档写入 每 10 万个文档 $0.115
文档删除 每 10 万个文档 $0.013
TTL 删除 每 10 万个文档 $0.013
数据存储 每月每 GiB $0.192
PITR 数据 每月每 GiB $0.192
备份数据 $0.038/GiB/月
恢复操作 $0.256/GiB

大阪

大阪

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.038
文档写入 每 10 万个文档 $0.115
文档删除 每 10 万个文档 $0.013
TTL 删除 每 10 万个文档 $0.013
数据存储 每月每 GiB $0.195
PITR 数据 每月每 GiB $0.195
备份数据 $0.038/GiB/月
恢复操作 $0.256/GiB

首尔

首尔

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.038
文档写入 每 10 万个文档 $0.115
文档删除 每 10 万个文档 $0.013
TTL 删除 每 10 万个文档 $0.013
数据存储 每月每 GiB $0.192
PITR 数据 每月每 GiB $0.192
备份数据 $0.038/GiB/月
恢复操作 $0.256/GiB

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

命名数据库没有免费配额

如需创建命名(非默认)数据库,您必须升级项目的结算方案。

创建或删除命名数据库不会产生额外费用,但这些数据库不符合免费配额的条件。相反,您需要为这些命名数据库产生的用量付费。

读取、写入和删除

您需要为使用 Cloud Firestore 执行的每次文档读取、写入和删除操作支付费用。

写入和删除操作的收费方式简单明了。对于写入操作,每个 setupdate 操作计为一次写入。

但是读取操作的收费方式有一些您应该注意的细节。以下部分详细介绍了这些细节。

聚合查询

使用 count()sum()avg()聚合查询时,对于查询所匹配的每批不超过 1000 个索引条目,系统都会收取相当于一次文档读取的费用。对于匹配 0 个索引条目的聚合查询,系统会收取相当于一次文档读取的最低费用。

例如,如果 count() 操作匹配 0 至 1,000 个索引条目,则系统会收取相当于一次文档读取的费用;如果 count() 操作匹配 1,500 个索引条目,则系统会收取相当于两次文档读取的费用。

监听查询结果

Cloud Firestore 可让您监听查询结果,并且在查询结果发生更改时获得实时更新。

当您监听查询的结果时,每次结果集内添加或更新了文档,您都需要支付读取费用。当从结果集中移除某个文档时,您同样需要支付读取费用,因为该文档已经发生了更改。(但如果某个文档被删除,您不需要支付读取费用)。

移动 SDK 和 Web SDK 中的监听器的结算还取决于是否启用了离线持久化

  • 如果启用了离线持久化,则在监听器断开网络连接的时间超过 30 分钟(例如用户下线)后,您才需要支付读取费用,就像您进行了全新查询一样。

  • 但如果停用离线持久化,则只要监听器断开网络连接并进行重新连接,您便需要支付读取费用,就好像进行全新查询一样。

管理大型结果集

Cloud Firestore 有几项功能可以帮助您管理会返回大量结果的查询:

  • 游标:可让您继续执行某个运行时间较长的查询。
  • 页面标记:帮助您对查询结果进行分页。
  • 限制:指定要检索多少条结果。
  • 偏移:可让您跳过一定数量的文档。

使用游标、页面标记和限制时没有额外的费用。不仅如此,这些功能只会读取您实际需要的文档,因此还可以帮助您节省费用。

但是,当您发送包含偏移的查询时,您仍需要为跳过的文档支付读取费用。例如,如果您的查询使用的偏移为 10,并且该查询返回 1 个文档,您一共需要支付 11 次读取操作的费用。由于存在这笔额外费用,您应该尽可能使用游标,而不是偏移。

文档读取以外的查询

对于文档读取以外的其他查询,例如请求一个集合 ID 列表,您需要支付一次文档读取的费用。如果获取完整的结果集需要发出多个请求(例如,如果您使用了分页功能),则每个请求都会单独计费。

查询的最低费用

对于您执行的每一次查询,系统都会收取相当于一次文档读取的最低费用,即使查询没有返回任何结果也是如此。

Cloud Firestore 安全规则

对于移动和 Web 客户端库,如果您的 Cloud Firestore 安全规则使用 exists()get()getAfter() 从数据库中读取一个或多个文档,那么您需要支付如下额外读取费用:

  • 您需要为评估您的 Cloud Firestore 安全规则所需的读取操作支付费用。

    例如,如果您的规则引用了三个文档,但 Cloud Firestore 只需要读取其中两个文档来评估您的规则,那么您将需要为相关文档的两次额外读取操作支付费用。

    即使您的规则多次引用某个文档,您也只需要支付一次该文档的读取操作费用。

  • 您只需为每个请求支付一次规则评估费用。

    因此,一次读取多个文档可能比每次读取一个文档的费用要少,因为读取多个文档需要的请求数更少。

  • 当您监听查询的结果时,在下列所有情况下您都需要支付规则评估费用:

    • 每当您发出查询时。
    • 每当查询结果发生更新时。
    • 每当用户的设备离线然后又重新连线时。
    • 每当您更新自己的规则时。
    • 每当您更新规则中的相关文档时。

数据库存储空间大小

您需要为您在 Cloud Firestore 中存储的数据量支付费用,包括相关存储开销。存储开销包括元数据、自动索引和复合索引。

Cloud Firestore 中存储的每个文档都需要以下元数据:

  • 文档 ID,包括集合 ID 和文档名称。
  • 每个字段的名称和值。由于 Cloud Firestore 是无架构的,因此文档中每个字段的名称都必须与字段值一起存储。
  • 引用了该文档的任何单字段索引和复合索引。每个索引条目都包含集合 ID、任意数量的字段值(具体取决于索引定义)以及文档名称。

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

如需了解如何计算 Cloud Firestore 的存储空间使用量,请参阅存储空间大小的计算

PITR 数据

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

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

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

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

备份数据和恢复操作

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

备份的存储费用以 GiB/月为单位。在一个月内,系统会计算每个备份的保留天数,还会计算一个月内的平均值。备份费用的计算方法是:备份的存储空间大小乘以备份保留月份的比例,再乘以单价。

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

网络带宽

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

Cloud Firestore 会根据序列化消息格式计算响应大小。协议开销(如 SSL 开销)不计入网络带宽使用量。您的 Cloud Firestore 安全规则拒绝的请求不计入网络带宽使用量。

如需了解您使用了多少网络带宽,您可以使用 GCP 控制台将结算数据导出到文件

常规网络流量价格

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

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

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

Cloud Firestore 还需要针对以下情况收取额外的互联网出站费用:

  • 不同区域之间的 Google Cloud 请求(不包括美国境内不同区域之间的流量)
  • 来自 Google Cloud 以外(例如来自用户的移动设备)的请求

请参阅 Google Cloud 互联网出站流量费率

查看价格示例

如需了解在实际示例应用中 Cloud Firestore 结算费用如何累计,请参阅 Cloud Firestore 结算示例

管理支出

为了避免您的账单上出现超支的费用,您可以使用 Google Cloud 的结算控制台设置每月预算和提醒

如需监控 Cloud Firestore 用量,请打开 Firebase 控制台中的 Cloud Firestore 用量标签页。您可以使用信息中心测量您在不同时间段的用量。