获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

了解 Cloud Firestore 计费

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

本文档介绍了 Cloud Firestore 的定价详情。它还会告诉您如何限制和监控您在 Cloud Firestore 上的支出。

如果您使用美元以外的货币付款,则适用云平台 SKU上以您的货币列出的价格。

定价概览

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

  • 您读取、写入和删除的文档数
  • 聚合查询匹配的索引条目数。对于与查询匹配的最多 1000 个索引条目的每批次,您需要支付一份文档读取费用。
  • 您的数据库使用的存储量,包括元数据和索引的开销。
  • 您使用的网络带宽量

存储和带宽使用量以千兆字节 (GiB) 计算,其中 1 GiB = 2· 30字节。所有费用每天累积。

以下部分提供了有关如何为您的 Cloud Firestore 使用收费的详细信息。

按地点定价

下表列出了每个 Cloud Firestore 位置的读取、写入、删除和存储定价:

选择地区

美国(多区域)

美国(多区域)

超出免费配额的定价
文档读取每 100,000 个文档 0.06 USD
文档写入每 100,000 个文档 0.18 USD
文档删除每 100,000 个文档 0.02 USD
存储数据$0.18/GiB/月

俄勒冈州

俄勒冈州

超出免费配额的定价
文档读取每 100,000 个文档 0.03 USD
文档写入每 100,000 个文档 0.09 USD
文档删除每 100,000 个文档 0.01 USD
存储数据$0.15/GiB/月

洛杉矶

洛杉矶

超出免费配额的定价
文档读取每 100,000 个文档 0.036 USD
文档写入每 100,000 个文档 0.108 USD
文档删除每 100,000 个文档 0.012 USD
存储数据$0.108/GiB/月

盐湖城

盐湖城

超出免费配额的定价
文档读取每 100,000 个文档 0.036 USD
文档写入每 100,000 个文档 0.108 USD
文档删除每 100,000 个文档 0.012 USD
存储数据$0.108/GiB/月

弗吉尼亚北部

弗吉尼亚北部

超出免费配额的定价
文档读取每 100,000 个文档 0.033 USD
文档写入每 100,000 个文档 0.099 USD
文档删除每 100,000 个文档 0.011 USD
存储数据$0.099/GiB/月

拉斯维加斯

拉斯维加斯

超出免费配额的定价
文档读取每 100,000 个文档 0.033 USD
文档写入每 100,000 个文档 0.099 USD
文档删除每 100,000 个文档 0.011 USD
存储数据$0.165/GiB/月

南卡罗来纳

南卡罗来纳

超出免费配额的定价
文档读取每 100,000 个文档 0.06 USD
文档写入每 100,000 个文档 0.18 USD
文档删除每 100,000 个文档 0.02 USD
存储数据$0.18/GiB/月

蒙特利尔

蒙特利尔

超出免费配额的定价
文档读取每 100,000 个文档 0.033 USD
文档写入每 100,000 个文档 0.099 USD
文档删除每 100,000 个文档 0.011 USD
存储数据$0.099/GiB/月

圣保罗

圣保罗

超出免费配额的定价
文档读取每 100,000 个文档 0.045 USD
文档写入每 100,000 个文档 0.135 USD
文档删除每 100,000 个文档 0.015 USD
存储数据$0.135/GiB/月

欧洲(多区域)

欧洲(多区域)

超出免费配额的定价
文档读取每 100,000 个文档 0.06 USD
文档写入每 100,000 个文档 0.18 USD
文档删除每 100,000 个文档 0.02 USD
存储数据$0.18/GiB/月

苏黎世

苏黎世

超出免费配额的定价
文档读取每 100,000 个文档 0.042 USD
文档写入每 100,000 个文档 0.126 USD
文档删除每 100,000 个文档 0.014 USD
存储数据$0.210/GiB/月

华沙

华沙

超出免费配额的定价
文档读取每 100,000 个文档 0.039 USD
文档写入每 100,000 个文档 0.117 USD
文档删除每 100,000 个文档 0.013 USD
存储数据$0.195/GiB/月

法兰克福

法兰克福

超出免费配额的定价
文档读取每 100,000 个文档 0.039 USD
文档写入每 100,000 个文档 0.117 USD
文档删除每 100,000 个文档 0.013 USD
存储数据$0.117/GiB/月

伦敦

伦敦

超出免费配额的定价
文档读取每 100,000 个文档 0.039 USD
文档写入每 100,000 个文档 0.117 USD
文档删除每 100,000 个文档 0.013 USD
存储数据$0.117/GiB/月

孟买

孟买

超出免费配额的定价
文档读取每 100,000 个文档 0.035 USD
文档写入每 100,000 个文档 0.104 USD
文档删除每 100,000 个文档 0.012 USD
存储数据$0.104/GiB/月

悉尼

悉尼

超出免费配额的定价
文档读取每 100,000 个文档 0.038 USD
文档写入每 100,000 个文档 0.115 USD
文档删除每 100,000 个文档 0.013 USD
存储数据$0.115/GiB/月

墨尔本

墨尔本

超出免费配额的定价
文档读取每 100,000 个文档 0.034 USD
文档写入每 100,000 个文档 0.103 USD
文档删除每 100,000 个文档 0.011 USD
存储数据$0.171/GiB/月

