Cálculos de tamaño del almacenamiento
En esta página se describe el tamaño de almacenamiento de los documentos, los nombres de los documentos, los campos y las entradas de índice en Firestore.
Puedes consultar los costes de este almacenamiento en la página Precios de Firestore.Tamaño de cadena
El tamaño de las cadenas se calcula como el número de bytes codificados en UTF-8 más 1.
Los siguientes elementos se almacenan como cadenas:
- IDs de colección
- IDs de documento de cadena
- Nombres de los documentos
- Nombres de campos
- Valores de campo de cadena
Por ejemplo:
- El ID de colección
tasks
usa 5 bytes + 1 byte, lo que da un total de 6 bytes. - El nombre de campo
description
usa 11 bytes + 1 byte, lo que da un total de 12 bytes.
Tamaño del ID de documento
El tamaño de un ID de documento es el tamaño de la cadena de un ID de cadena o 8 bytes en el caso de un ID de entero.
Tamaño del nombre del documento
El tamaño del nombre de un documento es la suma de lo siguiente:
- El tamaño de cada ID de colección y de documento en la ruta del documento
- 16 bytes adicionales
En el caso de un documento de la subcolección users/jeff/tasks
con un ID de documento de cadena 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 correspondientes al ID de documento
my_task_id
- 16 bytes adicionales
Tamaño del valor del campo
En la siguiente tabla se muestra el tamaño de los valores de los campos por tipo.
Tipo | Tamaño |
---|---|
Matriz | La suma de los tamaños de sus valores |
Booleano | 1 byte |
Bytes | Longitud en 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 forma que el tamaño del documento |
Nulo | 1 byte |
Referencia | El tamaño del nombre del documento |
Cadena de texto | Número de bytes codificados en 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 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 la cadena de cada nombre de campo
- La suma del tamaño de cada valor de campo
- 32 bytes adicionales
Este ejemplo corresponde a un documento de la subcolección users/jeff/tasks
con el ID de documento de cadena my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
El tamaño total de los campos es de 71 bytes:
Nombre y valor del campo | Tamaño del campo en bytes |
---|---|
"type": "Personal" |
14 5 para el nombre del campo + 9 para el valor de cadena 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 entero del campo |
"description": "Learn Cloud Firestore" |
34 12 para el nombre del campo + 22 para el valor de cadena del campo |
Por lo tanto, el tamaño del documento es 44 + 71 + 32 = 147 bytes:
- 44 bytes para el nombre del documento
- 71 bytes para los campos
- 32 bytes adicionales
Tamaño de la entrada de índice
El tamaño de las entradas de índice se calcula de la siguiente manera para los índices de campo único y los compuestos.
Tamaño de la entrada de índice de campo único
El tamaño de una entrada de índice de campo único depende de si el índice está acotado a una colección o a un grupo de colecciones.
Permiso de colección
El tamaño de una entrada de un índice de campo único con permiso de colección es la suma de lo siguiente:
- El tamaño del nombre del documento indexado
- El tamaño del nombre del documento del documento principal del documento indexado
- El tamaño de la cadena del nombre del campo indexado
- El tamaño del valor del campo indexado
- 32 bytes adicionales
Imagina un documento de la subcolección users/jeff/tasks
con el ID de documento de cadena my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
En el caso de un índice de campo único con ámbito de colección 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 del campo booleano
- 32 bytes adicionales
Permiso de grupo de colecciones
El tamaño de una entrada de un índice de campo único con el permiso de grupo de colecciones es la suma de lo siguiente:
- El tamaño del nombre del documento indexado
- El tamaño de la cadena del nombre del campo indexado
- El tamaño del valor del campo indexado
- 48 bytes adicionales
Imagina un documento de la subcolección users/jeff/tasks
con el ID de documento de cadena my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
En el caso de un índice de un solo campo con el permiso de grupo de colecciones 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 del campo booleano
- 48 bytes adicionales
Tamaño de las entradas de índices compuestos
El tamaño de una entrada de un índice compuesto depende de si el índice se limita a una colección o a un grupo de colecciones.
Permiso de colección
El tamaño de una entrada de índice en un índice compuesto con ámbito de colección es la suma de lo siguiente:
- El tamaño del nombre del documento indexado
- El tamaño del nombre del documento del documento principal del documento indexado
- La suma de los valores de campo indexados
- 32 bytes adicionales
Imagina un documento de la subcolección users/jeff/tasks
con el ID de documento de cadena my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
En el caso de un índice compuesto con ámbito de colección 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 del campo booleano
- 8 bytes para el valor del campo entero
- 32 bytes adicionales
Permiso de grupo de colecciones
El tamaño de una entrada de índice en un índice compuesto con permiso de grupo de colecciones es la suma de lo siguiente:
- El tamaño del nombre del documento indexado
- La suma de los valores de campo indexados
- 32 bytes adicionales
Imagina un documento de la subcolección users/jeff/tasks
con el ID de documento de cadena my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
En el caso de un índice compuesto con ámbito de grupo de colecciones que indexa los campos done
y priority
(ambos ascendentes), el tamaño total de la entrada de índice es de 85 bytes:
- 44 bytes para el nombre del documento
users/jeff/tasks/my_task_id
- 1 byte para el valor del campo booleano
- 8 bytes para el valor del campo entero
- 32 bytes adicionales