Preços

Este documento traz detalhes sobre os preços do Firestore. Como limitar e monitorar seus gastos no Cloud Firestore também são tópicos abordados.

Se o pagamento for em uma moeda que não seja o dólar americano, serão aplicados na sua moeda os preços listados na página SKUs do Cloud Platform.

Visão geral de preços

Quando você usa o Firestore, os seguintes itens são cobrados:

  • O número de leituras, gravações e exclusões executadas
  • A quantidade de armazenamento utilizada pelo seu banco de dados, incluindo a sobrecarga de metadados e índices.
  • A quantidade de largura de banda de rede que você usa.

O uso de armazenamento e largura de banda é calculado em gigabytes (GiB), sendo que 1 GiB = 230 bytes. Todas as cobranças se acumulam diariamente.

Nas seções a seguir, você vê detalhes sobre a cobrança pelo uso do Firestore.

Preços por local

Na tabela a seguir, estão listados os preços de leituras, gravações, exclusões e armazenamento para cada local do Cloud Firestore:

Se o pagamento for em uma moeda que não seja o dólar americano, serão aplicados na sua moeda os preços listados na página SKUs do Cloud Platform.

Leituras, gravações e exclusões

Cada leitura, gravação e exclusão de documento realizada por você com o Firestore é cobrada.

As cobranças por gravações e exclusões são diretas. Com relação a gravações, cada operação set ou update conta como uma única gravação.

As cobranças por leituras têm algumas nuances que você precisa considerar. As seções a seguir explicam essas nuances em detalhes.

Como detectar os resultados da consulta

O Firestore permite que você detecte os resultados de uma consulta e receba atualizações em tempo real quando os resultados dela forem alterados.

Quando você detecta os resultados de uma consulta, é cobrado por uma leitura sempre que um documento no conjunto de resultados é adicionado ou atualizado. Você também é cobrado por uma leitura quando um documento é removido do conjunto de resultados por ter sido alterado. Por outro lado, quando um documento for excluído, você não será cobrado por uma leitura.

Além disso, se o listener ficar desconectado por mais de 30 minutos, se o usuário estiver off-line, por exemplo, você será cobrado pelas leituras como se tivesse emitido uma nova consulta.

Como gerenciar grandes conjuntos de resultados

O Firestore tem vários recursos para ajudar você a gerenciar consultas que retornam uma grande quantidade de resultados:

  • Cursores, que permitem retomar uma consulta de longa duração.
  • Tokens de página, que ajudam a paginar os resultados da consulta.
  • Limites, que especificam quantos resultados serão recuperados.
  • Deslocamentos, que permitem ignorar uma quantidade fixa de documentos.

Não há custos adicionais para usar cursores, tokens de página e limites. Na verdade, esses recursos ajudam você a economizar por meio da leitura apenas dos documentos realmente necessários.

No entanto, ao enviar uma consulta que inclui um deslocamento, será cobrada uma leitura para cada documento ignorado. Por exemplo, se a consulta usa um deslocamento de 10 e a consulta retorna um documento, você será cobrado por 11 leituras. Devido a esse custo adicional, recomendamos o uso de cursores em vez de deslocamentos sempre que possível.

Consultas que não sejam leituras de documentos

Para consultas que não sejam leituras de documentos, como uma solicitação de uma lista de IDs da coleção, você será cobrado por uma leitura de documento. Se a busca do conjunto completo de resultados exigir mais que uma solicitação, por exemplo, se você estiver usando paginação, você será cobrado uma vez por solicitação.

Cobrança mínima por consultas

Há uma cobrança mínima de uma leitura de documento para cada consulta realizada, mesmo que não retorne resultados.

Regras de Segurança do Firestore

Em bibliotecas de cliente para dispositivos móveis e Web, se as Regras de segurança do Firestore usarem exists(), get() ou getAfter() para ler um ou mais documentos do seu banco de dados, você será cobrado por leituras extras da seguinte maneira:

  • Você receberá cobrança por leituras necessárias para avaliar suas Regras de segurança do Firestore.

    Por exemplo, se as regras se referirem a três documentos, mas o Firestore só precisar ler dois deles para avaliar suas regras, você será cobrado por duas leituras adicionais para os documentos dependentes.

    Você só é cobrado por uma leitura por documento dependente, mesmo que suas regras façam referência a esse documento mais de uma vez.

  • Você será cobrado pela avaliação de regras apenas uma vez por solicitação.

    Como resultado, pode custar menos ler vários documentos do que ler documentos individualmente, porque a leitura de vários documentos requer menos solicitações.

  • Ao detectar os resultados de uma consulta, você será cobrado pela avaliação de regras em todos os casos a seguir:

    • Ao emitir a consulta.
    • Sempre que os resultados da consulta forem atualizados.
    • Sempre que o dispositivo do usuário ficar off-line e voltar a ficar on-line.
    • Sempre que você atualizar suas regras.
    • Sempre que atualizar os documentos dependentes em suas regras.

