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

了解 Cloud Firestore 计费

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

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

定价概览

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

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

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

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

按位置定价

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

选择地区

美国(多区域)

美国(多区域)

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

俄勒冈

俄勒冈

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

洛杉矶

洛杉矶

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

盐湖城

盐湖城

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

北弗吉尼亚

北弗吉尼亚

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

拉斯维加斯

拉斯维加斯

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

南卡罗来纳

南卡罗来纳

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

蒙特利尔

蒙特利尔

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

圣保罗

圣保罗

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

欧洲(多区域)

欧洲(多区域)

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

苏黎世

苏黎世

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

华沙

华沙

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

法兰克福

法兰克福

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

伦敦

伦敦

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

孟买

孟买

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

悉尼

悉尼

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

香港

香港

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

台湾

台湾

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

东京

东京

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

新加坡

新加坡

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

雅加达

雅加达

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

大阪

大阪

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

汉城

汉城

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

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

读取、写入和删除

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

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

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

聚合查询

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

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

监听查询结果

Cloud Firestore 允许您收听查询结果并在查询结果更改时获取实时更新。

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

移动和网络 SDKS 中监听器的计费还取决于是否启用了离线持久性

  • 如果启用了离线持久性并且侦听器断开连接超过 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;任意数量的字段值,取决于索引定义;和文档名称。

存储大小计算中了解如何计算 Cloud Firestore 存储。您可以通过访问 GCP Console 中的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 互联网出站流量

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

Cloud Firestore 还需针对以下内容支付额外的互联网出口费用:

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

请参阅Google Cloud 互联网出站率

查看定价示例

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

管理支出

为帮助避免您的帐单产生意外费用,请使用 Google Cloud 的结算控制台设置每月预算和提醒

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