Ir para o console

Ver um exemplo de preços do Cloud Firestore

Use este exemplo real de um app de bate-papo básico para avaliar o uso e os custos do Cloud Firestore. Esta não é uma estimativa exata, mas pode ajudar você a entender melhor como o uso do Cloud Firestore é faturado.

Visão geral: custos por nível de uso

Para ilustrar os custos típicos, considere um exemplo de app de bate-papo, no qual os usuários podem iniciar bate-papos com dois ou mais participantes. Os usuários podem ver seus bate-papos ativos em uma lista e ler e enviar mensagens. Para este exemplo, estamos usando os preços para a multirregião da América do Norte (especificamente nam5).

Suposições

Considere as seguintes suposições sobre uso e armazenamento de dados:

  • Usuários ativos diários (DAUs, na sigla em inglês) são 10% do total de instalações do app. Você pode estimar seus custos diários usando uma estimativa aproximada de seus Usuários ativos diários (DAUs). Esses são os usuários que ativamente abrem e usam seu app em um determinado dia, o que geralmente é um pequeno subconjunto das instalações totais do app. Para os cálculos abaixo, estimamos DAUs como 10% do número total de instalações do app.
  • Tamanhos de documentos são relativamente pequenos. Veja a tabela abaixo para um detalhamento do tamanho de documentos por tipo.
  • Os dados são armazenados apenas por três meses. As mensagens no app de bate-papo de exemplo são armazenadas apenas por um período de três meses. Para contabilizar as operações de exclusão, os cálculos abaixo mostram uma exclusão diária para cada gravação diária.
  • Essas estimativas de custo refletem a maior parte dos custos do app de exemplo, mas não todos eles. Estimamos a maior parte dos custos de um app calculando operações, armazenamento de usuários e de mensagens e saída para as tarefas de usuários mais frequentes descritas neste guia. No entanto, talvez você precise levar em conta custos adicionais, dependendo da estrutura e das necessidades de dados de seu app. Use este exemplo para guiar seus cálculos, mas consulte a página de preços para explicações mais detalhadas sobre os custos do Cloud Firestore.

Para uma análise detalhada das operações por tarefa do usuário, consulte a seção Detalhamento: uso faturado por tarefa do usuário.

Pequeno
(50 mil instalações)

Para 50 mil instalações de apps (5 mil usuários ativos diários): US$ 12,14/mês

Custos de leitura/gravação
Custo mensal total = US$ 11,10/mês
400 mil leituras diárias totais =   50 mil leituras GRATUITAS + (350 mil leituras a US$ 0,06/100 mil) =   3,5 * US$ 0,06
US$ 0,21/dia * 30 = US$ 6,30
 
Total de 100 mil gravações diárias =   20 mil leituras GRATUITAS + (80 mil leituras a US$ 0,18/100 mil) =   0,8 * US$ 0,18
US$ 0,14/dia * 30 = US$ 4,20
 
Total de 100 mil exclusões diárias =   20 mil exclusões GRATUITAS + (80 mil exclusões a US$ 0,02/100 mil) =   0,8 * US$ 0,02
US$ 0,02/dia * 30 = US$ 0,60
Custos de armazenamento/rede
Custo mensal total = US$ 1,04/mês
20 KB/DAU de saída diária * 5 mil DAUs =   100 MB de saída diária * 30 =   Saída de rede mensal de 3 GB
Saída GRATUITA de 3 GB = GRÁTIS1
 
15 KB armazenamento de mensagens diárias/DAU + 3 KB de armazenamento/instalação2 =   45 KB de armazenamento/DAU * 5 mil DAUs =   225 MB de armazenamento diário/DAU * 30 =   6,75 GB de uso mensal de armazenamento
1 GB de armazenamento GRATUITO + (5,75 * US$ 0,18) = US$ 1,04/mês

1 10 GB de saída de rede mensal são gratuitos para o Cloud Firestore.
2 Como supomos que os DAUs são 10% do total de instalações do app, esse número é responsável pelo número total de usuários que instalaram seu app.

Médio
(1 milhão de instalações)

Para 1 milhão de instalações de aplicativo (100 mil usuários ativos diariamente): US$ 292,02/mês

Custos de leitura/gravação
Custo mensal total = US$ 261,90/mês
8 milhões de leituras diárias totais =   50 mil leituras GRATUITAS + (7,95 milhões de leituras a US$ 0,06 / 100 mil) =   79,5 * US$ 0,06
US$ 4,77/dia * 30 = US$ 143,10
 
