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

Cotas e limites

Veja nesta página as cotas e os limites de solicitação para o Firestore.

Cota sem custos

O Firestore oferece uma cota gratuita que permite começar sem nenhum custo. Os montantes das cotas gratuitas estão listados abaixo. Se você precisar de mais cota, será necessário ativar o faturamento para o projeto do Cloud Platform.

As cotas são aplicadas diariamente e redefinidas aproximadamente à meia-noite do Horário do Pacífico.

Nível gratuito Cota
Dados armazenados 1 GiB
Leituras de documento 50.000 por dia
Gravações de documento 20.000 por dia
Exclusões de documento 20.000 por dia
Saída de rede 10 GiB por mês

Limites padrão

Veja nas tabelas a seguir os limites que se aplicam ao Firestore. Esses são limites rígidos, a menos que especificado de outra forma.

Coleções, documentos e campos

Limite Detalhes
Restrições em códigos de coleções
  • Precisam ser caracteres UTF-8 válidos
  • Não podem ter mais de 1.500 bytes
  • Não podem conter uma barra (/)
  • Não podem consistir apenas em um único ponto (.) ou em pontos duplos (..)
  • Não podem corresponder à expressão regular __.*__
Profundidade máxima das subcoleções 100
Restrições em códigos de documentos
  • Precisam ser caracteres UTF-8 válidos
  • Não podem ter mais de 1.500 bytes
  • Não podem conter uma barra (/)
  • Não podem consistir apenas em um único ponto (.) ou em pontos duplos (..)
  • Não podem corresponder à expressão regular __.*__
  • Se você importar as entidades do Datastore para um banco de dados do Firestore, os IDs numéricos da entidade ficarão expostos como __id[0-9]+__
Tamanho máximo do nome de um documento 6 KiB
Tamanho máximo de um documento 1 MiB (1.048.576 bytes)
Restrições em nomes de campo Precisam ser caracteres UTF-8 válidos
Tamanho máximo de um nome de campo 1.500 bytes
Restrições em caminhos de campo
  • Os nomes de campo precisam ser separados por um único ponto (.)
  • Talvez passe como uma string quando todos os nomes de campo no caminho forem simples, do contrário podem passar como um objeto FieldPath (por exemplo, JavaScript FieldPath)
Um nome de campo simples é aquele em que segue os seguintes parâmetros:
  • Contém apenas os caracteres a-z, A-Z, 0-9 e sublinhados (_)
  • Não começa com 0-9
Tamanho máximo de um caminho de campo 1.500 bytes
Tamanho máximo do valor de um campo 1 MiB — 89 bytes (1.048.487 bytes)
Profundidade máxima de campos em um mapa ou uma matriz 20

Gravações e transações

Além desses limites, consulte também as práticas recomendadas para projetar em escala.

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

Limites flexíveis

O Firestore não impede que você exceda os limites abaixo, mas fazê-lo afeta o desempenho.

Limite flexível Detalhes
Taxa máxima de gravação para uma coleção com documentos de valores sequenciais em um campo indexado 500 por segundo

Índices

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

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

200

Entre 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

São permitidas 200 configurações no nível do campo. Uma configuração 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 de TTL no mesmo campo contam como uma configuração de campo para o limite.

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

40.000

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

  • Número de entradas de índice de campo único
  • Número de entradas de índice composto

Para ver como o Firestore transforma um documento e um conjunto de índices em entradas do índice, veja este exemplo de contagem de entradas do í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 Firestore calcula o tamanho da entrada do índice, consulte a seçã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 dos seguintes itens 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

    1.500 bytes

    Os valores de campo acima de 1.500 bytes são truncados. Consultas que envolvem valores de índice truncados podem retornar resultados inconsistentes.

    Time to live (TTL)

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

    200

    São permitidas 200 configurações no nível do campo. Uma configuração 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 de TTL no mesmo campo contam como uma configuração de campo para o limite.

    Exportar/Importar

    Os seguintes limites se aplicam às 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 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ê crie uma solicitação de gravação em lote com três operações de gravação e que suas regras de segurança usem duas chamadas de acesso a documentos para validar cada gravação. Nesse caso, cada gravação usa duas das 10 chamadas de acesso, e a solicitação de gravação em lote usa seis das 20 chamadas de acesso.

    Ao exceder qualquer um desses limites, ocorrerá um erro de permissão negada.

    Algumas chamadas de acesso a documentos podem ser armazenadas em cache. Elas não entram na conta dos limites.

    Máxima profundidade da instrução match aninhada 10
    Tamanho do caminho máximo, em segmentos de caminho, permitido em um grupo de instruções match aninhadas 100
    Número máximo de variáveis de captura de caminho permitidas em um conjunto de instruções match aninhadas 20
    Profundidade máxima da chamada da função 20
    Número máximo de argumentos de função 7
    Número máximo de vinculações de variáveis let por função 10
    Número máximo de chamadas de função recorrentes 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 precisam obedecer a dois limites de tamanho:
    • Um limite de 256 KB no tamanho da fonte de texto do conjunto de regras publicado no Console do Firebase ou na CLI usando firebase deploy.
    • Um limite de 250 KB no tamanho de um conjunto de regras compilado como resultado quando o Firebase processa uma origem e ativa no back-end.

    Como monitorar o uso

    É possível ver o uso do Firestore nas páginas Cotas da API Cloud Firestore e Cotas do App Engine.