Cálculos de tamanho de armazenamento

Esta página descreve o tamanho de armazenamento de documentos, nomes de documentos, campos e entradas de índice no Cloud Firestore.

Você pode saber mais sobre os custos desse armazenamento em Preços do Cloud Firestore .

Tamanho da corda

Os tamanhos das strings são calculados como o número de bytes codificados em UTF-8 + 1.

O seguinte é armazenado como strings:

  • IDs de coleção
  • IDs de documentos de string
  • Nomes de documentos
  • Nomes de campos
  • Valores de campo de string

Por exemplo:

  • As tasks de ID de coleção usam 5 bytes + 1 byte, totalizando 6 bytes.
  • A description do nome do campo usa 11 bytes + 1 byte, totalizando 12 bytes.

Tamanho do ID do documento

O tamanho de um ID de documento é o tamanho da string para um ID de string ou 8 bytes para um ID inteiro.

Tamanho do nome do documento

O tamanho do nome de um documento é a soma de:

  • O tamanho de cada ID de coleção e ID de documento no caminho para o documento
  • 16 bytes adicionais

Para um documento na subcoleção users/jeff/tasks com um ID de documento de string my_task_id , o tamanho do nome do documento é 6 + 5 + 6 + 11 + 16 = 44 bytes:

  • 6 bytes para o ID da coleção users
  • 5 bytes para o ID do documento jeff
  • 6 bytes para o ID da coleção tasks
  • 11 bytes para o ID do documento my_task_id
  • 16 bytes adicionais

Tamanho do valor do campo

A tabela a seguir mostra o tamanho dos valores de campo por tipo.

Tipo Tamanho
Variedade A soma dos tamanhos de seus valores
boleano 1 byte
Bytes Comprimento de bytes
Data e hora 8 bytes
Número de ponto flutuante 8 bytes
Ponto geográfico 16 bytes
Inteiro 8 bytes
Mapa O tamanho do mapa, calculado da mesma forma que o tamanho do documento
Nulo 1 byte
Referência O tamanho do nome do documento
Sequência de texto Número de bytes codificados em UTF-8 + 1

Por exemplo, um campo booleano chamado done usaria 6 bytes:

  • 5 bytes para o nome do campo done
  • 1 byte para o valor booleano

Tamanho do documento

O tamanho de um documento é a soma de:

Este exemplo é para um documento na subcoleção users/jeff/tasks com um ID de documento de string my_task_id :

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

O tamanho total dos campos é de 71 bytes:

Nome e valor do campo Tamanho do campo em bytes
"type": "Personal" 14
5 para o nome do campo + 9 para o valor da string do campo
"done": false 6
5 para o nome do campo + 1 para o valor booleano do campo
"priority": 1 17
9 para o nome do campo + 8 para o valor inteiro do campo
"description": "Learn Cloud Firestore" 34
12 para o nome do campo + 22 para o valor da string do campo

Portanto, o tamanho do documento é 44 + 71 + 32 = 147 bytes:

  • 44 bytes para o nome do documento
  • 71 bytes para os campos
  • 32 bytes adicionais

Tamanho da entrada do índice

Os tamanhos de entrada de índice são calculados da seguinte forma para índices de campo único e compostos.

Tamanho da entrada do índice de campo único

O tamanho de uma entrada de índice de campo único depende se um índice tem como escopo uma coleção ou um grupo de coleções.

Escopo da coleção

O tamanho de uma entrada em um índice de campo único com escopo de coleção é a soma de:

Considere um documento na subcoleção users/jeff/tasks com um ID de documento de string my_task_id :

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Para um índice de campo único com escopo de coleção que indexa o campo done , o tamanho total da entrada nesse índice é de 109 bytes:

  • 44 bytes para o nome do documento users/jeff/tasks/my_task_id
  • 27 bytes para o nome do documento pai users/jeff
  • 5 bytes para o nome do campo done
  • 1 byte para o valor do campo booleano
  • 32 bytes adicionais

Escopo do grupo de coleções

O tamanho de uma entrada em um índice de campo único com escopo de grupo de coleções é a soma de:

Considere um documento na subcoleção users/jeff/tasks com um ID de documento de string my_task_id :

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Para um índice de campo único com escopo de grupo de coleções que indexa o campo done , o tamanho total da entrada nesse índice é de 98 bytes:

  • 44 bytes para o nome do documento users/jeff/tasks/my_task_id
  • 5 bytes para o nome do campo done
  • 1 byte para o valor do campo booleano
  • 48 bytes adicionais

Tamanho da entrada do índice composto

O tamanho de uma entrada em um índice composto depende se o índice tem como escopo uma coleção ou um grupo de coleções.

Escopo da coleção

O tamanho de uma entrada de índice em um índice composto com escopo de coleção é a soma de:

Considere um documento na subcoleção users/jeff/tasks com um ID de documento de string my_task_id :

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Para um índice composto com escopo de coleção que indexa os campos done e priority (ambos crescentes), o tamanho total da entrada neste índice é de 112 bytes:

  • 44 bytes para o nome do documento users/jeff/tasks/my_task_id
  • 27 bytes para o nome do documento pai users/jeff
  • 1 byte para o valor do campo booleano
  • 8 bytes para o valor do campo inteiro
  • 32 bytes adicionais

Escopo do grupo de coleções

O tamanho de uma entrada de índice em um índice composto com escopo de grupo de coleções é a soma de:

Considere um documento na subcoleção users/jeff/tasks com um ID de documento de string my_task_id :

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Para um índice composto com escopo de grupo de coleção que indexa os campos done e priority (ambos crescentes), o tamanho total da entrada do índice neste índice é de 85 bytes:

  • 44 bytes para o nome do documento users/jeff/tasks/my_task_id
  • 1 byte para o valor do campo booleano
  • 8 bytes para o valor do campo inteiro
  • 32 bytes adicionais

Qual é o próximo

Saiba mais sobre os preços do Cloud Firestore .