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

Uso e limites

Use este guia para entender os limites do Cloud Firestore e consulte Preços do Cloud Firestore para obter uma explicação completa e detalhada dos custos do Cloud Firestore, incluindo itens a serem observados.

Monitore seu uso

Para monitorar o uso do Cloud Firestore, abra a guia Uso do Cloud Firestore no console do Firebase. Use o painel para avaliar seu uso em diferentes períodos de tempo.

Uso detalhado no Console do Google Cloud

Ao criar um projeto do Firebase, você também está criando um projeto do Google Cloud. As páginas Cotas da API do Cloud Firestore e Cotas do App Engine no Console do Google Cloud rastreiam o uso do Cloud Firestore e as informações de cota.

cota grátis

O Cloud Firestore oferece cota gratuita que permite que você comece sem nenhum custo. Os valores das cotas gratuitas estão listados abaixo. Se precisar de mais cota, você deve habilitar o faturamento para seu projeto Cloud Platform .

As cotas são aplicadas diariamente e redefinidas por volta da meia-noite, horário do Pacífico.

nível gratuito Contingente
Dados armazenados 1 GB
leituras de documentos 50.000 por dia
Gravações de documentos 20.000 por dia
exclusões de documentos 20.000 por dia
Saída de rede 10 GB por mês

Limites padrão

As tabelas a seguir mostram os limites que se aplicam ao Cloud Firestore. Estes são limites rígidos, a menos que indicado de outra forma.

Coleções, documentos e campos

Limite Detalhes
Restrições em IDs de coleção
  • Devem ser caracteres UTF-8 válidos
  • Não deve ter mais de 1.500 bytes
  • Não pode conter uma barra ( / )
  • Não pode consistir apenas em um único período ( . ) ou em períodos duplos ( .. )
  • Não é possível corresponder à expressão regular __.*__
Profundidade máxima de subcoleções 100
Restrições em IDs de documentos
  • Devem ser caracteres UTF-8 válidos
  • Não deve ter mais de 1.500 bytes
  • Não pode conter uma barra ( / )
  • Não pode consistir apenas em um único período ( . ) ou em períodos duplos ( .. )
  • Não é possível corresponder à expressão regular __.*__
  • Se você importar entidades do Datastore para um banco de dados do Firestore, os IDs de entidade numérica serão expostos como __id[0-9]+__
Tamanho máximo para um nome de documento 6 KiB
Tamanho máximo de um documento 1 MiB (1.048.576 bytes)
Restrições em nomes de campo Devem ser caracteres UTF-8 válidos
Tamanho máximo de um nome de campo 1.500 bytes
Restrições em caminhos de campo
  • Deve separar os nomes dos campos com um único ponto ( . )
  • Pode ser passado como uma string quando todos os nomes de campo no caminho forem simples, caso contrário, deve ser passado como um objeto FieldPath ( por exemplo, JavaScript FieldPath )
Um nome de campo simples é aquele em que todas as condições a seguir são verdadeiras:
  • Contém apenas os caracteres az , AZ , 0-9 e sublinhado ( _ )
  • Não começa com 0-9
Tamanho máximo de um caminho de campo 1.500 bytes
Tamanho máximo de um valor de campo 1 MiB - 89 bytes (1.048.487 bytes)
Profundidade máxima de campos em um mapa ou array 20

Gravações e transações

Além desses limites, você também deve consultar as práticas recomendadas para projetar em escala .

Limite Detalhes
Tamanho máximo da solicitação de API 10 MiB
Número máximo de gravações que podem ser passadas para uma operação de Commit ou executadas em uma transação 500
Número máximo de transformações de campo que podem ser executadas em um único documento em uma operação de Commit ou em uma transação 500
Limite de tempo para uma transação 270 segundos, com tempo de expiração ocioso de 60 segundos

Limites suaves

O Cloud Firestore não impede que você exceda os limites abaixo, mas isso afeta o desempenho.

limite suave Detalhes
Taxa máxima de gravação para uma coleção na qual os documentos contêm valores sequenciais em um campo indexado 500 por segundo

Índices

Os limites a seguir se aplicam a índices de campo único e índices compostos :

Limite Detalhes
Número máximo de índices compostos para um banco de dados

200

Você pode entrar em contato com o suporte para solicitar um aumento desse limite.

Número máximo de configurações de campo único para um banco de dados

200

Um total de 200 configurações de nível de campo são permitidas. Uma configuração de campo pode conter várias configurações para o mesmo campo. Por exemplo, uma isenção de indexação de campo único e uma política TTL no mesmo campo contam como uma configuração de campo em relação ao limite.

Número máximo de entradas de índice para cada documento

