Use este guia para entender os limites do Cloud Firestore. Consulte Preços do Cloud Firestore para uma explicação completa e detalhada dos custos do Cloud Firestore, incluindo itens a serem observados.
Monitorar o uso
Para monitorar o uso do Cloud Firestore, abra a guia Cloud Firestore Uso no console do Firebase. Utilize o painel para avaliar o uso em diferentes períodos.
Uso detalhado no console Google Cloud
Ao criar um projeto do Firebase, você também cria um projeto do Google Cloud. As páginas Cotas da API Cloud Firestore e Cotas do App Engine no console Google Cloud rastreiam informações sobre o uso e a cota do Cloud Firestore .
Cota gratuita
O Cloud Firestore oferece uma cota sem custos financeiros para você começar a usar
seu banco de dados (default)
sem custos. Os montantes das cotas sem custos financeiros estão listados abaixo.
Se você precisar de mais cota, ative o faturamento do projeto Google Cloud.
As cotas são aplicadas diariamente e redefinidas aproximadamente à meia-noite do Horário do Pacífico.
Somente o banco de dados (default)
se qualifica para a cota sem custos financeiros.
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 |
Transferência de dados de saída | 10 GiB por mês |
As operações e os recursos a seguir não incluem o uso sem custo financeiro. Ative o faturamento para usar estes recursos:
- Uso de bancos de dados nomeados (não padrão)
- Exclusões TTL
- Dados da PITR
- Dados em backup
- Restaurar operações
Para mais informações sobre como esses recursos são cobrados, consulte Preços de armazenamento.
Limites padrão
Veja nas tabelas a seguir os limites que se aplicam ao Cloud Firestore. Esses são limites rígidos, a menos que especificado de outra forma.
Bancos de dados
Limite | Detalhes |
---|---|
Número máximo de bancos de dados por projeto |
100 Você pode entrar em contato com o suporte para solicitar um aumento desse limite. |
Coleções, documentos e campos
Limite | Detalhes |
---|---|
Restrições em IDs de coleções |
|
Profundidade máxima das subcoleções | 100 |
Restrições em IDs 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 |
|
Tamanho máximo de um nome de campo | 1.500 bytes |
Restrições em caminhos de campo |
` ). Por exemplo, foo.`x&y` refere-se ao campo x&y aninhado no campo foo . Para construir um nome de campo com o caractere de acento grave, faça o escape do caractere de crase com o caractere de barra invertida (\ ). Por conveniência, você pode evitar nomes de campos entre aspas passando o caminho do campo como um objeto FieldPath (por exemplo, consulte JavaScript FieldPath).
|
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 Os campos de mapa e matriz adicionam um nível à profundidade geral de um objeto. Por exemplo, o objeto a seguir tem uma profundidade total de três níveis:
|
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 |
Prazo para uma transação | 270 segundos, com tempo de expiração por inatividade de 60 segundos |
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 |
Í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 |
|
Número máximo de configurações de campo único para um banco de dados |
Uma configuração no nível do 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 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 oCloud 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 Cloud 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 |
Uma configuração no nível do 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 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 atender a dois limites de tamanho:
|
Gerenciar gastos
Para evitar cobranças inesperadas na sua fatura, defina orçamentos mensais e alertas.
Definir um orçamento mensal
Para acompanhar os custos do Cloud Firestore, crie um orçamento mensal no console Google Cloud. Os orçamentos não impedem o uso, mas é possível configurar alertas para avisar quando você está perto ou excedeu o limite de custos planejados para o mês.
Para definir um orçamento, acesse a página Faturamento no console do Google Cloud e crie um orçamento para sua Cloud Billing. Use alertas com as configurações padrão ou modifique-os para enviar notificações em porcentagens diferentes do seu orçamento mensal.
Saiba mais sobre como configurar orçamentos e alertas de orçamento.