2 milhões de gravações diárias =   20 mil gravações GRATUITAS + (1,98 milhões de gravações a US$ 0,18/100 mil) =   19,8 * US$ 0,18
US$ 3,56/dia * 30 = US$ 106,80
 
2 milhões de exclusões diárias totais =   20 mil exclusões GRATUITAS + (1,98 milhões de exclusões a US$ 0,02/100 mil) =   19,8 * US$ 0,02
US$ 0,40/dia * 30 = US$ 12,00
Custos de armazenamento/rede
Custo mensal total = US$ 30,12/mês
20 KB/DAU de saída diária * 100 mil DAUs =   2 GB de saída diária * 30 =   Saída de rede mensal de 60 GB
10 GB de saída GRATUITA + (50 GB de saída * US$ 0,12/GB) = US$ 6,00/mês
 
15 KB armazenamento de mensagens diárias/DAU + 3 KB de armazenamento/instalação1 =   45 KB de armazenamento/DAU * 100 mil DAUs =   4,5 GB de armazenamento diário/DAU * 30 =   Uso de armazenamento mensal de 135 GB
1 GB de armazenamento GRATUITO + (134 GB * US$ 0,18/GB) = US$ 24,12/mês

1Como supomos que os DAUs representam 10% do total de instalações do app, esse número é responsável pelo número total de usuários que instalaram seu app.

Grande
(10 milhões de instalações)

Para 10 milhões de instalações do app (1 milhão de usuários ativos diários): US$ 2.951,52

Custos de leitura/gravação
Custo mensal total = Total: US$ 2.637,90/mês
80 milhões de leituras diárias =   50 mil leituras GRATUITAS + (79,95 milhões de leituras a US$ 0,06/100 mil) =   799,5 * US$ 0,06
US$ 47,97/dia * 30 = US$ 1.439,10
 
20 milhões de gravações diárias totais =   20 mil gravações GRATUITAS + (19,98 milhões de leituras a US$ 0,18/100 mil) =   199,8 * US$ 0,18
US$ 35,96/dia * 30 = US$ 1.078,80
 
20 milhões de exclusões diárias totais =   20 mil exclusões GRATUITAS + (19,98 milhões de exclusões a US$ 0,02/100 mil) =   199,8 * US$ 0,02
US$ 4,00/dia * 30 = US$ 120,00
Custos de armazenamento/rede
Custo mensal total = US$ 313,62/mês
20 KB/DAU de saída diária * 1 milhão de DAUs =   20 GB de saída diária * 30 =   Saída de rede mensal de 600 GB
10 GB de saída GRATUITA + (590 GB de saída * US$ 0,12/GB) = US$ 70,80/mês
 
15 KB armazenamento de mensagens diárias/DAU + 3 KB de armazenamento/instalação1 =   45 KB de armazenamento/DAU * 1 milhão de DAUs =   45 GB de armazenamento diário/DAU * 30 =   1.350 GB de uso mensal de armazenamento
(1 GB de armazenamento GRATUITO) + (1.349 GB * US$ 0,18/GB) = US$ 242,82/mês

1Como supomos que os DAUs representam 10% do total de instalações do app, esse número é responsável pelo número total de usuários que instalaram seu app.

Um benefício do modelo de faturamento do Cloud Firestore a ser considerado é que você paga apenas pelo que usa. Como resultado, sua fatura pode aumentar e diminuir com a contagem de DAUs.

Detalhamento: uso faturado pela tarefa do usuário

Nosso app de bate-papo de exemplo usa a seguinte estrutura de dados:

  • users/{userId}: registros do usuário
  • groups/{groupId}: bate-papos entre dois ou mais usuários
    • messages/{messageId}: cada mensagem em um bate-papo

Armazenamento de dados

Para calcular os custos de armazenamento dos dados do app, aplique as seguintes suposições sobre tamanhos de documentos:

Coleção Tamanho do documento (em trânsito) Tamanho do Documento (no disco)*
usuários 1 KB 3 KB
grupos 0,5 KB 1,5 KB
mensagens 0,25 KB 0,75 KB

*Este cálculo de tamanho inclui índices para os campos de mensagem, mas assume que a indexação está desativada para o conteúdo da mensagem.

O app armazena apenas mensagens com até três meses, para reduzir os custos de armazenamento.

Para saber mais informações sobre o cálculo de custos de armazenamento, consulte Noções básicas sobre cálculos de tamanho de armazenamento.

Operações

