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 FirestoreTamanho 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
Exemplo:
- As tasksdo ID da coleção usam 5 bytes + 1 byte, totalizando 6 bytes.
- A descriptiondo nome do campo usa 11 bytes + 1 byte, totalizando 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 do nome do documento
O tamanho de um nome de documento é a soma dos seguintes valores:
- O tamanho de cada ID de coleção e do ID de documento no caminho para o documento
- 16 bytes extras
O tamanho do nome de um documento na subcoleção users/jeff/tasks com um ID de documento de string my_task_id será de 6 + 5 + 6 + 11 + 16 = 44 bytes:
- 6 bytes do ID da coleção de users
- 5 bytes do ID do documento jeff
- 6 bytes do ID da coleção de tasks
- 11 bytes do ID do 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 pontos flutuantes | 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 | 
| Null | 1 byte | 
| Referência | O tamanho do nome do documento | 
| String de texto | Número de bytes codificados em UTF-8 + 1 | 
| Vetor | 8 bytes por dimensão | 
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:
- 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 extras
Este exemplo é para um documento na subcoleção users/jeff/tasks com um ID de documento de string de 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 byte | 
|---|---|
| "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 inteiro do campo | 
| "description": "Learn Cloud Firestore" | 34: 12 do nome do campo + 22 do valor da string do campo | 
Assim, o tamanho do documento é 44 + 71 + 32 = 147 bytes:
- 44 bytes do nome do documento
- 71 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:
- Tamanho do nome do documento indexado
- Tamanho do nome do documento pai do documento indexado
- Tamanho da string do nome do campo indexado
- Tamanho do valor do campo indexado
- 32 bytes extras
Considere um documento na subcoleção users/jeff/tasks com um ID de documento de string de my_task_id:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
O tamanho total da entrada em um índice de campo único com escopo de coleção que indexa o campo done é 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:
- Tamanho do nome do documento indexado
- Tamanho da string do nome do campo indexado
- Tamanho do valor do campo indexado
- 48 bytes extras
Considere um documento na subcoleção users/jeff/tasks com um ID de documento de string de my_task_id:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
O tamanho total da entrada em um índice de campo único com escopo de grupo de coleções que indexa o campo done é 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:
- Tamanho do nome do documento indexado
- Tamanho do nome do documento pai do documento indexado
- A soma dos valores de campo indexados
- 32 bytes extras
Considere um documento na subcoleção users/jeff/tasks com um ID de documento de string de my_task_id:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
O tamanho total da entrada em um índice composto com escopo de coleção que indexa os campos done e priority (ambos crescentes) é 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:
- Tamanho do nome do documento indexado
- A soma dos valores de campo indexados
- 32 bytes extras
Considere um documento na subcoleção users/jeff/tasks com um ID de documento de string de my_task_id:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
O tamanho total da entrada em um índice composto com escopo de grupo coleção que indexa os campos done e priority (ambos crescentes) é 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