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 |
|
Profundidade máxima de subcoleções | 100 |
Restrições em IDs de documentos |
|
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 |
|
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:
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: |
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 |
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:
|
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.