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 |
|
Profundidade máxima das subcoleções | 100 |
Restrições em códigos de documentos |
|
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 |
|
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:
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: |
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. |
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:
|
Como monitorar o uso
É possível ver o uso do Firestore nas páginas Cotas da API Cloud Firestore e Cotas do App Engine.