获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

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 índice en Cloud Firestore.

Puede conocer los costos de este almacenamiento en Precios de Cloud Firestore .

Tamaño de cadena

Los tamaños de cadena se calculan como el número de bytes codificados en UTF-8 + 1.

Lo siguiente se almacena como cadenas:

  • ID de colección
  • Identificadores de documentos de cadena
  • Nombres de documentos
  • Nombres de campo
  • Valores de campo de cadena

Por ejemplo:

  • Las tasks de ID de colección utilizan 5 bytes + 1 byte, para un total de 6 bytes.
  • La description del nombre del campo utiliza 11 bytes + 1 byte, para un total de 12 bytes.

Tamaño de la identificación del documento

El tamaño de un identificador de documento es el tamaño de cadena para un identificador de cadena o 8 bytes para un identificador entero.

Tamaño del nombre del documento

El tamaño del nombre de un documento es la suma de:

  • El tamaño de cada ID de colección e ID de documento en la ruta al documento
  • 16 bytes adicionales

Para un documento en la subcolección users/jeff/tasks con un ID de documento de cadena 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 la colección de users
  • 5 bytes para el ID del documento de jeff
  • 6 bytes para el ID de la colección de tasks
  • 11 bytes para el ID del documento my_task_id
  • 16 bytes adicionales

Tamaño del valor del campo

La siguiente tabla muestra el tamaño de los valores de campo por tipo.

Escribe Tamaño
Formación La suma de los tamaños de sus valores.
booleano 1 byte
bytes Longitud de byte
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
cadena de texto Número de bytes codificados en UTF-8 + 1

Por ejemplo, un campo booleano llamado done usaría 6 bytes:

  • 5 bytes para el nombre de campo done
  • 1 byte para el valor booleano

Tamaño del documento

El tamaño de un documento es la suma de:

Este ejemplo es para un documento en la subcolección users/jeff/tasks con una ID de documento de cadena 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:

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

Entonces, 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 entrada de índice

Los tamaños de entrada de índice se calculan de la siguiente manera para índices compuestos y de un solo campo.

Tamaño de entrada de índice de un solo campo

El tamaño de una entrada de índice de un solo campo depende de si un índice tiene como ámbito una colección o un grupo de colecciones.

Alcance de la colección

El tamaño de una entrada en un índice de un solo campo con alcance de colección es la suma de:

Considere un documento en la subcolección users/jeff/tasks con un ID de documento de cadena de my_task_id :

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Para un índice de campo único con alcance 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 de campo done
  • 1 byte para el valor del campo booleano
  • 32 bytes adicionales

Alcance del grupo de colección

El tamaño de una entrada en un índice de campo único con alcance de grupo de colección es la suma de:

Considere un documento en la subcolección users/jeff/tasks con un ID de documento de cadena de my_task_id :

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Para un índice de campo único con alcance de grupo de 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 de campo done
  • 1 byte para el valor del 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 como ámbito una colección o un grupo de colección.

Alcance de la colección

El tamaño de una entrada de índice en un índice compuesto con alcance de colección es la suma de:

Considere un documento en la subcolección users/jeff/tasks con un ID de documento de cadena de my_task_id :

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Para un índice compuesto con alcance 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

Alcance del grupo de colección

El tamaño de una entrada de índice en un índice compuesto con alcance de grupo de colección es la suma de:

Considere un documento en la subcolección users/jeff/tasks con un ID de documento de cadena de my_task_id :

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Para un índice compuesto con ámbito de grupo de colección que indexa los campos done y priority (ambos ascendentes), el tamaño total de la entrada de í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 del campo booleano
  • 8 bytes para el valor del campo entero
  • 32 bytes adicionales

Que sigue

Obtenga información sobre los precios de Cloud Firestore .