Tamanho do armazenamento

Relevante apenas para a edição Enterprise do Cloud Firestore.

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

Saiba mais sobre os custos desse armazenamento na página Preços.

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:

  • Nome da coleção
  • Nomes de campos
  • Valores de campos de string (incluindo _id)

Exemplo:

  • tasks do ID da 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 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
Boolean 1 byte
Dados binários Comprimento do byte + 1 para um subtipo não genérico (diferente de 0)
Data 8 bytes
Duplo 8 bytes
Double128 16 bytes
Inteiro de 64-bit. 4 bytes
Inteiro de 64 bits (longo) 8 bytes
Objeto A soma dos tamanhos de string de cada nome de campo e dos tamanhos de cada valor de campo no objeto incorporado
Chave min. 1 byte
Chave max. 1 byte
Nulo 1 byte
Expressão regular (Comprimento do padrão + 1) + (Comprimento das opções + 1)
Carimbo de data/hora 8 bytes
String Número de bytes codificados em UTF-8 + 1

Por exemplo, um campo booleano denominado 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 é para um documento na coleção tasks:

{
  "_id": "my_task_id",
  "type": "Personal",
  "done": false,
  "priority": 1,
  "description": "Learn Cloud Firestore"
}

O tamanho total dos campos é de 78 bytes:

Nome e valor do campo Tamanho do campo em byte
"_id": "my_task_id" 11 do valor da string do campo
"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 + 4 do valor inteiro de 32 bits do campo
"description": "Learn Cloud Firestore" 34:
12 do nome do campo + 22 do valor da string do campo

Assim, o tamanho do documento é 6 + 78 + 48 = 132 bytes:

  • 6 para o nome da coleção
  • 78 bytes dos campos
  • 48 bytes extras

Tamanho de entradas de índice

O tamanho de uma entrada de índice é a soma dos seguintes itens:

Considere um documento na coleção tasks:

{
  "_id": "my_task_id",
  "type": "Personal",
  "done": false,
  "priority": 1,
  "description": "Learn Cloud Firestore"
}

O tamanho total da entrada em um índice nos campos done e priority (ambos crescentes) é de 70 bytes:

  • 6 bytes do nome da coleção tasks
  • 11 bytes do valor do campo _id
  • 1 byte do valor de campo booleano
  • 4 bytes do valor de campo de número inteiro de 32 bits
  • 48 bytes extras

Para índices esparsos, se um documento não incluir nenhum dos campos, nenhuma entrada de índice será criada. Se um documento contiver pelo menos um dos campos indexados, uma entrada de índice será criada com os campos indexados ausentes definidos como NULL.

A seguir

Saiba mais sobre Preços.