Relevante apenas para a edição Enterprise do Cloud Firestore. |
Esta página inclui exemplos de como as unidades de faturamento são calculadas em alguns dos cenários mais comuns. Cada consulta pode ter dados processados diferentes com base em fatores como o plano de consulta, o formato dos dados e os índices disponíveis.
Recomendamos usar o recurso Explicação da consulta para entender melhor o custo e o desempenho das suas consultas específicas.
Operações de leitura
A maioria das operações de leitura envolve a execução de uma leitura pontual de um documento específico ou a verificação de um intervalo de dados com base em um identificador. As operações de leitura consomem unidades de leitura. As unidades de leitura são calculadas em tranches de 4 KiB. Veja os exemplos a seguir.
Leituras de ponto
Exemplo de faturamento para leituras de pontos:
- Leitura pontual de um único documento de 1 KiB. Consome: 1 unidade de leitura
- Leitura pontual de um único documento de 4 KiB. Consome: 1 unidade de leitura
- Leitura pontual de um único documento de 1 MiB. Consome: 256 unidades de leitura
- Leitura pontual de 100 documentos, cada um com 1 KiB. Consome: 100 unidades de leitura
Verificação
Os exemplos a seguir incluem cenários que verificam documentos ou entradas de índice.
Digitalização de documentos
- Consulta que verifica 100 documentos, cada um com 1 KiB. Consome: 25 unidades de leitura
Como verificar índices
O custo da verificação, em bytes, é o mesmo, seja um documento ou um índice. No entanto, as entradas de índice geralmente são menores. Como resultado, eles geralmente oferecem uma maneira mais econômica de verificar dados.
- Consulta que verifica 100 entradas de índice, cada uma com 1 KiB. Consome: 25 unidades de leitura.
- Consulta que verifica 100 entradas de índice, cada uma com 128 bytes. Consome: 4 unidades de leitura.
Tamanho mínimo de documento ou entrada de índice
Em algumas situações, não é necessário ler o conteúdo de um documento ou entrada de índice para atender a uma consulta. Isso inclui consultas de contagem simples, como contar o número total de documentos em uma coleção. Nessas situações, um custo mínimo de 32 bytes é aplicado por item verificado.
- Conta o número de documentos em uma coleção. A consulta verifica 1.000 itens na coleção. Consome: 8 unidades de leitura.
Combinação de leitura por varredura e por ponto
Muitas consultas realizam uma combinação de verificações e leituras pontuais para satisfazer uma operação.
- Consulta que verifica 128 entradas de índice, 256 bytes cada, e realiza uma leitura
pontual de 128 documentos, 4 KiB cada. Consome: 136 unidades de leitura, compostas por:
- 128 unidades de leitura para leituras de ponto
- 8 unidades de leitura para varreduras de índice
Query Explain
O Query Explain ajuda você a entender como o banco de dados executa suas consultas. Os detalhes fornecidos podem ajudar você a otimizar suas consultas.
Os seguintes custos se aplicam ao usar a Query Explain:
- Query Explain que executa a consulta: o custo da consulta é aplicado.
- Query Explain usando a opção "Somente plano". Consome: 1 unidade de leitura (custo mínimo de uma consulta)
Operações de gravação
As operações de gravação (criações, atualizações e exclusões) são cobradas com base no tamanho dos documentos e índices criados, modificados ou excluídos durante a operação. As operações de gravação consomem unidades de gravação. As unidades de gravação são calculadas em incrementos de 1 KiB.
Operações de gravação simples, como atualização por ID do documento, só geram o custo das gravações. As operações de gravação que exigem consultas para serem concluídas também geram os custos de leitura associados à consulta.
Veja os exemplos a seguir.
Gera
- Crie um novo documento de 10 KiB sem índices. Consome: 10 unidades de gravação
- Crie um documento de 1 KiB com uma entrada de índice de 256 bytes na coleção. Consome: 2 unidades de gravação
Atualizações
- Encontre um documento de 10 KiB por ID e atualize sem índices na coleção. Consome: 10 unidades de gravação
- Encontre um documento de 1 KiB por ID e atualize um campo com uma entrada de índice de 256 bytes. Consome: 3 unidades de gravação. Observação: atualizar uma entrada de índice nessa situação consome duas unidades de gravação: uma para excluir e outra para recriar a entrada de índice.
- Encontra um documento de 1 KiB pelo ID e não atualiza nada (sem mudanças). Consome: 1 unidade de gravação (o custo mínimo de gravação)
- Consultar todos os documentos de 1 KiB em uma coleção, que verifica 1.000 documentos, e inserir um novo campo de 256 bytes sem índices na coleção: 1.000 unidades de leitura e 1.000 unidades de gravação.
Exclusões
- Exclua um documento de 1 KiB, que tem um índice na coleção. Consome: 2 unidades de gravação
- Exclua um documento de 1 KiB, que não tem índices na coleção. Consome: 1 unidade de gravação
Criação de índices
As criações de índice cobram pelas entradas criadas ou modificadas durante a operação de criação. Esses custos são incorridos sempre que uma definição de índice é adicionada ou removida. As entradas de índice são faturadas de forma idêntica às gravações, incorrendo em uma unidade de gravação por 1KiB.
- Crie um novo índice para uma coleção com 500 documentos. As entradas de índice criadas têm 1 KiB cada. Consome 500 unidades de gravação.
- Exclua um índice de uma coleção com 500 documentos. As entradas de índice excluídas têm 1 KiB cada. Consome 500 unidades de gravação.