Calculs de taille de stockage

Cette page décrit la taille de stockage des documents, les noms de documents, les champs et les entrées d'index dans Cloud Firestore.

Vous pouvez en savoir plus sur les coûts de ce stockage sur Tarifs Cloud Firestore .

Taille de la chaîne

La taille des chaînes est calculée comme le nombre d’octets codés en UTF-8 + 1.

Les éléments suivants sont stockés sous forme de chaînes :

  • ID de collection
  • Chaîne d'ID de document
  • Noms des documents
  • Noms des champs
  • Valeurs des champs de chaîne

Par exemple:

  • Les tasks d'ID de collection utilisent 5 octets + 1 octet, pour un total de 6 octets.
  • La description du nom de champ utilise 11 octets + 1 octet, pour un total de 12 octets.

Taille de l'identifiant du document

La taille d'un ID de document est soit la taille d'une chaîne pour un ID de chaîne, soit 8 octets pour un ID entier.

Taille du nom du document

La taille d'un nom de document est la somme de :

  • La taille de chaque ID de collection et ID de document dans le chemin d'accès au document
  • 16 octets supplémentaires

Pour un document de la sous-collection users/jeff/tasks avec une chaîne d'ID de document my_task_id , la taille du nom du document est de 6 + 5 + 6 + 11 + 16 = 44 octets :

  • 6 octets pour l'ID de collection users
  • 5 octets pour l'ID du document jeff
  • 6 octets pour l'ID de collection tasks
  • 11 octets pour l'ID du document my_task_id
  • 16 octets supplémentaires

Taille de la valeur du champ

Le tableau suivant montre la taille des valeurs de champ par type.

Taper Taille
Tableau La somme des tailles de ses valeurs
Booléen 1 octet
Octets Longueur d'octet
Date et l'heure 8 octets
Nombre à virgule flottante 8 octets
Point géographique 16 octets
Entier 8 octets
Carte La taille de la carte, calculée de la même manière que la taille du document
Nul 1 octet
Référence La taille du nom du document
Chaîne de texte Nombre d'octets codés en UTF-8 + 1

Par exemple, un champ booléen nommé done utiliserait 6 octets :

  • 5 octets pour le nom du champ done
  • 1 octet pour la valeur booléenne

Taille du document

La taille d'un document est la somme de :

Cet exemple concerne un document dans la sous-collection users/jeff/tasks avec une chaîne ID de document my_task_id :

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

La taille totale des champs est de 71 octets :

Nom et valeur du champ Taille du champ en octets
"type": "Personal" 14
5 pour le nom du champ + 9 pour la valeur de chaîne du champ
"done": false 6
5 pour le nom du champ + 1 pour la valeur booléenne du champ
"priority": 1 17
9 pour le nom du champ + 8 pour la valeur entière du champ
"description": "Learn Cloud Firestore" 34
12 pour le nom du champ + 22 pour la valeur de chaîne du champ

La taille du document est donc de 44 + 71 + 32 = 147 octets :

  • 44 octets pour le nom du document
  • 71 octets pour les champs
  • 32 octets supplémentaires

Taille de l'entrée d'index

Les tailles d’entrée d’index sont calculées comme suit pour les index à champ unique et composites.

Taille de l'entrée d'index à champ unique

La taille d'une entrée d'index à champ unique dépend du fait qu'un index est limité à une collection ou à un groupe de collections.

Périmètre de la collecte

La taille d'une entrée dans un index à champ unique avec une portée de collection est la somme de :

Considérons un document dans la sous-collection users/jeff/tasks avec une chaîne ID de document my_task_id :

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

Pour un index à champ unique avec une portée de collection qui indexe le champ done , la taille totale de l'entrée dans cet index est de 109 octets :

  • 44 octets pour le nom du document users/jeff/tasks/my_task_id
  • 27 octets pour le nom du document parent users/jeff
  • 5 octets pour le nom du champ done
  • 1 octet pour la valeur du champ booléen
  • 32 octets supplémentaires

Portée du groupe de collecte

La taille d'une entrée dans un index à champ unique avec une portée de groupe de collecte est la somme de :

Considérons un document dans la sous-collection users/jeff/tasks avec une chaîne ID de document my_task_id :

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

Pour un index à champ unique avec une portée de groupe de collecte qui indexe le champ done , la taille totale de l'entrée dans cet index est de 98 octets :

  • 44 octets pour le nom du document users/jeff/tasks/my_task_id
  • 5 octets pour le nom du champ done
  • 1 octet pour la valeur du champ booléen
  • 48 octets supplémentaires

Taille de l'entrée de l'index composite

La taille d'une entrée dans un index composite dépend du fait que l'index soit étendu à une collection ou à un groupe de collections.

Périmètre de la collecte

La taille d'une entrée d'index dans un index composite avec portée de collection est la somme de :

Considérons un document dans la sous-collection users/jeff/tasks avec une chaîne ID de document my_task_id :

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

Pour un index composite avec une portée de collection qui indexe les champs done et priority (tous deux croissants), la taille totale de l'entrée dans cet index est de 112 octets :

  • 44 octets pour le nom du document users/jeff/tasks/my_task_id
  • 27 octets pour le nom du document parent users/jeff
  • 1 octet pour la valeur du champ booléen
  • 8 octets pour la valeur du champ entier
  • 32 octets supplémentaires

Portée du groupe de collecte

La taille d'une entrée d'index dans un index composite avec une portée de groupe de collection est la somme de :

Considérons un document dans la sous-collection users/jeff/tasks avec une chaîne ID de document my_task_id :

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

Pour un index composite avec une portée de groupe de collecte qui indexe les champs done et priority (tous deux croissants), la taille totale de l'entrée d'index dans cet index est de 85 octets :

  • 44 octets pour le nom du document users/jeff/tasks/my_task_id
  • 1 octet pour la valeur du champ booléen
  • 8 octets pour la valeur du champ entier
  • 32 octets supplémentaires

Et après

Découvrez les tarifs de Cloud Firestore .