Os usuários geralmente concluem as seguintes tarefas comuns no app:

As operações totais estimadas do app de exemplo no Cloud Firestore para as três tarefas típicas de usuário são as seguintes:

  • Ler: (5 * 10) + (30) = 80 leituras/usuário/dia
  • Escrever: (10 * 2) = 20 escritas/usuário/dia
  • Saída de rede: (50 * 0,25 KB) + (30 * 0,25 KB) = 20 KB/usuário/dia
  • Armazenamento: (20 * 0,75 KB) = 15 KB/usuário/dia

Uso total por tarefa do usuário

Selecione cada tarefa do usuário para ver uma descrição completa e o detalhamento dos custos de operação, armazenamento e rede no app.

Ver a lista de bate-papos

A tela inicial do app carrega os 25 bate-papos mais recentes, com cobrança de 25 leituras de documentos. Suponha que um usuário ativo abra o app cinco vezes por dia, totalizando 125 leituras por usuário por dia. No entanto, consultas mais eficientes, como a do exemplo a seguir, podem reduzir essa carga.

No exemplo abaixo, limitamos a consulta a novos bate-papos usando um carimbo de data/hora de cada busca bem-sucedida, armazenada pelo app:

db.collection('groups')
  .where('participants', 'array-contains', 'user123')
  .where('lastUpdated', '>', lastFetchTimestamp)
  .orderBy('lastUpdated', 'desc')
  .limit(25)

Suponha que haja uma média de 10 bate-papos atualizados sempre que o usuário verifica o app. Esta consulta apenas incorre em 10 leituras de documentos.

Ler mensagens em um bate-papo

Os usuários clicam nos tópicos de bate-papo na tela inicial para ver as mensagens recentes, carregando as 50 mensagens mais recentes no carregamento inicial.

Suponha que o usuário típico execute essa ação cinco vezes por dia (uma para cada vez que abrir a tela inicial), levando a um total de 250 leituras por usuário a cada dia. Também podemos limitar nossa consulta a novas mensagens desde o último horário de obtenção:

db.collection('groups')
  .doc('group234')
  .collection('messages')
  .where('sentTime', '>', lastFetchTimestamp)
  .orderBy('sentTime', 'desc')
  .limit(50)

Suponha que um usuário receba cerca de 30 mensagens por dia em todos os bate-papos. Como você limitou a consulta para buscar novas mensagens, isso se traduz em apenas 30 mensagens recuperadas/dia.

Enviar uma mensagem para um chat

Os usuários podem enviar mensagens para outros participantes assim que estiverem em um bate-papo. Suponha que um usuário ativo envie cerca de 10 mensagens por dia.

Cada mensagem enviada causará duas gravações de documento: uma gravação na subcoleção de messages do bate-papo, e uma gravação no documento pai do bate-papo para atualizar o carimbo de data/hora lastUpdated e outros metadados.

Observe que o custo de ler essas mensagens foi contabilizado nas outras viagens, portanto, os totais abaixo consideram apenas esse custo de gravação.

Benefícios incluídos: serviços gratuitos para seu app

Embora as operações, o armazenamento e a largura de banda da rede do Cloud Firestore sejam considerados como uso faturável, estão incluídos também vários outros benefícios sem custo adicional. Considere os seguintes serviços gratuitos ao comparar o Cloud Firestore com outras opções de banco de dados:

  • Acesso direto ao cliente: o Cloud Firestore é acessado diretamente do seu código de cliente usando nossos SDKs nativos. Isso significa que você não precisa criar e executar um servidor de API para conectar seus clientes móveis ao banco de dados.
  • Balanceamento de carga: como o Cloud Firestore é dimensionado automaticamente para suportar o tráfego para seu banco de dados, você não precisa executar um balanceador de carga.
  • Tempo de atividade do servidor: os bancos de dados do Cloud Firestore operam nos servidores do Google Cloud Platform, oferecendo mais de 99% de tempo de atividade mensal.
  • Autenticação: autentique um número ilimitado de usuários de maneira simples e segura com o Firebase Authentication. O Firebase Authentication é integrado diretamente ao Cloud Firestore para que você não precise executar seu próprio serviço de autenticação.
  • Notificações push: envie mensagens e notificações com o Cloud Messaging.
  • Outros produtos do Firebase: integre outros produtos gratuitos do Firebase, incluindo testes A/B, análises, recursos críticos, monitoramento de desempenho, previsões e configuração remota. Saiba mais sobre outros produtos e preços do Firebase.