Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Veja um exemplo de preços do Cloud Firestore

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Use este exemplo real de um aplicativo 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 é cobrado.

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

Para ilustrar os custos típicos, considere um aplicativo de chat de exemplo, onde os usuários podem iniciar chats com dois ou mais participantes. Os usuários podem ver seus chats ativos em uma lista, ler mensagens e enviar mensagens. Para este exemplo, estamos usando 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) são 10% do total de instalações de aplicativos. 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 abrem e usam ativamente seu aplicativo em um determinado dia, o que geralmente é um pequeno subconjunto do total de instalações do aplicativo. Para os cálculos abaixo, estimamos DAUs como 10% do número total de instalações de aplicativos.
  • Os tamanhos dos documentos são relativamente pequenos. Consulte a tabela abaixo para obter uma divisão do tamanho do documento por tipo.
  • Os dados são armazenados apenas por três meses. As mensagens no aplicativo 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 aplicativo de exemplo, mas não todos. Contabilizamos a maior parte dos custos de um aplicativo calculando operações, armazenamento de usuário e mensagem e saída para as tarefas de usuário mais frequentes descritas neste guia. No entanto, pode ser necessário levar em consideração custos adicionais, dependendo da estrutura e das necessidades de dados do seu aplicativo. Use este exemplo para orientar seus cálculos, mas consulte a página de preços para obter explicações mais detalhadas sobre os custos do Cloud Firestore.

Para obter um detalhamento das operações por tarefa do usuário, consulte a seção Detalhamento: uso cobrado por tarefa do usuário .

Pequena
(50 mil instalações)