40.000

O número de entradas de índice é a soma do seguinte para um documento:

  • O número de entradas de índice de campo único
  • O número de entradas de índice composto

Para ver como o Cloud Firestore transforma um documento e um conjunto de índices em entradas de índice, consulte este exemplo de contagem de entrada de índice .

Número máximo de campos em um índice composto 100
Tamanho máximo de uma entrada de índice

7,5 KiB

Para ver como o Cloud Firestore calcula o tamanho da entrada do índice, consulte o tamanho da entrada do índice.

Soma máxima dos tamanhos das entradas de índice de um documento

8 MiB

O tamanho total é a soma do seguinte para um documento:

  • A soma do tamanho das entradas de índice de campo único de um documento
  • A soma do tamanho das entradas de índice composto de um documento
  • Tamanho máximo de um valor de campo indexado

    1500 bytes

    Valores de campo acima de 1500 bytes são truncados. Consultas envolvendo valores de campo truncados podem retornar resultados inconsistentes.

    Tempo de vida (TTL)

    Limite Detalhes
    Número máximo de configurações de campo único para um banco de dados

    200

    Um total de 200 configurações de nível de campo são permitidas. Uma configuração de campo pode conter várias configurações para o mesmo campo. Por exemplo, uma isenção de indexação de campo único e uma política TTL no mesmo campo contam como uma configuração de campo em relação ao limite.

    Exportar importar

    Os seguintes limites se aplicam a operações gerenciadas de importação e exportação :

    Limite Detalhes
    Número total máximo de solicitações de exportação e importação para um projeto permitido por minuto 20
    Número máximo de exportações e importações simultâneas 50
    Número máximo de filtros de ID de coleção para solicitações de exportação e importação 100

    regras de segurança

    Limite Detalhes
    Número máximo de chamadas exists() , get() e getAfter() por solicitação
    • 10 para solicitações de documento único e solicitações de consulta.
    • 20 para leituras de vários documentos, transações e gravações em lote. O limite anterior de 10 também se aplica a cada operação.

      Por exemplo, imagine que você cria uma solicitação de gravação em lote com 3 operações de gravação e que suas regras de segurança usam 2 chamadas de acesso a documentos para validar cada gravação. Nesse caso, cada gravação usa 2 de suas 10 chamadas de acesso e a solicitação de gravação em lote usa 6 de suas 20 chamadas de acesso.

    Exceder um dos limites resulta em um erro de permissão negada.

    Algumas chamadas de acesso a documentos podem ser armazenadas em cache e as chamadas armazenadas em cache não contam para os limites.

    Profundidade máxima da declaração de match aninhada 10
    Comprimento máximo do caminho, em segmentos de caminho, permitido em um conjunto de instruções de match aninhadas 100
    Número máximo de variáveis ​​de captura de caminho permitidas em um conjunto de instruções de match aninhadas 20
    Profundidade máxima da chamada de função 20
    Número máximo de argumentos de função 7
    Número máximo de associações de variáveis let por função 10
    Número máximo de chamadas de função recursivas ou cíclicas 0 (não permitido)
    Número máximo de expressões avaliadas por solicitação 1.000
    Tamanho máximo de um conjunto de regras Os conjuntos de regras devem obedecer a dois limites de tamanho:
    • um limite de 256 KB no tamanho da fonte de texto do conjunto de regras publicado no Firebase console ou na CLI usando firebase deploy .
    • um limite de 250 KB no tamanho do conjunto de regras compilado que resulta quando o Firebase processa a origem e a torna ativa no back-end.

    Gerenciar gastos

    Para ajudar a evitar cobranças inesperadas em sua fatura, defina orçamentos e alertas mensais.

    Defina um orçamento mensal

    Para rastrear seus custos do Cloud Firestore, crie um orçamento mensal no Console do Google Cloud. Os orçamentos não limitarão seu uso, mas você pode definir alertas para notificá-lo quando estiver se aproximando ou excedendo seus custos planejados para o mês.

    Para definir um orçamento, vá para a seção Faturamento no Console do Google Cloud e crie um orçamento para sua conta do Cloud Billing. Você pode usar as configurações de alerta padrão ou modificar os alertas para enviar notificações em diferentes porcentagens de seu orçamento mensal.

    Saiba mais sobre como configurar orçamentos e alertas de orçamento .

    Defina um limite diário de gastos

    Para limitar o uso do Cloud Firestore, defina um limite diário de gastos por meio do App Engine. O App Engine permite que você defina um limite diário de gastos em recursos associados ao App Engine, incluindo o Cloud Firestore. O limite do App Engine não se aplica a nenhum outro produto Firebase.