Cálculos de 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 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
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
Null 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 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:

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:

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:

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:

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

¿Qué sigue?

Más información sobre los precios de Cloud Firestore.