了解 Cloud Firestore 计费方式

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

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

价格概览

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

  • 读取、写入和删除的文档数量
  • 为满足查询要求而读取的索引条目数详细了解索引读取
  • 数据库使用的存储空间容量,包括元数据和索引的开销。
  • 网络带宽使用量

存储空间和带宽使用量是以吉比字节 (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.030
文档写入 每 10 万个文档 $0.090
文档删除 每 10 万个文档 $0.010
TTL 删除 每 10 万个文档 $0.010
数据存储 每月每 GiB $0.150
PITR 数据 每月每 GiB $0.150
备份数据 每月每 GiB $0.030
恢复操作 每 GiB $0.200

达拉斯

达拉斯

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

拉斯维加斯

拉斯维加斯

超出免费配额部分的价格
文档读取 每 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.030
文档写入 每 10 万个文档 $0.090
文档删除 每 10 万个文档 $0.010
TTL 删除 每 10 万个文档 $0.010
数据存储 每月每 GiB $0.150
PITR 数据 每月每 GiB $0.150
备份数据 每月每 GiB $0.030
恢复操作 每 GiB $0.200

南卡罗来纳

南卡罗来纳

超出免费配额部分的价格
文档读取 每 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.043
文档写入 每 10 万个文档 $0.129
文档删除 每 10 万个文档 $0.014
TTL 删除 每 10 万个文档 $0.014
数据存储 每月每 GiB $0.215
PITR 数据 每月每 GiB $0.215
备份数据 每月每 GiB $0.043
恢复操作 每 GiB $0.286

圣保罗

圣保罗

超出免费配额部分的价格
文档读取 每 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.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.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.035
文档写入 每 10 万个文档 $0.104
文档删除 每 10 万个文档 $0.012
TTL 删除 每 10 万个文档 $0.012
数据存储 每月每 GiB $0.174
PITR 数据 每月每 GiB $0.174
备份数据 $0.035/GiB/月
恢复操作 每 GiB $0.232

马德里

马德里

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

巴黎

巴黎

超出免费配额部分的价格
文档读取 每 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.039
文档写入 每 10 万个文档 $0.116
文档删除 每 10 万个文档 $0.013
TTL 删除 每 10 万个文档 $0.013
数据存储 每月每 GiB $0.194
PITR 数据 每月每 GiB $0.194
备份数据 $0.039/GiB/月
恢复操作 每 GiB $0.258

柏林

柏林

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

Dammam

Dammam

超出免费配额部分的价格
文档读取 每 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

约翰内斯堡

约翰内斯堡

超出免费配额部分的价格
文档读取 每 10 万个文档 $0.031
文档写入 每 10 万个文档 $0.094
文档删除 每 10 万个文档 $0.010
TTL 删除 每 10 万个文档 $0.010
数据存储 每月每 GiB $0.156
PITR 数据 每月每 GiB $0.156
备份数据 每月每 GiB $0.031
恢复操作 每 GiB $0.208

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

命名数据库没有免费配额

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

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

读取、写入和删除

您需要支付为满足查询要求而产生的文档和索引条目读取费用。您需要为执行的每次文档写入和删除操作支付费用。

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

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

索引条目读取

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

  • K 最近邻向量搜索查询中,对于查询所读取的每批不超过 100 个 kNN 向量索引条目,系统都会收取相当于一次读取操作的费用。

    例如,如果下面具有 limit: 5 限制的向量搜索查询返回了 5 个文档并读取了 1,550 个 kNN 向量索引条目,则您需要为返回的文档支付 5 次读取操作的费用并为读取的索引条目支付 16 次读取操作的费用:

    // Requires single-field vector index
    const vectorQuery: VectorQuery = db.collection('cities').findNearest('embedding_field', FieldValue.vector([3.0, 1.0, 2.0]), {
      limit: 5,
      distanceMeasure: 'EUCLIDEAN'
    });
    
  • 不超过一个范围字段的查询不会产生索引条目读取费用。

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

    db.collection("employees").whereEqualTo("age", 35)
                              .whereGreaterThanOrEqualTo("start_date", new Date(2020, 1, 1))
    

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

    db.collection("employees").whereGreaterThanOrEqualTo("age", 35)
                              .whereGreaterThanOrEqualTo("start_date", new Date(2020, 1, 1))
    

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

    db.collection("employees").whereGreaterThanOrEqualTo("age", 35)
                              .orderBy("start_date")
    

    __name__ 字段始终会被视为是范围字段,即使该字段仅用在等式过滤条件中也是如此。因此,下面的查询包含两个范围字段(age__name__),且该查询会产生索引条目读取费用:

    db.collection("employees").whereIn("__name__", Arrays.asList("/employees/Alice", "/employees/Bob"))
                              .orderBy("age")
    

聚合查询

对于聚合查询(例如,count()sum()avg()),您需要按上述规定为查询支付索引条目读取费用。对于读取 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) 的单价。

查询解释

使用 Firestore 查询解释会产生费用。

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

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

网络带宽

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

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

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

常规网络流量价格

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

流量类型 价格
入站数据传输 免费
区域内的数据传输 免费
同一多区域内不同区域之间的数据传输 免费
美国境内不同区域之间的数据传输(每 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 用量标签页。您可以使用信息中心测量您在不同时间段的用量。