firestore pricing model

Cloud Firestore Pricing

This document explains Cloud Firestore pricing details. It also tells you how to limit and monitor your spending on Cloud Firestore.

If you pay in a currency other than USD, the prices listed in your currency on Cloud Platform SKUsapply.

Pricing overview

When you use Cloud Firestore, you are charged for the following:

  • The number of reads, writes, and deletes that you perform.
  • The amount of storage that your database uses, including overhead for metadata and indexes.
  • The amount of network bandwidth that you use.

Storage and bandwidth usage are calculated in gigabytes (GiB), where 1 GiB = 230 bytes. All charges accrue daily.

The following sections provide details about how you are charged for your Cloud Firestore usage.

Note: Cloud Firestore offers free quota that allows you to get started at no cost. See Free quota for details.

Reads, writes, and deletes

You are charged for each document read, write, and delete that you perform with Cloud Firestore:

Multi-regionPricing beyond the free quota
Document reads$0.06 per 100,000 documents
Document writes$0.18 per 100,000 documents
Document deletes$0.02 per 100,000 documents
If you pay in a currency other than USD, the prices listed in your currency on Cloud Platform SKUs apply.

Charges for writes and deletes are straightforward. Charges for reads have some nuances that you should keep in mind. The following sections explain these nuances in detail.

Listening to query results

Cloud Firestore allows you to listen to the results of a query and get realtime updates when the query results change.

When you listen to the results of a query, you are charged for a read each time a document in the result set is added or updated. You are also charged for a read when a document is removed from the result set because the document has changed. (In constrast, when a document is deleted, you are not charged for a read.)

Also, if the listener is disconnected for more than 30 minutes (for example, if the user goes offline), you will be charged for reads as if you had issued a brand-new query.

Managing large result sets

Cloud Firestore has several features to help you manage queries that return a large number of results:

  • Cursors, which allow you to resume a long-running query.
  • Page tokens, which help you paginate the query results.
  • Limits, which specify how many results to retrieve.
  • Offsets, which allow you to skip a fixed number of documents.

There are no additional costs for using cursors, page tokens, and limits. In fact, these features can help you save money by reading only the documents that you actually need.

However, when you send a query that includes an offset, you are charged a read for each skipped document. For example, if your query uses an offset of 10, and the query returns 1 document, you are charged for 11 reads. Because of this additional cost, you should use cursors instead of offsets whenever possible.

Queries other than document reads

For queries other than document reads, such as a request for a list of collection IDs, you are billed for one document read. If fetching the complete set of results requires more than one request (for example, if you are using pagination), you are billed once per request.

Minimum charge for queries

There is a minimum charge of one document read for each query that you perform, even if the query returns no results.

Cloud Firestore Security Rules

For mobile and web client libraries, if your Cloud Firestore Security Rules use exists() or get() to read one or more documents from your database, you are charged for additional reads as follows:

  • You are charged for reads that are necessary to evaluate your Cloud Firestore Security Rules.

    For example, if your rules refer to three documents, but Cloud Firestore only has to read two of those documents to evaluate your rules, you will be charged for two additional reads for the dependent documents.

    You are only charged one read per dependent document even if your rules refer to that document more than once.

  • You are charged for rule evaluation only once per request.

    As a result, it can cost less to read multiple documents than to read documents one at a time, because reading multiple documents requires fewer requests.

  • When you listen to the results of a query, you are charged for rule evaluation in all of the following cases:

    • When you issue the query.
    • Each time the query results are updated.
    • Any time the user's device goes offline, then comes back online.
    • Any time you update your rules.
    • Any time you update the dependent documents in your rules.

Storage size

You are charged for the amount of data that you store in Cloud Firestore, including storage overhead. The amount of overhead includes metadata, automatic indexes, and composite indexes. Each document stored in Cloud Firestore requires the following metadata:

  • The document ID, including the collection ID and the document name.
  • The name and value of each field. Because Cloud Firestore is schemaless, the name of each field in a document must be stored with the field value.
  • Any single-field and composite indexes that refer to the document. Each index entry contains the collection ID; any number of field values, depending on the index definition; and the document name.

Learn how Cloud Firestore storage is calculated at Storage Size Calculations. You can view the amount of storage that your database uses by visiting the App Engine Quota Details page in the API Console.

Multi-regionPricing beyond the free quota
Stored data$0.18/GiB/month
If you pay in a currency other than USD, the prices listed in your currency on Cloud Platform SKUs apply.

Network bandwidth

You are charged for the network bandwidth used by your Cloud Firestore requests, as shown in the following sections.

Note: At the start of the beta, Cloud Firestore did not charge for network bandwidth. This situation is temporary—Cloud Firestore will start charging for network bandwidth on March 13th, 2018. Be sure to include network bandwidth costs when you plan your total spending on Cloud Firestore.

To learn how much network bandwidth you have used, you can use the API Console to export your billing data to a file.

General network pricing

For requests that originate within Google Cloud Platform (for example, from an application running on Google Compute Engine), you are charged as follows:

Traffic typePrice
IngressFree
Egress within a regionFree
Egress between regions in the same multi-regionFree
Egress between regions within the US (per GiB)$0.01 (first 10 GiB per month are free)
Egress between regions, not including traffic between US regionsGoogle Cloud Platform internet egress rates

If you pay in a currency other than USD, the prices listed in your currency on Cloud Platform SKUs apply.

Cloud Firestore is also subject to additional internet egress charges for the following:

  • Google Cloud Platform requests between regions, not including traffic between US regions
  • Requests from outside of Google Cloud Platform (for example, from a user's mobile device)

See Google Cloud Platform internet egress rates.

See a pricing example

Suppose you have the following usage pattern during a 30-day billing cycle:

  • Average of 100 GiB of stored data in the US
  • 100,000,000 document read operations
  • 50,000,000 document write operations
  • 5,000,000 document delete operations

Your Cloud Firestore bill for the billing cycle is broken down as follows. Additional fees apply for any other Cloud Platform services used during the billing cycle, such as Compute Engine instances.

Stored data

  • Free quota: 1 GiB
  • Additional data: $0.18 * 99 GiB = $17.82

Document read operations

  • Free quota: 50,000 daily operations * 30 days = 1,500,000 operations
  • Additional operations: $0.06 * (98,500,000 / 100,000) = $59.10

Document write operations

  • Free quota: 20,000 daily operations * 30 days = 600,000 operations
  • Additional operations: $0.18 * (49,400,000 / 100,000) = $88.92

Document delete operations

  • Free quota: 20,000 daily operations * 30 days = 600,000 operations
  • Additional operations: $0.02 * (4,400,000 / 100,000) = $0.88

Monthly total

In this example, the total bill for Cloud Firestore is $166.72.

Manage spending

To help avoid unexpected charges on your bill, set daily spending limits using Google App Engine or monthly budgets and alerts using Google Cloud Platform's billing console.


發佈了5 篇原創文章 · 獲贊 5 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章