Cálculos de tamanho de armazenamento

Nesta página, você verá a descrição do tamanho do armazenamento de documentos, dos nomes de documentos, dos campos e das entradas de índice no Cloud Firestore.

Saiba mais sobre os custos desse armazenamento em Preços do Cloud Firestore.

Tamanho de strings

O tamanho das strings é calculado pelo número de bytes codificados em UTF-8 + 1.

Estes elementos são armazenados como strings:

  • IDs de coleções
  • IDs de documentos de string
  • Nomes de documentos
  • Nomes de campos
  • valores de campos de strings

Por exemplo:

  • O ID de coleção tasks usa 5 bytes + 1, gerando o total de 6 bytes.
  • O nome de campo description usa 11 bytes + 1, gerando o total de 12 bytes.

Tamanho de IDs de documento

O tamanho de um ID de documento é o mesmo da string de um ID de string ou 8 bytes no caso de um ID de número inteiro.

Tamanho dos nomes de documento

O tamanho de um nome de documento é a soma dos seguintes valores:

  • Tamanho de cada ID de coleção e do ID de documento no caminho para o documento
  • 16 bytes extras

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

  • 6 bytes do ID de coleção users
  • 5 bytes do ID de documento jeff
  • 6 bytes do ID de coleção tasks
  • 11 bytes do ID de documento my_task_id
  • 16 bytes extras

Tamanho do valor de campo

Na tabela a seguir, você vê o tamanho dos valores de campo por tipo.

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

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

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

Tamanho do documento

O tamanho de um documento é a soma dos seguintes valores:

Este exemplo é de 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 70 bytes:

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

Assim, o tamanho do documento é 44 + 70 + 32 = 146 bytes:

  • 44 bytes do nome do documento
  • 70 bytes dos campos
  • 32 bytes extras

Tamanho de entradas de índice

O tamanho de entradas de índice é calculado da seguinte forma nos índices de campo único e compostos.

Tamanho da entrada de índice de campo único

O tamanho de uma entrada de índice de campo único depende se o escopo do índice foi delimitado a uma coleção ou a um grupo de coleções.

Escopo da coleção

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

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

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

No caso de um índice de campo único com o escopo delimitado a uma coleção que indexa o campo done, o tamanho total da entrada é de 109 bytes:

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

Escopo do grupo de coleções

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

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

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

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

  • 44 bytes do nome do documento users/jeff/tasks/my_task_id
  • 5 bytes do nome do campo done
  • 1 byte do valor de campo booleano
  • 48 bytes extras

Tamanho da entrada de índice composto

O tamanho de uma entrada em um índice composto depende se o escopo do índice foi delimitado a uma coleção ou a um grupo de coleções.

Escopo da coleção

O tamanho de uma entrada de índice composto com escopo delimitado a uma coleção é a soma dos seguintes itens:

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

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

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

  • 44 bytes do nome do documento users/jeff/tasks/my_task_id
  • 27 bytes do nome do documento pai users/jeff
  • 1 byte do valor de campo booleano
  • 8 bytes do valor de campo de número inteiro
  • 32 bytes extras

Escopo do grupo de coleções

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

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

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

No caso de um índice composto com escopo delimitado a um grupo de coleções que indexa os campos done e priority (ambos crescentes), o tamanho total da entrada é de 85 bytes:

  • 44 bytes do nome do documento users/jeff/tasks/my_task_id
  • 1 byte do valor de campo booleano
  • 8 bytes do valor de campo de número inteiro
  • 32 bytes extras

A seguir

Saiba mais sobre os preços do Cloud Firestore.