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:
- O tamanho do nome do documento
- A soma do tamanho da string de cada nome de campo
- A soma do tamanho de cada valor de campo
- 32 bytes adicionais
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:
- O tamanho do nome do documento indexado
- O tamanho do nome do documento pai do documento indexado
- O tamanho da string do nome do campo indexado
- O tamanho do valor do campo indexado
- 32 bytes adicionais
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:
- O tamanho do nome do documento indexado
- O tamanho da string do nome do campo indexado
- O tamanho do valor do campo indexado
- 48 bytes adicionais
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:
- O tamanho do nome do documento indexado
- O tamanho do nome do documento pai do documento indexado
- A soma dos valores dos campos indexados
- 32 bytes adicionais
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:
- O tamanho do nome do documento indexado
- A soma dos valores dos campos indexados
- 32 bytes adicionais
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