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 :
- La taille du nom du document
- La somme de la taille de chaîne de chaque nom de champ
- La somme de la taille de chaque valeur de champ
- 32 octets supplémentaires
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 :
- La taille du nom du document indexé
- La taille du nom de document du document parent du document indexé
- La taille de la chaîne du nom du champ indexé
- La taille de la valeur du champ indexé
- 32 octets supplémentaires
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 :
- La taille du nom du document indexé
- La taille de la chaîne du nom du champ indexé
- La taille de la valeur du champ indexé
- 48 octets supplémentaires
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 :
- La taille du nom du document indexé
- La taille du nom de document du document parent du document indexé
- La somme des valeurs des champs indexés
- 32 octets supplémentaires
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 :
- La taille du nom du document indexé
- La somme des valeurs des champs indexés
- 32 octets supplémentaires
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