Tamanho do armazenamento

Você receberá cobrança pelo montante de dados armazenados no Firestore, incluindo a sobrecarga do armazenamento. O montante da sobrecarga inclui metadados, índices automáticos e índices compostos. Os metadados a seguir são necessários para cada documento armazenado no Firestore:

  • O ID do documento, incluindo o ID da coleção e o nome do documento.
  • O nome e o valor de cada campo. Como o Firestore não depende de um esquema, o nome de cada campo em um documento precisa ser armazenado com o valor do campo.
  • Todos os índices de campo único e compostos que se referem ao documento. Cada entrada de índice contém o ID da coleção, qualquer número de valores de campo, dependendo da definição do índice, e o nome do documento.

Saiba como o armazenamento no Firestore é calculado em Cálculos de tamanho de armazenamento. Para ver a quantidade de armazenamento que seu banco de dados usa, visite a página Detalhes de cota do App Engine no Console do Cloud.

Largura de banda da rede

Você é cobrado pela largura de banda da rede usada pelas solicitações do Firestore, conforme mostrado nas seções a seguir. O custo de largura de banda da rede referente a uma solicitação do Firestore depende do tamanho e do destino da resposta e também do local do banco de dados do Firestore.

O Firestore calcula o tamanho da resposta com base em um formato de mensagem serializado. A sobrecarga de protocolo, como a de SSL, não conta como uso da largura de banda da rede. Isso também se aplica às solicitações negadas pelas regras de segurança do Firestore.

Para saber a quantidade de largura de banda da rede que você usou, utilize o Console do Cloud para exportar os dados de faturamento para um arquivo.

Preços gerais de rede

Para solicitações originadas no Google Cloud Platform, por exemplo, de um aplicativo em execução no Google Compute Engine, você será cobrado da seguinte maneira:

Tipo de tráfego Preço
Entrada Grátis
Saída em uma região Grátis
Saída entre regiões na mesma multirregião Grátis
Saída entre regiões dentro dos EUA (por GiB) US$ 0,01 (os primeiros 10 GiB por mês são gratuitos)
Saída entre regiões, sem incluir o tráfego entre as regiões dos EUA Taxas de saída de Internet do Google Cloud Platform

Se o pagamento for em uma moeda que não seja o dólar americano, serão aplicados na sua moeda os preços listados na página SKUs do Cloud Platform.

Taxas de saída da Internet

Haverá cobrança pela saída da Internet pelo seguinte:

  • Solicitações do Google Cloud entre regiões, não incluindo o tráfego entre as regiões dos EUA.
  • Solicitações de fora do Google Cloud, por exemplo, do dispositivo móvel de um usuário.

Como monitorar o uso

Consulte seu uso diário do Firestore na página "Cotas do App Engine":

Acessar a página "Cotas"

Como gerenciar os gastos

Para gerenciar seus gastos, use alertas e orçamentos mensais.

Orçamentos e alertas do Google Cloud

O Google Cloud permite definir um orçamento mensal para todos os serviços. O orçamento mensal permite monitorar os custos gerais do Google Cloud, incluindo aqueles associados à largura de banda de rede do Firestore. Depois de definir um orçamento, crie alertas para receber notificações por e-mail à medida que seus custos forem se aproximando do limite.

Os custos que são contabilizados no limite de gastos do App Engine também são contabilizados no seu orçamento mensal.

Siga estas instruções para definir um orçamento mensal e criar alertas no Console do Cloud.

Limite de gastos no App Engine

O App Engine permite definir um limite diário de gastos no App Engine e nos recursos associados dele, como os bancos de dados do Datastore e do Firestore. O limite é aproximado e deve ser grande o bastante para processar picos no uso dos recursos. Quando você excede o limite diário de gastos, todas as operações do Firestore que não fazem parte da sua cota gratuita começam a falhar.

Exemplo de preço

Para ver como os custos de faturamento do Firestore são acumulados em um app de amostra real, consulte o Exemplo de faturamento do Cloud Firestore.