Cálculos del tamaño de almacenamiento
En esta página, se describe el tamaño de almacenamiento de documentos, nombres de documentos, campos y entradas de índices en Firestore.
Puedes obtener más información sobre los costos de este almacenamiento en Precios de Firestore.Tamaño de la string
Los tamaños de strings se calculan como la cantidad de bytes con codificación UTF-8 más 1.
Los siguientes se almacenan como strings:
- ID de colección
- ID de documento de string
- Nombres de documentos
- Nombres de campos
- Valores de campo de string
Por ejemplo:
- El ID de colección
tasks
usa 5 bytes + 1 byte, para un total de 6 bytes. - El nombre de campo
description
usa 11 bytes + 1 byte, para un total de 12 bytes.
Tamaño de ID de documento
El tamaño de ID de un documento es el tamaño de string para un ID de string, o bien 8 bytes para un ID de número entero.
Tamaño de un nombre de documento
El tamaño de un nombre de documento es la suma de lo siguiente:
- El tamaño de cada ID de colección e ID de documento en la ruta del documento
- 16 bytes adicionales
En el caso de un documento en la subcolección, users/jeff/tasks
con un ID de documento de string de my_task_id
, el tamaño del nombre del documento es 6 + 5 + 6 + 11 + 16 = 44 bytes:
- 6 bytes para el ID de colección
users
- 5 bytes para el ID de documento
jeff
- 6 bytes para el ID de colección
tasks
- 11 bytes para el ID de documento
my_task_id
- 16 bytes adicionales
Tamaño del valor de campo
La siguiente tabla muestra el tamaño de los valores de campo por tipo.
Tipo | Tamaño |
---|---|
Array | La suma de los tamaños de sus valores |
Booleano | 1 byte |
Bytes | Longitud de bytes |
Fecha y hora | 8 bytes |
Número de punto flotante | 8 bytes |
Punto geográfico | 16 bytes |
Entero | 8 bytes |
Mapa | El tamaño del mapa, calculado de la misma manera que el tamaño del documento |
Nulo | 1 byte |
Referencia | El tamaño del nombre del documento |
String de texto | Cantidad de bytes con codificación UTF-8 + 1 |
Vector | 8 bytes por dimensión |
Por ejemplo, un campo booleano llamado done
usaría 6 bytes:
- 5 bytes para el nombre del campo
done
- 1 byte para el valor booleano
Tamaño de un documento
El tamaño de un documento es la suma de lo siguiente:
- El tamaño del nombre del documento
- La suma del tamaño de string de cada nombre de campo
- La suma del tamaño de cada valor de campo
- 32 bytes adicionales
Este ejemplo corresponde a un documento en la subcolección users/jeff/tasks
con un ID de documento de string de my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
El tamaño total de los campos es de 71 bytes:
Valor y nombre del campo | Tamaño del campo en bytes |
---|---|
"type": "Personal" |
14 5 para el nombre del campo + 9 para el valor de string del campo |
"done": false |
6 5 para el nombre del campo + 1 para el valor booleano del campo |
"priority": 1 |
17 9 para el nombre del campo + 8 para el valor de número entero del campo |
"description": "Learn Cloud Firestore" |
34 12 para el nombre del campo + 22 para el valor de string del campo |
Por lo tanto, el tamaño del documento es de 44 + 71 + 32 = 147 bytes:
- 44 bytes para el nombre del documento
- 71 bytes para los campos
- 32 bytes adicionales
Tamaño de una entrada del índice
Los tamaños de las entradas del índice se calculan como sigue para los índices de campo único y los compuestos.
Tamaño de entrada de índice de campo único
El tamaño de una entrada de un índice de campo único depende de si el índice tiene alcance de una colección o de un grupo de colecciones.
Alcance de la colección
El tamaño de una entrada en un índice de campo único con el alcance de la colección es la suma de los siguientes elementos:
- El tamaño del nombre de documento del documento indexado
- El tamaño del nombre de documento del documento superior del que se indexó
- El tamaño de string del nombre de campo indexado
- El tamaño del valor de campo indexado
- 32 bytes adicionales
Considera un documento en la subcolección users/jeff/tasks
con un ID de documento de string de my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
En un índice de campo único con alcance de un grupo de colecciones que indexa el campo done
, el tamaño total de la entrada en este índice es de 109 bytes:
- 44 bytes para el nombre del documento
users/jeff/tasks/my_task_id
- 27 bytes para el nombre del documento principal
users/jeff
- 5 bytes para el nombre del campo
done
- 1 byte para el valor de campo booleano
- 32 bytes adicionales
Alcance del grupo de colección
El tamaño de una entrada en un índice de campo único con el alcance del grupo de colección es la suma de los siguientes elementos:
- El tamaño del nombre de documento del documento indexado
- El tamaño de string del nombre de campo indexado
- El tamaño del valor de campo indexado
- 48 bytes adicionales
Considera un documento en la subcolección users/jeff/tasks
con un ID de documento de string de my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
En un índice de campo único con alcance de una colección que indexa el campo done
, el tamaño total de la entrada en este índice es de 98 bytes:
- 44 bytes para el nombre del documento
users/jeff/tasks/my_task_id
- 5 bytes para el nombre del campo
done
- 1 byte para el valor de campo booleano
- 48 bytes adicionales
Tamaño de entrada de índice compuesto
El tamaño de una entrada en un índice compuesto depende de si el índice tiene alcance de una colección o un grupo de colecciones.
Alcance de la colección
El tamaño de una entrada en un índice compuesto con el alcance de la colección es la suma de los siguientes elementos:
- El tamaño del nombre de documento del documento indexado
- El tamaño del nombre de documento del documento superior del que se indexó
- La suma de los valores de campo indexados
- 32 bytes adicionales
Considera un documento en la subcolección users/jeff/tasks
con un ID de documento de string de my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
En un índice compuesto con alcance de un grupo de colecciones que indexa los campos done
y priority
(ambos ascendentes), el tamaño total de la entrada en este índice es de 112 bytes:
- 44 bytes para el nombre del documento
users/jeff/tasks/my_task_id
- 27 bytes para el nombre del documento principal
users/jeff
- 1 byte para el valor de campo booleano
- 8 bytes para el valor de campo de número entero
- 32 bytes adicionales
Alcance del grupo de colección
El tamaño de una entrada en un índice compuesto con el alcance del grupo de colección es la suma de los siguientes elementos:
- El tamaño del nombre de documento del documento indexado
- La suma de los valores de campo indexados
- 32 bytes adicionales
Considera un documento en la subcolección users/jeff/tasks
con un ID de documento de string de my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
En un índice compuesto con alcance de una colección que indexa los campos done
y priority
(ambos ascendentes), el tamaño total de la entrada en este índice es de 85 bytes:
- 44 bytes para el nombre del documento
users/jeff/tasks/my_task_id
- 1 byte para el valor de campo booleano
- 8 bytes para el valor de campo de número entero
- 32 bytes adicionales