本文档介绍 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 上以您的币种列出的价格。
命名数据库没有免费配额
如需创建命名(非默认)数据库,您必须升级项目的结算方案。
创建或删除命名数据库不会产生额外费用,但这些数据库不符合免费配额的条件。相反,您需要为这些命名数据库产生的用量付费。
读取、写入和删除
您需要支付为满足查询要求而产生的文档和索引条目读取费用。您需要为执行的每次文档写入和删除操作支付费用。
写入和删除操作的收费方式简单明了。对于写入操作,每个 set
或 update
操作计为一次写入。
但是读取操作的收费方式有一些您应该注意的细节。以下部分详细介绍了这些细节。
索引条目读取
对于查询所读取的每批不超过 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))
下面的查询包含两个范围字段(
age
和start_date
),该查询就会产生索引条目读取费用:db.collection("employees").whereGreaterThanOrEqualTo("age", 35) .whereGreaterThanOrEqualTo("start_date", new Date(2020, 1, 1))
如果查询中至少有一个其他范围字段,“排序依据”子句中的字段便会被视为是范围字段。因此,下面的查询包含两个范围字段(
age
和start_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 以外(例如来自用户的移动设备)的请求
查看价格示例
如需了解在实际示例应用中 Cloud Firestore 结算费用如何累计,请参阅 Cloud Firestore 结算示例。
管理支出
为了避免您的账单上出现超支的费用,您可以使用 Google Cloud 的结算控制台设置每月预算和提醒。
如需监控 Cloud Firestore 用量,请打开 Firebase 控制台中的 Cloud Firestore 用量标签页。您可以使用信息中心测量您在不同时间段的用量。