Ir a la consola

Cálculos de tamaño de almacenamiento

Esta página describe el tamaño de almacenamiento de documentos, nombres de documentos, campos y entradas de índices en Cloud Firestore.

Puedes obtener más información sobre los costos de este almacenamiento en Precios de Cloud Firestore.

Tamaño de una 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
Matriz La suma de los tamaños de sus valores
Booleano 1 byte
Bytes Longitud de bytes
Fecha y hora 8 bytes
Número de coma 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

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:

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 70 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" 33
12 para el nombre del campo + 21 para el valor de string del campo

Por lo tanto, el tamaño del documento es de 44 + 70 + 32 = 146 bytes:

  • 44 bytes para el nombre del documento
  • 70 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 índice de campo único es la suma de lo siguiente:

Por ejemplo, tome el 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"

Si done es un campo indexado, el tamaño de la entrada automática del índice para el índice del campo único done es 109 bytes y consta de lo siguiente:

  • 44 bytes para el nombre del documento users/jeff/tasks/my_task_id
  • 27 bytes para el nombre de documento del documento superior users/jeff
  • 5 bytes para el nombre del campo done
  • 1 byte para el valor de campo booleano
  • 32 bytes adicionales

Según la configuración predeterminada, Cloud Firestore define dos índices de campos únicos automáticamente para cada campo de cada documento, uno en orden ascendente y otro en orden descendente. Por lo tanto, este documento tendría una entrada del índice de 109 bytes en el índice de campo único done en orden ascendente, y tendría una entrada del índice de 109 bytes en el índice de campo único done en orden descendente.

Tamaño de entrada de índice compuesto

El tamaño de la entrada del índice compuesto es la suma de lo siguiente:

Por ejemplo, tome el 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"

Considere un índice compuesto que use los campos done y priority (ambos ascendentes). El tamaño total de la entrada del índice 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

¿Qué sigue?

Obtén información sobre los precios de Cloud Firestore.