Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Cálculos de tamanho de armazenamento

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

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 string

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

Os seguintes são armazenados como strings:

  • IDs de coleção
  • IDs de documento de sequência
  • Nomes de documentos
  • Nomes de campo
  • Valores de campo de string

Por exemplo:

  • As tasks de ID de coleta 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 de um nome de 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 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 de users
  • 5 bytes para o ID do documento jeff
  • 6 bytes para o ID da coleção de 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 do byte
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
Cadeia 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 compostos e de campo único.

Tamanho da entrada de índice de campo único

O tamanho de uma entrada de índice de campo único depende se o escopo de um índice é 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 coleta

O tamanho de uma entrada em um índice de campo único com escopo de grupo de coleta é 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 coleta 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 ascendentes), 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 coleta

O tamanho de uma entrada de índice em um índice composto com escopo de grupo de coleta é 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 coleta que indexa os campos done e priority (ambos crescentes), o tamanho total da entrada de í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 .