香港

香港

超出免费配额的定价
文档读取每 100,000 个文档 0.06 USD
文档写入每 100,000 个文档 0.18 USD
文档删除每 100,000 个文档 0.02 USD
存储数据$0.18/GiB/月

台湾

台湾

超出免费配额的定价
文档读取每 100,000 个文档 0.0345 USD
文档写入每 100,000 个文档 0.1042 USD
文档删除每 100,000 个文档 0.0115 USD
存储数据$0.1725/GiB/月

东京

东京

超出免费配额的定价
文档读取每 100,000 个文档 0.038 USD
文档写入每 100,000 个文档 0.115 USD
文档删除每 100,000 个文档 0.013 USD
存储数据$0.115/GiB/月

新加坡

新加坡

超出免费配额的定价
文档读取每 100,000 个文档 0.0369 USD
文档写入每 100,000 个文档 0.1107 USD
文档删除每 100,000 个文档 0.0123 USD
存储数据$0.1846/GiB/月

雅加达

雅加达

超出免费配额的定价
文档读取每 100,000 个文档 0.038 USD
文档写入每 100,000 个文档 0.115 USD
文档删除每 100,000 个文档 0.013 USD
存储数据$0.192/GiB/月

大阪

大阪

超出免费配额的定价
文档读取每 100,000 个文档 0.038 USD
文档写入每 100,000 个文档 0.115 USD
文档删除每 100,000 个文档 0.013 USD
存储数据$0.195/GiB/月

汉城

汉城

超出免费配额的定价
文档读取每 100,000 个文档 0.038 USD
文档写入每 100,000 个文档 0.115 USD
文档删除每 100,000 个文档 0.013 USD
存储数据$0.192/GiB/月

如果您使用美元以外的货币付款,则适用云平台 SKU上以您的货币列出的价格。

读取、写入和删除

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

写入和删除的费用很简单。对于写入,每个setupdate操作都算作一次写入。

读取费用有一些细微差别,您应该记住。以下部分详细解释了这些细微差别。

聚合查询

对于诸如count()之类的聚合查询,您需要为每批最多 1000 个与查询匹配的索引条目读取一份文档。对于匹配 0 个索引条目的聚合查询,最低收费为读取一个文档。

例如,匹配 0 到 1000 个索引条目的count()操作按读取一个文档计费。对于匹配 1500 个索引条目的count()操作,您需要支付 2 次文档读取费用。

监听查询结果

Cloud Firestore 允许您监听查询结果并在查询结果发生变化时获得实时更新。

当您收听查询结果时,每次添加或更新结果集中的文档时,您都需要为一次读取付费。由于文档已更改而从结果集中删除文档时,您也需要为阅读付费。 (相比之下,删除文档后,您无需为阅读付费。)

移动和网页 SDKS 中监听器的计费也取决于是否启用离线持久化

  • 如果启用了离线持久化并且监听器断开连接超过 30 分钟(例如,如果用户离线),您将像您发出一个全新的查询一样按读取收费。

  • 如果禁用离线持久性,则每当侦听器断开连接并重新连接时,您都将被收取读取费用,就好像您发出了全新的查询一样。

管理大型结果集

Cloud Firestore 具有多项功能,可帮助您管理返回大量结果的查询:

  • 游标,它允许您恢复长时间运行的查询。
  • 页面标记,可帮助您对查询结果进行分页。
  • Limits ,指定要检索的结果数量。
  • 偏移量,它允许您跳过固定数量的文档。

使用游标、页面令牌和限制不会产生额外费用。事实上,这些功能可以帮助您通过只阅读您实际需要的文档来节省资金。

但是,当您发送包含偏移量的查询时,您需要为每个跳过的文档支付一次读取费用。例如,如果您的查询使用偏移量 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;任意数量的字段值,具体取决于索引定义;和文档名称。

存储大小计算中了解如何计算 Cloud Firestore 存储。您可以通过访问 GCP 控制台中的App Engine 配额详细信息页面来查看数据库使用的存储量。

网络带宽

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

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

要了解您使用了多少网络带宽,您可以使用 GCP Console将您的账单数据导出到一个文件中。

一般网络定价

对于源自 Google Cloud Platform 的请求(例如,来自在 Google Compute Engine 上运行的应用程序),您需要按以下方式付费:

流量类型价格
入口自由
区域内出口自由
同一多区域中区域之间的出口自由
美国各区域之间的出站流量(每 GiB) 0.01 美元(每月前 10 GiB 免费)
区域之间的出口,不包括美国区域之间的流量Google Cloud Platform 互联网出口率

如果您使用美元以外的货币付款,则适用云平台 SKU上以您的货币列出的价格。

Cloud Firestore 还需要为以下内容支付额外的互联网出站费用:

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

请参阅Google Cloud 互联网出口率

查看定价示例

要了解 Cloud Firestore 计费成本在实际示例应用中是如何产生的,请参阅Cloud Firestore 计费示例

管理支出

为帮助避免账单中出现意外费用,请使用 Google Cloud 的账单控制台设置每月预算和提醒

要监控您的 Cloud Firestore 使用情况,请打开 Firebase 控制台中的 Cloud Firestore使用情况选项卡。使用仪表板来衡量您在不同时间段内的使用情况。