Para 50.000 instalações de aplicativos (5.000 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 sem custo + (350 mil leituras a US$ 0,06/100 mil) = 3,5 * $ 0,06
$ 0,21 / dia * 30 = $ 6,30
100 mil gravações diárias totais = 20.000 gravações sem custo + (80.000 gravações a US$ 0,18/100.000) = 0,8 * $0,18
$ 0,14 / dia * 30 = $ 4,20
100 mil exclusões diárias totais = 20.000 exclusões sem custo + (80.000 exclusões a US$ 0,02/100.000) = 0,8 * $0,02
$ 0,02 / dia * 30 = $ 0,60
Custos de armazenamento/rede
Custo mensal total = US$ 1,04/mês
20KB/DAU de saída diária * 5K DAUs = 100 MB de saída diária * 30 = Saída de rede mensal de 3 GB
Saída sem custo de 3 GB = sem custo 1
15 KB de armazenamento diário de mensagens / DAU + 3 KB de armazenamento / instalação 2 = 45KB de armazenamento / DAU * 5K DAUs = 225 MB de armazenamento diário / DAU * 30 = Uso de armazenamento mensal de 6,75 GB
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 nossa suposição é de que as DAUs representam 10% do total de instalações de aplicativos, esse número representa o número total de usuários que instalaram seu aplicativo.

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

Para 1.000.000 instalações de aplicativos (100.000 usuários ativos diários): 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 sem custo + (7,95 milhões de leituras a US$ 0,06/100 mil) = 79,5 * $ 0,06
$ 4,77 / dia * 30 = $ 143,10
2 milhões de gravações diárias totais = 20 mil gravações sem custo + (1,98 milhão de gravações a US$ 0,18/100 mil) = 19,8 * $ 0,18
US$ 3,56 / dia * 30 = US$ 106,80
Total de 2 milhões de exclusões diárias = 20 mil exclusões sem custo + (exclusões de 1,98 milhões a US$ 0,02/100 mil) = 19,8 * $ 0,02
$ 0,40 / dia * 30 = $ 12,00
Custos de armazenamento/rede
Custo mensal total = US$ 30,12/mês
20KB/DAU de saída diária * 100K DAUs = 2 GB de saída diária * 30 = Saída de rede mensal de 60 GB
Saída gratuita de 10 GB + (saída de 50 GB * US$ 0,12/GB) = US$ 6,00 / mês
15 KB de armazenamento diário de mensagens / DAU + 3 KB de armazenamento / instalação 1 = 45KB de armazenamento / DAU * 100K 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

1 Como nossa suposição é de que as DAUs representam 10% do total de instalações de aplicativos, esse número representa o número total de usuários que instalaram seu aplicativo.

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

Para 10.000.000 instalações de aplicativos (1.000.000 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 totais = 50 mil leituras sem custo + (79,95 milhões de leituras a US$ 0,06/100 mil) = 799,5 * $ 0,06
US$ 47,97 / dia * 30 = US$ 1.439,10
20 milhões de gravações diárias totais = 20 mil gravações sem custo + (19,98 milhões de gravações a US$ 0,18/100 mil) = 199,8 * $0,18
US$ 35,96 / dia * 30 = US$ 1.078,80
Total de exclusões diárias de 20 milhões = 20 mil exclusões sem custo + (19,98 milhões de exclusões a US$ 0,02/100 mil) = 199,8 * $ 0,02
$ 4,00 / dia * 30 = $ 120,00
Custos de armazenamento/rede
Custo mensal total = US$ 313,62/mês
20KB/DAU de saída diária * 1M DAUs = 20 GB de saída diária * 30 = Saída de rede mensal de 600 GB
Saída gratuita de 10 GB + (saída de 590 GB * US$ 0,12/GB) = US$ 70,80/mês
15 KB de armazenamento diário de mensagens / DAU + 3 KB de armazenamento / instalação 1 = 45KB de armazenamento / DAU * 1M DAUs = 45 GB de armazenamento diário / DAU * 30 = Uso de armazenamento mensal de 1350 GB
(1 GB de armazenamento gratuito) + (1349 GB * US$ 0,18/GB) = US$ 242,82 / mês

1 Como nossa suposição é de que as DAUs representam 10% do total de instalações de aplicativos, esse número representa o número total de usuários que instalaram seu aplicativo.

Um benefício do modelo de cobrança do Cloud Firestore que vale a pena considerar é que você paga apenas pelo que usa. Como resultado, sua conta pode crescer e diminuir com sua contagem de DAU.

Detalhamento: uso cobrado por tarefa do usuário

Para nosso aplicativo de chat de exemplo, a estrutura de dados é a seguinte:

  • users/{userId} — Registros do usuário
  • groups/{groupId} — Chats entre 2 ou mais usuários
    • messages/{messageId} — Cada mensagem em um chat.

Armazenamento de dados

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

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 aplicativo também armazena apenas mensagens com até três meses, para reduzir os custos de armazenamento.

Para obter mais informações sobre como calcular custos de armazenamento, consulte Noções básicas sobre cálculos de tamanho de armazenamento .

Operações

Os usuários normalmente concluem as seguintes tarefas comuns no aplicativo:

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

  • Leituras: (5 * 10) + (30) = 80 leituras/usuário/dia
  • Gravações: (10 * 2) = 20 gravações/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 detalhamento das operações, armazenamento e custos de rede no aplicativo.

Veja a lista de bate-papos

A tela inicial do aplicativo carrega os 25 chats mais recentes, incorrendo em cobranças por 25 leituras de documentos. Suponha que um usuário ativo abra o aplicativo 5 vezes por dia, totalizando 125 leituras por usuário a cada dia. No entanto, consultas mais eficientes, como a do exemplo a seguir, podem reduzir essa carga.

No exemplo abaixo, limitamos a consulta a novos chats usando um timestamp de cada busca bem-sucedida, armazenado 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 chats atualizados cada vez que o usuário verifica o aplicativo. Esta consulta incorre em apenas 10 leituras de documentos.

Ler mensagens em um chat

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 esta ação 5 vezes ao dia (uma vez para cada vez que abre 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 a última busca:

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 chats. 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 quando 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/ lastUpdated e outros metadados.

Observe que o custo de leitura dessas mensagens foi contabilizado nas demais viagens, portanto os totais abaixo consideram apenas esse custo de gravação.

Benefícios incluídos: Serviços gratuitos para seu aplicativo

Embora as operações, o armazenamento e a largura de banda da rede do Cloud Firestore sejam considerados uso faturável, você também obté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 código do 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 escala automaticamente para dar suporte ao 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, oferecendo mais de 99% de tempo de atividade mensal .
  • Autenticação: Autentique usuários ilimitados de forma simples e segura com o Firebase Authentication . O Firebase Authentication integra-se diretamente com o 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 Firebase: integre outros produtos Firebase gratuitamente, incluindo testes A/B, análises, Crashlytics, monitoramento de desempenho e configuração remota. Saiba mais sobre outros produtos Firebase e preços do Firebase .